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
12 #include "../os_zlib/os_zlib.h"
14 Suite *test_suite(void);
16 #define TEST_STRING_1 "Hello World!"
17 #define TEST_STRING_2 "Test hello \n test \t test \r World\n"
18 #define BUFFER_LENGTH 200
20 START_TEST(test_success1)
22 char buffer[BUFFER_LENGTH];
23 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
25 ck_assert_uint_ne(i1, 0);
27 char buffer2[BUFFER_LENGTH];
28 unsigned long int i2 = os_zlib_uncompress(buffer, buffer2, i1, BUFFER_LENGTH);
30 ck_assert_uint_ne(i2, 0);
31 ck_assert_str_eq(buffer2, TEST_STRING_1);
35 START_TEST(test_success2)
37 char buffer[BUFFER_LENGTH];
38 unsigned long int i1 = os_zlib_compress(TEST_STRING_2, buffer, strlen(TEST_STRING_2), BUFFER_LENGTH);
40 ck_assert_uint_ne(i1, 0);
42 char buffer2[BUFFER_LENGTH];
43 unsigned long int i2 = os_zlib_uncompress(buffer, buffer2, i1, BUFFER_LENGTH);
45 ck_assert_uint_ne(i2, 0);
46 ck_assert_str_eq(buffer2, TEST_STRING_2);
50 START_TEST(test_failcompress1)
52 char buffer[BUFFER_LENGTH];
53 unsigned long int i1 = os_zlib_compress(NULL, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
54 ck_assert_uint_eq(i1, 0);
58 START_TEST(test_failcompress2)
60 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, NULL, strlen(TEST_STRING_1), BUFFER_LENGTH);
61 ck_assert_uint_eq(i1, 0);
65 START_TEST(test_failcompress3)
67 char buffer[BUFFER_LENGTH];
68 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), 0);
69 ck_assert_uint_eq(i1, 0);
73 START_TEST(test_failuncompress1)
75 char buffer[BUFFER_LENGTH];
76 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
77 ck_assert_uint_ne(i1, 0);
79 char buffer2[BUFFER_LENGTH];
80 unsigned long int i2 = os_zlib_uncompress(NULL, buffer2, i1, BUFFER_LENGTH);
81 ck_assert_uint_eq(i2, 0);
85 START_TEST(test_failuncompress2)
87 char buffer[BUFFER_LENGTH];
88 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
89 ck_assert_uint_ne(i1, 0);
91 unsigned long int i2 = os_zlib_uncompress(buffer, NULL, i1, BUFFER_LENGTH);
92 ck_assert_uint_eq(i2, 0);
96 START_TEST(test_failuncompress3)
98 char buffer[BUFFER_LENGTH];
99 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
100 ck_assert_uint_ne(i1, 0);
102 char buffer2[BUFFER_LENGTH];
103 unsigned long int i2 = os_zlib_uncompress(buffer, buffer2, 0, BUFFER_LENGTH);
104 ck_assert_uint_eq(i2, 0);
108 START_TEST(test_failuncompress4)
110 char buffer[BUFFER_LENGTH];
111 unsigned long int i1 = os_zlib_compress(TEST_STRING_1, buffer, strlen(TEST_STRING_1), BUFFER_LENGTH);
112 ck_assert_uint_ne(i1, 0);
114 char buffer2[BUFFER_LENGTH];
115 unsigned long int i2 = os_zlib_uncompress(buffer, buffer2, i1, 0);
116 ck_assert_uint_eq(i2, 0);
121 Suite *test_suite(void)
123 Suite *s = suite_create("os_zlib");
126 TCase *tc_core = tcase_create("Core");
127 tcase_add_test(tc_core, test_success1);
128 tcase_add_test(tc_core, test_success2);
129 tcase_add_test(tc_core, test_failcompress1);
130 tcase_add_test(tc_core, test_failcompress2);
131 tcase_add_test(tc_core, test_failcompress3);
132 tcase_add_test(tc_core, test_failuncompress1);
133 tcase_add_test(tc_core, test_failuncompress2);
134 tcase_add_test(tc_core, test_failuncompress3);
135 tcase_add_test(tc_core, test_failuncompress4);
136 suite_add_tcase(s, tc_core);
143 Suite *s = test_suite();
144 SRunner *sr = srunner_create(s);
145 srunner_run_all(sr, CK_NORMAL);
146 int number_failed = srunner_ntests_failed(sr);
149 return ((number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE);