diff options
Diffstat (limited to 'tests/assertions.c')
-rw-r--r-- | tests/assertions.c | 307 |
1 files changed, 0 insertions, 307 deletions
diff --git a/tests/assertions.c b/tests/assertions.c deleted file mode 100644 index 0e14a2b..0000000 --- a/tests/assertions.c +++ /dev/null @@ -1,307 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "lily-test.h" -#include "tests.h" - -const char *test_LILY_LOCATION() -{ - // if you move this line, you MUST update the expected string! - const char *location = LILY_LOCATION; - int diff = strcmp(location, "tests/assertions.c:11"); - if (diff != 0) - return "LILY_LOCATION did not resolve correctly!"; - - return 0; -} - - -/* overarching assert function */ -const char *test_assert_msg() -{ - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_msg(true, LILY_LOCATION, "should not fail!"); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - - if (passed_thru == 0) { - passed_thru = 1; - // another line that you SHOULD NOT MOVE! - lily_assert_msg(false, LILY_LOCATION, "%s %s!", "should", "fail"); - return "false assertion incorrectly succeeded!"; - } - else { - if (strcmp(_lily_globals.error_msg, "should fail!") != 0) - return "false assertion produced incorrect error message!"; - if (strcmp(_lily_globals.error_location, "tests/assertions.c:37")) - return "false assertion produced incorrect error location!"; - } - - free(_lily_globals.error_msg); - return 0; -} - - -/* basic asserts */ -const char *test_assert_true() -{ - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_true(true); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - - if (passed_thru == 0) { - passed_thru = 1; - lily_assert_true(false); - return "false assertion incorrectly succeeded!"; - } - else { - if (strcmp(_lily_globals.error_msg, "false is not true") != 0) - return "false assertion produced incorrect error message!"; - } - - free(_lily_globals.error_msg); - return 0; -} - - -const char *test_assert_false() -{ - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_false(false); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - - if (passed_thru == 0) { - passed_thru = 1; - lily_assert_false(true); - return "false assertion incorrectly succeeded!"; - } - else { - if (strcmp(_lily_globals.error_msg, "true is not false") != 0) - return "false assertion produced incorrect error message!"; - } - - free(_lily_globals.error_msg); - return 0; -} - - -/* pointer assertions */ -const char *test_assert_not_null() -{ - int a = 5; - - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_not_null(&a); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - - int *ptr = NULL; - - if (passed_thru == 0) { - passed_thru = 1; - lily_assert_not_null(ptr); - return "false assertion incorrectly succeeded!"; - } - else { - if (strcmp(_lily_globals.error_msg, "ptr is NULL") != 0) - return "false assertion produced incorrect error message!"; - } - - free(_lily_globals.error_msg); - return 0; -} - - -const char *test_assert_null() -{ - int a = 5; - int *ptr = NULL; - - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_null(ptr); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - - if (passed_thru == 0) { - passed_thru = 1; - lily_assert_null(&a); - return "false assertion incorrectly succeeded!"; - } - else { - char buf[256]; - sprintf(buf, "&a (%p) is not NULL", &a); - if (strcmp(_lily_globals.error_msg, buf) != 0) - return "false assertion produced incorrect error message!"; - } - - free(_lily_globals.error_msg); - return 0; -} - - -const char *test_assert_ptr_equal() -{ - int a = 0; - int b = 0; - int *ptr = &a; - - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_ptr_equal(&a, ptr); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - ptr = &b; - - if (passed_thru == 0) { - passed_thru = 1; - lily_assert_ptr_equal(&a, ptr); - return "false assertion incorrectly succeeded!"; - } - else { - char buf[256]; - sprintf(buf, "&a (%p) is not equal to ptr (%p)", &a, &b); - if (strcmp(_lily_globals.error_msg, buf) != 0) - return "false assertion produced incorrect error message!"; - } - - free(_lily_globals.error_msg); - return 0; -} - - -const char *test_assert_ptr_not_equal() -{ - int a = 0; - int b = 0; - int *ptr = &b; - - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_ptr_not_equal(&a, ptr); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - ptr = &a; - - if (passed_thru == 0) { - passed_thru = 1; - lily_assert_ptr_not_equal(&a, ptr); - return "false assertion incorrectly succeeded!"; - } - else { - char buf[256]; - sprintf(buf, "&a (%p) is equal to ptr", &a); - if (strcmp(_lily_globals.error_msg, buf) != 0) - return "false assertion produced incorrect error message!"; - } - - free(_lily_globals.error_msg); - return 0; -} - - -/* integer assertions */ -const char *test_assert_int_equal() -{ - int a = 56; - int b = 56; - - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_int_equal(a, b); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - a = 25; - - if (passed_thru == 0) { - passed_thru = 1; - lily_assert_int_equal(a, b); - return "false assertion succeeded incorrectly!"; - } - else { - if (strcmp(_lily_globals.error_msg, "a (25) is not equal to b (56)") != 0) - return "false assertion produced incorrect error message!"; - } - - free(_lily_globals.error_msg); - return 0; -} - - -const char *test_assert_int_not_equal() -{ - int a = 25; - int b = 26; - - int val = setjmp(_lily_globals.env); - if (val != 0) - return "true assertion failed incorrectly!"; - - lily_assert_int_not_equal(a, b); - - int passed_thru = 0; - _lily_globals.error_msg = NULL; - _lily_globals.error_location = ""; - val = setjmp(_lily_globals.env); - b = 25; - - if (passed_thru == 0) { - passed_thru = 1; - lily_assert_int_not_equal(a, b); - return "false assertion incorrectly succeeded!"; - } - else { - if (strcmp(_lily_globals.error_msg, "a (25) is equal to b") != 0) - return "false assertion produced incorrect error message!"; - } - - free(_lily_globals.error_msg); - return 0; -} |