mirror of git://sourceware.org/git/glibc.git
				
				
				
			
		
			
				
	
	
		
			83 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
| #include <sched.h>
 | |
| #include <stdio.h>
 | |
| 
 | |
| static int
 | |
| do_test (void)
 | |
| {
 | |
|   int result = 0;
 | |
| 
 | |
|   cpu_set_t s1;
 | |
|   cpu_set_t s2;
 | |
|   cpu_set_t s3;
 | |
| 
 | |
|   CPU_ZERO (&s1);
 | |
|   CPU_SET (0, &s1);
 | |
| 
 | |
|   CPU_ZERO (&s2);
 | |
|   CPU_SET (0, &s2);
 | |
|   CPU_SET (1, &s2);
 | |
| 
 | |
|   CPU_AND (&s3, &s1, &s2);
 | |
|   if (! CPU_EQUAL (&s3, &s1))
 | |
|     {
 | |
|       puts ("result of CPU_AND wrong");
 | |
|       result = 1;
 | |
|     }
 | |
| 
 | |
|   CPU_OR (&s3, &s1, &s2);
 | |
|   if (! CPU_EQUAL (&s3, &s2))
 | |
|     {
 | |
|       puts ("result of CPU_OR wrong");
 | |
|       result = 1;
 | |
|     }
 | |
| 
 | |
|   CPU_XOR (&s3, &s1, &s2);
 | |
|   if (CPU_COUNT (&s3) != 1)
 | |
|     {
 | |
|       puts ("result of CPU_XOR wrong");
 | |
|       result = 1;
 | |
|     }
 | |
| 
 | |
|   cpu_set_t *vs1 = CPU_ALLOC (2048);
 | |
|   cpu_set_t *vs2 = CPU_ALLOC (2048);
 | |
|   cpu_set_t *vs3 = CPU_ALLOC (2048);
 | |
|   size_t vssize = CPU_ALLOC_SIZE (2048);
 | |
| 
 | |
|   CPU_ZERO_S (vssize, vs1);
 | |
|   CPU_SET_S (0, vssize, vs1);
 | |
| 
 | |
|   CPU_ZERO_S (vssize, vs2);
 | |
|   CPU_SET_S (0, vssize, vs2);
 | |
|   CPU_SET_S (2047, vssize, vs2);
 | |
| 
 | |
|   CPU_AND_S (vssize, vs3, vs1, vs2);
 | |
|   if (! CPU_EQUAL_S (vssize, vs3, vs1))
 | |
|     {
 | |
|       puts ("result of CPU_AND_S wrong");
 | |
|       result = 1;
 | |
|     }
 | |
| 
 | |
|   CPU_OR_S (vssize, vs3, vs1, vs2);
 | |
|   if (! CPU_EQUAL_S (vssize, vs3, vs2))
 | |
|     {
 | |
|       puts ("result of CPU_OR_S wrong");
 | |
|       result = 1;
 | |
|     }
 | |
| 
 | |
|   CPU_XOR_S (vssize, vs3, vs1, vs2);
 | |
|   if (CPU_COUNT_S (vssize, vs3) != 1)
 | |
|     {
 | |
|       puts ("result of CPU_XOR_S wrong");
 | |
|       result = 1;
 | |
|     }
 | |
| 
 | |
|   CPU_FREE (vs1);
 | |
|   CPU_FREE (vs2);
 | |
|   CPU_FREE (vs3);
 | |
| 
 | |
|   return result;
 | |
| }
 | |
| 
 | |
| #define TEST_FUNCTION do_test ()
 | |
| #include "../test-skeleton.c"
 |