]>
Commit | Line | Data |
---|---|---|
44f08a6e UD |
1 | #include <sched.h> |
2 | #include <stdio.h> | |
3 | ||
4 | static int | |
5 | do_test (void) | |
6 | { | |
7 | int result = 0; | |
8 | ||
9 | cpu_set_t s1; | |
10 | cpu_set_t s2; | |
11 | cpu_set_t s3; | |
12 | ||
13 | CPU_ZERO (&s1); | |
14 | CPU_SET (0, &s1); | |
15 | ||
16 | CPU_ZERO (&s2); | |
17 | CPU_SET (0, &s2); | |
18 | CPU_SET (1, &s2); | |
19 | ||
20 | CPU_AND (&s3, &s1, &s2); | |
21 | if (! CPU_EQUAL (&s3, &s1)) | |
22 | { | |
23 | puts ("result of CPU_AND wrong"); | |
24 | result = 1; | |
25 | } | |
26 | ||
27 | CPU_OR (&s3, &s1, &s2); | |
28 | if (! CPU_EQUAL (&s3, &s2)) | |
29 | { | |
30 | puts ("result of CPU_OR wrong"); | |
31 | result = 1; | |
32 | } | |
33 | ||
34 | CPU_XOR (&s3, &s1, &s2); | |
35 | if (CPU_COUNT (&s3) != 1) | |
36 | { | |
37 | puts ("result of CPU_XOR wrong"); | |
38 | result = 1; | |
39 | } | |
40 | ||
41 | cpu_set_t *vs1 = CPU_ALLOC (2048); | |
42 | cpu_set_t *vs2 = CPU_ALLOC (2048); | |
43 | cpu_set_t *vs3 = CPU_ALLOC (2048); | |
44 | size_t vssize = CPU_ALLOC_SIZE (2048); | |
45 | ||
46 | CPU_ZERO_S (vssize, vs1); | |
47 | CPU_SET_S (0, vssize, vs1); | |
48 | ||
49 | CPU_ZERO_S (vssize, vs2); | |
50 | CPU_SET_S (0, vssize, vs2); | |
51 | CPU_SET_S (2047, vssize, vs2); | |
52 | ||
53 | CPU_AND_S (vssize, vs3, vs1, vs2); | |
54 | if (! CPU_EQUAL_S (vssize, vs3, vs1)) | |
55 | { | |
56 | puts ("result of CPU_AND_S wrong"); | |
57 | result = 1; | |
58 | } | |
59 | ||
60 | CPU_OR_S (vssize, vs3, vs1, vs2); | |
61 | if (! CPU_EQUAL_S (vssize, vs3, vs2)) | |
62 | { | |
63 | puts ("result of CPU_OR_S wrong"); | |
64 | result = 1; | |
65 | } | |
66 | ||
67 | CPU_XOR_S (vssize, vs3, vs1, vs2); | |
68 | if (CPU_COUNT_S (vssize, vs3) != 1) | |
69 | { | |
70 | puts ("result of CPU_XOR_S wrong"); | |
71 | result = 1; | |
72 | } | |
73 | ||
74 | CPU_FREE (vs1); | |
75 | CPU_FREE (vs2); | |
76 | CPU_FREE (vs3); | |
77 | ||
78 | return result; | |
79 | } | |
80 | ||
81 | #define TEST_FUNCTION do_test () | |
82 | #include "../test-skeleton.c" |