1#include <sys/cdefs.h> 2#include <sys/types.h> 3#include <sys/cpuset.h> 4 5#include <stdio.h> 6#include <libutil.h> 7#include <atf-c.h> 8 9ATF_TC(invalid); 10ATF_TC_HEAD(invalid, tc) 11{ 12 atf_tc_set_md_var(tc, "descr", "Test invalid cpu"); 13} 14 15ATF_TC_BODY(invalid, tc) 16{ 17 cpuset_t mask; 18 char testvalue[BUFSIZ]; 19 20 snprintf(testvalue, sizeof(testvalue), "%d", CPU_SETSIZE + 1); 21 22 ATF_CHECK_EQ(cpuset_parselist(testvalue, &mask), CPUSET_PARSE_INVALID_CPU); 23} 24 25ATF_TC(invalidchar); 26ATF_TC_HEAD(invalidchar, tc) 27{ 28 atf_tc_set_md_var(tc, "descr", "Test invalid char"); 29} 30 31ATF_TC_BODY(invalidchar, tc) 32{ 33 cpuset_t mask; 34 35 ATF_CHECK_EQ(cpuset_parselist("1+3", &mask), CPUSET_PARSE_ERROR); 36} 37 38ATF_TC(all); 39ATF_TC_HEAD(all, tc) 40{ 41 atf_tc_set_md_var(tc, "descr", "Test 'all' special cpu-list"); 42} 43 44ATF_TC_BODY(all, tc) 45{ 46 cpuset_t mask; 47 48 ATF_CHECK_EQ(cpuset_parselist("all", &mask), CPUSET_PARSE_OK); 49} 50 51ATF_TC(normalsyntax); 52ATF_TC_HEAD(normalsyntax, tc) 53{ 54 atf_tc_set_md_var(tc, "descr", "Test normal cpu-list syntax"); 55} 56 57ATF_TC_BODY(normalsyntax, tc) 58{ 59 cpuset_t mask; 60 61 ATF_CHECK_EQ(cpuset_parselist("1-3,6", &mask), CPUSET_PARSE_OK); 62} 63 64ATF_TP_ADD_TCS(tp) 65{ 66 ATF_TP_ADD_TC(tp, invalid); 67 ATF_TP_ADD_TC(tp, invalidchar); 68 ATF_TP_ADD_TC(tp, all); 69 ATF_TP_ADD_TC(tp, normalsyntax); 70 return (atf_no_error()); 71} 72