#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); }