X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;ds=sidebyside;f=ccan%2Fargcheck%2Ftest%2Frun.c;fp=ccan%2Fargcheck%2Ftest%2Frun.c;h=39f1b5297c4ab7562c1f728dc180c31093cc82a9;hb=339178b2247516362d8e0abb263089052c79eb69;hp=0000000000000000000000000000000000000000;hpb=95b59482c1bb18b7904ea60149eff4809dd28d80;p=ccan diff --git a/ccan/argcheck/test/run.c b/ccan/argcheck/test/run.c new file mode 100644 index 00000000..39f1b529 --- /dev/null +++ b/ccan/argcheck/test/run.c @@ -0,0 +1,101 @@ +#include +#include +#include + +#include + +int main(void) +{ + int a = 0; + const int flag = 0x1; + const int invalid_flag = 0x0; + int *ptr = NULL, + *ptr_not_null = &a; + + const char *str = "hello", + *str_zero = "\0", + *str_null = NULL; + + plan_tests(60); + + ok1(!argcheck_int_eq(a, 1)); + ok1(argcheck_int_eq(a, 0)); + + ok1(!argcheck_int_ne(a, 0)); + ok1(argcheck_int_ne(a, 10)); + + ok1(!argcheck_int_ge(a, 1)); + ok1(argcheck_int_ge(a, 0)); + ok1(argcheck_int_ge(a, -1)); + + ok1(!argcheck_int_gt(a, 1)); + ok1(!argcheck_int_gt(a, 0)); + ok1(argcheck_int_gt(a, -1)); + + ok1(!argcheck_int_le(a, -1)); + ok1(argcheck_int_le(a, 0)); + ok1(argcheck_int_le(a, 1)); + + ok1(!argcheck_int_lt(a, -1)); + ok1(!argcheck_int_lt(a, 0)); + ok1(argcheck_int_lt(a, 1)); + + ok1(!argcheck_int_range(a, 0, -1)); + ok1(!argcheck_int_range(a, -3, -1)); + ok1(argcheck_int_range(a, 0, 1)); + ok1(argcheck_int_range(a, -1, 0)); + + ok1(!argcheck_flag_set(a, invalid_flag)); + ok1(!argcheck_flag_set(a, flag)); + ok1(argcheck_flag_set(a | flag, flag)); + + ok1(!argcheck_flag_unset(a, invalid_flag)); + ok1(!argcheck_flag_unset(a | flag, flag)); + ok1(argcheck_flag_unset(a, flag)); + + ok1(argcheck_ptr_null(ptr)); + ok1(!argcheck_ptr_not_null(ptr)); + ok1(!argcheck_ptr_null(ptr_not_null)); + ok1(argcheck_ptr_not_null(ptr_not_null)); + + ok1(argcheck_str_null(str_null)); + ok1(!argcheck_str_not_null(str_null)); + ok1(!argcheck_str_null(str)); + ok1(argcheck_str_not_null(str)); + ok1(!argcheck_str_null(str_zero)); + ok1(argcheck_str_not_null(str_zero)); + + ok1(!argcheck_str_zero_len(str_null)); + ok1(argcheck_str_zero_len(str_zero)); + ok1(!argcheck_str_zero_len(str)); + + ok1(!argcheck_str_not_zero_len(str_null)); + ok1(!argcheck_str_not_zero_len(str_zero)); + ok1(argcheck_str_not_zero_len(str)); + + ok1(!argcheck_str_min_len(str_null, 1)); + ok1(!argcheck_str_min_len(str_zero, 1)); + ok1(argcheck_str_min_len(str, 1)); + + ok1(!argcheck_str_max_len(str_null, 1)); + ok1(argcheck_str_max_len(str_zero, 1)); + ok1(!argcheck_str_max_len(str, 1)); + + ok1(argcheck_str_null_or_zero_len(str_null)); + ok1(argcheck_str_null_or_zero_len(str_zero)); + ok1(!argcheck_str_null_or_zero_len(str)); + + ok1(argcheck_str_null_or_not_zero_len(str_null)); + ok1(!argcheck_str_null_or_not_zero_len(str_zero)); + ok1(argcheck_str_null_or_not_zero_len(str)); + + ok1(argcheck_str_null_or_min_len(str_null, 1)); + ok1(!argcheck_str_null_or_min_len(str_zero, 1)); + ok1(argcheck_str_null_or_min_len(str, 1)); + + ok1(argcheck_str_null_or_max_len(str_null, 1)); + ok1(argcheck_str_null_or_max_len(str_zero, 1)); + ok1(!argcheck_str_null_or_max_len(str, 1)); + + return exit_status(); +}