assumes.c
1 #define OS_CRASH_ENABLE_EXPERIMENTAL_LIBTRACE 1 2 #include <os/assumes.h> 3 4 #include <darwintest.h> 5 6 void os_crash_function(const char *message); 7 8 static const char *expected_message = NULL; 9 10 void os_crash_function(const char *message) { 11 if (expected_message) { 12 T_ASSERT_EQ_STR(message, expected_message, NULL); 13 T_END; 14 } else { 15 T_PASS("Got crash message: %s", message); 16 T_END; 17 } 18 } 19 20 T_DECL(os_crash_sanity, "sanity check for os_crash") 21 { 22 expected_message = "My AWESOME assertion message."; 23 os_crash(expected_message); 24 } 25 26 extern int two; 27 int two = 2; 28 29 T_DECL(os_assert_no_msg, "sanity check for os_assert w/o a message") 30 { 31 expected_message = "assertion failure: \"two + two == 5\" -> %lld"; 32 os_assert(two + two == 5); 33 } 34 35 #define DOGMA "Today, we celebrate the first glorious anniversary of the Information Purification Directives." 36 T_DECL(os_assert_msg, "sanity check for os_assert with a message") 37 { 38 expected_message = "assertion failure: " DOGMA; 39 os_assert(two + two == 5, DOGMA); 40 }