From 0e16dbc5c78a2715fbbda5cae8a3b422d721b871 Mon Sep 17 00:00:00 2001
From: sanine <sanine.not@pm.me>
Date: Mon, 27 Dec 2021 17:20:55 -0600
Subject: add basic assertions

---
 tests/assertions.c | 29 +++++++++++++++++++++++++++++
 tests/main.c       |  1 +
 tests/tests.h      |  1 +
 3 files changed, 31 insertions(+)

(limited to 'tests')

diff --git a/tests/assertions.c b/tests/assertions.c
index baa0045..0a2875d 100644
--- a/tests/assertions.c
+++ b/tests/assertions.c
@@ -44,3 +44,32 @@ const char *test_assert_msg()
 
    return 0;
 }
+
+
+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!";
+      if (strcmp(_lily_globals.error_location, "tests/assertions.c:64") != 0)
+	 return "false assertion produced incorrect error location!";
+   }
+
+   return 0;
+}
diff --git a/tests/main.c b/tests/main.c
index 0ac74ac..65683ee 100644
--- a/tests/main.c
+++ b/tests/main.c
@@ -12,6 +12,7 @@ int main()
    
    run_test(test_LILY_LOCATION);
    run_test(test_assert_msg);
+   run_test(test_assert_true);
    
    return 0;
 }
diff --git a/tests/tests.h b/tests/tests.h
index 7889445..7962104 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -9,5 +9,6 @@ int validate_message(const char* received, const char* expected,
 // test cases
 const char* test_LILY_LOCATION();
 const char* test_assert_msg();
+const char* test_assert_true();
 
 #endif
-- 
cgit v1.2.1