]> git.saurik.com Git - apple/libc.git/blob - tests/assumes.c
Libc-1244.50.9.tar.gz
[apple/libc.git] / tests / 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 }