49c16a6a80e37398525262415351f53e8d638aa5
[ccan] / ccan / bytestring / test / run.c
1 #include <ccan/bytestring/bytestring.h>
2 #include <ccan/tap/tap.h>
3
4 #define TEST_STRING     "test string"
5 #define TEST_STRING_2   "abc\0def"
6
7 const char str1[] = TEST_STRING;
8 const char *str2 = TEST_STRING;
9
10 int main(void)
11 {
12         struct bytestring bs, bs1, bs2, bs3, bs4;
13
14         /* This is how many tests you plan to run */
15         plan_tests(6);
16
17         bs = bytestring(str1, sizeof(str1) - 1);
18         ok1(bs.ptr == str1);
19         ok1(bs.len == (sizeof(str1) - 1));
20
21         bs1 = BYTESTRING(TEST_STRING);
22         ok1(bytestring_eq(bs, bs1));
23
24         bs2 = BYTESTRING(TEST_STRING_2);
25         ok1(bs2.len == 7);
26
27         bs3 = bytestring_from_string(str2);
28         ok1(bytestring_eq(bs3, bs));
29
30         bs4 = bytestring_from_string(TEST_STRING_2);
31         ok1(bs4.len == 3);
32
33         /* This exits depending on whether all tests passed */
34         return exit_status();
35 }