1 /* Copyright (C) 2014 Trend Micro Inc.
4 * This program is a free software; you can redistribute it
5 * and/or modify it under the terms of the GNU General Public
6 * License (version 2) as published by the FSF - Free Software
13 #include "../os_zlib/os_zlib.h"
15 Suite *test_suite(void);
17 #define TEST_STRING_1 "Hello World!"
18 #define TEST_STRING_2 "Test hello \n test \t test \r World\n"
19 #define BUFFER_LENGTH 200
22 START_TEST(test_success1)
24 char buffer[BUFFER_LENGTH];
25 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
27 ck_assert_uint_ne(i1, 0);
29 char buffer2[BUFFER_LENGTH];
30 unsigned long int i2 = os_zlib_uncompress(buffer, buffer2, i1, BUFFER_LENGTH);
32 ck_assert_uint_ne(i2, 0);
33 ck_assert_str_eq(buffer2, TEST_STRING_1);
37 START_TEST(test_success2)
39 char buffer[BUFFER_LENGTH];
40 unsigned long int i1 = os_zlib_compress(TEST_STRING_2, buffer, strlen(TEST_STRING_2), BUFFER_LENGTH);
42 ck_assert_uint_ne(i1, 0);
44 char buffer2[BUFFER_LENGTH];
45 unsigned long int i2 = os_zlib_uncompress(buffer, buffer2, i1, BUFFER_LENGTH);
47 ck_assert_uint_ne(i2, 0);
48 ck_assert_str_eq(buffer2, TEST_STRING_2);
52 START_TEST(test_failcompress1)
54 char buffer[BUFFER_LENGTH];
55 unsigned long int i1 = os_zlib_compress(NULL, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
56 ck_assert_uint_eq(i1, 0);
60 START_TEST(test_failcompress2)
62 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, NULL, strlen(TEST_STRING_1), BUFFER_LENGTH);
63 ck_assert_uint_eq(i1, 0);
67 START_TEST(test_failcompress3)
69 char buffer[BUFFER_LENGTH];
70 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), 0);
71 ck_assert_uint_eq(i1, 0);
75 START_TEST(test_failuncompress1)
77 char buffer[BUFFER_LENGTH];
78 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
79 ck_assert_uint_ne(i1, 0);
81 char buffer2[BUFFER_LENGTH];
82 unsigned long int i2 = os_zlib_uncompress(NULL, buffer2, i1, BUFFER_LENGTH);
83 ck_assert_uint_eq(i2, 0);
87 START_TEST(test_failuncompress2)
89 char buffer[BUFFER_LENGTH];
90 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
91 ck_assert_uint_ne(i1, 0);
93 unsigned long int i2 = os_zlib_uncompress(buffer, NULL, i1, BUFFER_LENGTH);
94 ck_assert_uint_eq(i2, 0);
98 START_TEST(test_failuncompress3)
100 char buffer[BUFFER_LENGTH];
101 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
102 ck_assert_uint_ne(i1, 0);
104 char buffer2[BUFFER_LENGTH];
105 unsigned long int i2 = os_zlib_uncompress(buffer, buffer2, 0, BUFFER_LENGTH);
106 ck_assert_uint_eq(i2, 0);
110 START_TEST(test_failuncompress4)
112 char buffer[BUFFER_LENGTH];
113 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
114 ck_assert_uint_ne(i1, 0);
116 char buffer2[BUFFER_LENGTH];
117 unsigned long int i2 = os_zlib_uncompress(buffer, buffer2, i1, 0);
118 ck_assert_uint_eq(i2, 0);
123 Suite *test_suite(void)
125 Suite *s = suite_create("os_zlib");
128 TCase *tc_core = tcase_create("Core");
129 tcase_add_test(tc_core, test_success1);
130 tcase_add_test(tc_core, test_success2);
131 tcase_add_test(tc_core, test_failcompress1);
132 tcase_add_test(tc_core, test_failcompress2);
133 tcase_add_test(tc_core, test_failcompress3);
134 tcase_add_test(tc_core, test_failuncompress1);
135 tcase_add_test(tc_core, test_failuncompress2);
136 tcase_add_test(tc_core, test_failuncompress3);
137 tcase_add_test(tc_core, test_failuncompress4);
138 suite_add_tcase(s, tc_core);
145 Suite *s = test_suite();
146 SRunner *sr = srunner_create(s);
147 srunner_run_all(sr, CK_NORMAL);
148 int number_failed = srunner_ntests_failed(sr);
151 return ((number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE);