| #include "clar_test.h" | |
| #include <sys/stat.h> | |
| static int file_size(const char *filename) | |
| { | |
| struct stat st; | |
| if (stat(filename, &st) == 0) | |
| return (int)st.st_size; | |
| return -1; | |
| } | |
| void test_sample__initialize(void) | |
| { | |
| global_test_counter++; | |
| } | |
| void test_sample__cleanup(void) | |
| { | |
| cl_fixture_cleanup("test"); | |
| cl_assert(file_size("test/file") == -1); | |
| } | |
| void test_sample__1(void) | |
| { | |
| cl_assert(1); | |
| cl_must_pass(0); /* 0 == success */ | |
| cl_must_fail(-1); /* <0 == failure */ | |
| cl_must_pass(-1); /* demonstrate a failing call */ | |
| } | |
| void test_sample__2(void) | |
| { | |
| cl_fixture_sandbox("test"); | |
| cl_assert(file_size("test/nonexistent") == -1); | |
| cl_assert(file_size("test/file") > 0); | |
| cl_assert(100 == 101); | |
| } | |
| void test_sample__strings(void) | |
| { | |
| const char *actual = "expected"; | |
| cl_assert_equal_s("expected", actual); | |
| cl_assert_equal_s_("expected", actual, "second try with annotation"); | |
| cl_assert_equal_s_("mismatched", actual, "this one fails"); | |
| } | |
| void test_sample__strings_with_length(void) | |
| { | |
| const char *actual = "expected"; | |
| cl_assert_equal_strn("expected_", actual, 8); | |
| cl_assert_equal_strn("exactly", actual, 2); | |
| cl_assert_equal_strn_("expected_", actual, 8, "with annotation"); | |
| cl_assert_equal_strn_("exactly", actual, 3, "this one fails"); | |
| } | |
| void test_sample__int(void) | |
| { | |
| int value = 100; | |
| cl_assert_equal_i(100, value); | |
| cl_assert_equal_i_(101, value, "extra note on failing test"); | |
| } | |
| void test_sample__int_fmt(void) | |
| { | |
| int value = 100; | |
| cl_assert_equal_i_fmt(022, value, "%04o"); | |
| } | |
| void test_sample__bool(void) | |
| { | |
| int value = 100; | |
| cl_assert_equal_b(1, value); /* test equality as booleans */ | |
| cl_assert_equal_b(0, value); | |
| } | |
| void test_sample__ptr(void) | |
| { | |
| const char *actual = "expected"; | |
| cl_assert_equal_p(actual, actual); /* pointers to same object */ | |
| cl_assert_equal_p(&actual, actual); | |
| } |