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