summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2021-12-26 00:02:04 -0600
committersanine <sanine.not@pm.me>2021-12-26 00:02:04 -0600
commitda39940e9a49016a32ba4f206b63f7045158d54c (patch)
tree942cb178d1ca8fd99c4028cd1d33f172105482c0 /tests
parent9c4bd59002109c850dda3ab79febc17f7f0367e9 (diff)
add test for basic assert
Diffstat (limited to 'tests')
-rw-r--r--tests/assertions.c30
-rw-r--r--tests/main.c1
-rw-r--r--tests/tests.h1
3 files changed, 32 insertions, 0 deletions
diff --git a/tests/assertions.c b/tests/assertions.c
index 5fb5e8d..baa0045 100644
--- a/tests/assertions.c
+++ b/tests/assertions.c
@@ -14,3 +14,33 @@ const char *test_LILY_LOCATION()
return 0;
}
+
+
+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:35"))
+ return "false assertion produced incorrect error location!";
+ }
+
+ return 0;
+}
diff --git a/tests/main.c b/tests/main.c
index 0659713..dbb813c 100644
--- a/tests/main.c
+++ b/tests/main.c
@@ -9,6 +9,7 @@
int main()
{
run_test(test_LILY_LOCATION);
+ run_test(test_assert_msg);
return 0;
}
diff --git a/tests/tests.h b/tests/tests.h
index eab0115..7889445 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -8,5 +8,6 @@ int validate_message(const char* received, const char* expected,
// test cases
const char* test_LILY_LOCATION();
+const char* test_assert_msg();
#endif