SHOW:
|
|
- or go back to the newest paste.
| 1 | #include <stdio.h> | |
| 2 | #include <stdlib.h> | |
| 3 | #include <check.h> | |
| 4 | ||
| 5 | void test_cat(); | |
| 6 | ||
| 7 | #define TEST_CAT(STRING) \ | |
| 8 | { \
| |
| 9 | system("./s21_"STRING" >1"); \
| |
| 10 | system(STRING" >2"); \ | |
| 11 | system("xxd 1 >1.hex"); \
| |
| 12 | system("xxd 2 >2.hex"); \
| |
| 13 | ck_assert_msg(system("diff -s 1.hex 2.hex >result") == 0, "Failed on: '"STRING"'"); \
| |
| 14 | } | |
| 15 | ||
| 16 | ||
| 17 | START_TEST(s21_cat_test) {
| |
| 18 | TEST_CAT("cat test.txt");
| |
| 19 | TEST_CAT("cat -n test.txt");
| |
| 20 | TEST_CAT("cat -n test.txt test_cat.c");
| |
| 21 | TEST_CAT("cat -v test.txt");
| |
| 22 | TEST_CAT("cat -t test.txt");
| |
| 23 | TEST_CAT("cat -b test.txt");
| |
| 24 | TEST_CAT("cat -e test.txt");
| |
| 25 | TEST_CAT("cat -s test.txt");
| |
| 26 | TEST_CAT("cat -z test.txt");
| |
| 27 | TEST_CAT("cat -s test.txt1 test_cat.c");
| |
| 28 | } | |
| 29 | END_TEST | |
| 30 | ||
| 31 | START_TEST(s21_cat_test_multi_p1) {
| |
| 32 | TEST_CAT("cat -benst test.txt");
| |
| 33 | TEST_CAT("cat -bents test.txt");
| |
| 34 | TEST_CAT("cat -besnt test.txt");
| |
| 35 | TEST_CAT("cat -bestn test.txt");
| |
| 36 | TEST_CAT("cat -betns test.txt");
| |
| 37 | TEST_CAT("cat -betsn test.txt");
| |
| 38 | TEST_CAT("cat -bnest test.txt");
| |
| 39 | TEST_CAT("cat -bnets test.txt");
| |
| 40 | TEST_CAT("cat -bnset test.txt");
| |
| 41 | TEST_CAT("cat -bnste test.txt");
| |
| 42 | TEST_CAT("cat -bntes test.txt");
| |
| 43 | TEST_CAT("cat -bntse test.txt");
| |
| 44 | TEST_CAT("cat -bsent test.txt");
| |
| 45 | TEST_CAT("cat -bsetn test.txt");
| |
| 46 | TEST_CAT("cat -bsnet test.txt");
| |
| 47 | TEST_CAT("cat -bsnte test.txt");
| |
| 48 | TEST_CAT("cat -bsten test.txt");
| |
| 49 | TEST_CAT("cat -bstne test.txt");
| |
| 50 | TEST_CAT("cat -btens test.txt");
| |
| 51 | TEST_CAT("cat -btesn test.txt");
| |
| 52 | TEST_CAT("cat -btnes test.txt");
| |
| 53 | TEST_CAT("cat -btnse test.txt");
| |
| 54 | TEST_CAT("cat -btsen test.txt");
| |
| 55 | TEST_CAT("cat -btsne test.txt");
| |
| 56 | } | |
| 57 | END_TEST | |
| 58 | ||
| 59 | START_TEST(s21_cat_test_multi_p2) {
| |
| 60 | TEST_CAT("cat -ebnst test.txt");
| |
| 61 | TEST_CAT("cat -ebnts test.txt");
| |
| 62 | TEST_CAT("cat -ebsnt test.txt");
| |
| 63 | TEST_CAT("cat -ebstn test.txt");
| |
| 64 | TEST_CAT("cat -ebtns test.txt");
| |
| 65 | TEST_CAT("cat -ebtsn test.txt");
| |
| 66 | TEST_CAT("cat -enbst test.txt");
| |
| 67 | TEST_CAT("cat -enbts test.txt");
| |
| 68 | TEST_CAT("cat -ensbt test.txt");
| |
| 69 | TEST_CAT("cat -enstb test.txt");
| |
| 70 | TEST_CAT("cat -entbs test.txt");
| |
| 71 | TEST_CAT("cat -entsb test.txt");
| |
| 72 | TEST_CAT("cat -esbnt test.txt");
| |
| 73 | TEST_CAT("cat -esbtn test.txt");
| |
| 74 | TEST_CAT("cat -esnbt test.txt");
| |
| 75 | TEST_CAT("cat -esntb test.txt");
| |
| 76 | TEST_CAT("cat -estbn test.txt");
| |
| 77 | TEST_CAT("cat -estnb test.txt");
| |
| 78 | TEST_CAT("cat -etbns test.txt");
| |
| 79 | TEST_CAT("cat -etbsn test.txt");
| |
| 80 | TEST_CAT("cat -etnbs test.txt");
| |
| 81 | TEST_CAT("cat -etnsb test.txt");
| |
| 82 | TEST_CAT("cat -etsbn test.txt");
| |
| 83 | TEST_CAT("cat -etsnb test.txt");
| |
| 84 | } | |
| 85 | END_TEST | |
| 86 | ||
| 87 | START_TEST(s21_cat_test_multi_p3) {
| |
| 88 | TEST_CAT("cat -nbest test.txt");
| |
| 89 | TEST_CAT("cat -nbets test.txt");
| |
| 90 | TEST_CAT("cat -nbset test.txt");
| |
| 91 | TEST_CAT("cat -nbste test.txt");
| |
| 92 | TEST_CAT("cat -nbtes test.txt");
| |
| 93 | TEST_CAT("cat -nbtse test.txt");
| |
| 94 | TEST_CAT("cat -nebst test.txt");
| |
| 95 | TEST_CAT("cat -nebts test.txt");
| |
| 96 | TEST_CAT("cat -nesbt test.txt");
| |
| 97 | TEST_CAT("cat -nestb test.txt");
| |
| 98 | TEST_CAT("cat -netbs test.txt");
| |
| 99 | TEST_CAT("cat -netsb test.txt");
| |
| 100 | TEST_CAT("cat -nsbet test.txt");
| |
| 101 | TEST_CAT("cat -nsbte test.txt");
| |
| 102 | TEST_CAT("cat -nsebt test.txt");
| |
| 103 | TEST_CAT("cat -nsetb test.txt");
| |
| 104 | TEST_CAT("cat -nstbe test.txt");
| |
| 105 | TEST_CAT("cat -nsteb test.txt");
| |
| 106 | TEST_CAT("cat -ntbes test.txt");
| |
| 107 | TEST_CAT("cat -ntbse test.txt");
| |
| 108 | TEST_CAT("cat -ntebs test.txt");
| |
| 109 | TEST_CAT("cat -ntesb test.txt");
| |
| 110 | TEST_CAT("cat -ntsbe test.txt");
| |
| 111 | TEST_CAT("cat -ntseb test.txt");
| |
| 112 | } | |
| 113 | END_TEST | |
| 114 | ||
| 115 | START_TEST(s21_cat_test_multi_p4) {
| |
| 116 | TEST_CAT("cat -sbent test.txt");
| |
| 117 | TEST_CAT("cat -sbetn test.txt");
| |
| 118 | TEST_CAT("cat -sbnet test.txt");
| |
| 119 | TEST_CAT("cat -sbnte test.txt");
| |
| 120 | TEST_CAT("cat -sbten test.txt");
| |
| 121 | TEST_CAT("cat -sbtne test.txt");
| |
| 122 | TEST_CAT("cat -sebnt test.txt");
| |
| 123 | TEST_CAT("cat -sebtn test.txt");
| |
| 124 | TEST_CAT("cat -senbt test.txt");
| |
| 125 | TEST_CAT("cat -sentb test.txt");
| |
| 126 | TEST_CAT("cat -setbn test.txt");
| |
| 127 | TEST_CAT("cat -setnb test.txt");
| |
| 128 | TEST_CAT("cat -snbet test.txt");
| |
| 129 | TEST_CAT("cat -snbte test.txt");
| |
| 130 | TEST_CAT("cat -snebt test.txt");
| |
| 131 | TEST_CAT("cat -snetb test.txt");
| |
| 132 | TEST_CAT("cat -sntbe test.txt");
| |
| 133 | TEST_CAT("cat -snteb test.txt");
| |
| 134 | TEST_CAT("cat -stben test.txt");
| |
| 135 | TEST_CAT("cat -stbne test.txt");
| |
| 136 | TEST_CAT("cat -stebn test.txt");
| |
| 137 | TEST_CAT("cat -stenb test.txt");
| |
| 138 | TEST_CAT("cat -stnbe test.txt");
| |
| 139 | TEST_CAT("cat -stneb test.txt");}
| |
| 140 | END_TEST | |
| 141 | ||
| 142 | START_TEST(s21_cat_test_multi_p5) {
| |
| 143 | TEST_CAT("cat -tbens test.txt");
| |
| 144 | TEST_CAT("cat -tbesn test.txt");
| |
| 145 | TEST_CAT("cat -tbnes test.txt");
| |
| 146 | TEST_CAT("cat -tbnse test.txt");
| |
| 147 | TEST_CAT("cat -tbsen test.txt");
| |
| 148 | TEST_CAT("cat -tbsne test.txt");
| |
| 149 | TEST_CAT("cat -tebns test.txt");
| |
| 150 | TEST_CAT("cat -tebsn test.txt");
| |
| 151 | TEST_CAT("cat -tenbs test.txt");
| |
| 152 | TEST_CAT("cat -tensb test.txt");
| |
| 153 | TEST_CAT("cat -tesbn test.txt");
| |
| 154 | TEST_CAT("cat -tesnb test.txt");
| |
| 155 | TEST_CAT("cat -tnbes test.txt");
| |
| 156 | TEST_CAT("cat -tnbse test.txt");
| |
| 157 | TEST_CAT("cat -tnebs test.txt");
| |
| 158 | TEST_CAT("cat -tnesb test.txt");
| |
| 159 | TEST_CAT("cat -tnsbe test.txt");
| |
| 160 | TEST_CAT("cat -tnseb test.txt");
| |
| 161 | TEST_CAT("cat -tsben test.txt");
| |
| 162 | TEST_CAT("cat -tsbne test.txt");
| |
| 163 | TEST_CAT("cat -tsebn test.txt");
| |
| 164 | TEST_CAT("cat -tsenb test.txt");
| |
| 165 | TEST_CAT("cat -tsnbe test.txt");
| |
| 166 | TEST_CAT("cat -tsneb test.txt");
| |
| 167 | } | |
| 168 | END_TEST | |
| 169 | ||
| 170 | START_TEST(s21_cat_test_gnu) {
| |
| 171 | #if defined(__linux__) | |
| 172 | TEST_CAT("cat --number-nonblank test.txt");
| |
| 173 | TEST_CAT("cat --number test.txt");
| |
| 174 | TEST_CAT("cat --squeeze-blank test.txt");
| |
| 175 | TEST_CAT("cat -T test.txt");
| |
| 176 | TEST_CAT("cat -E test.txt");
| |
| 177 | #endif | |
| 178 | } | |
| 179 | END_TEST | |
| 180 | ||
| 181 | START_TEST(s21_cat_test_bin) {
| |
| 182 | TEST_CAT("cat s21_cat");
| |
| 183 | TEST_CAT("cat -n s21_cat");
| |
| 184 | TEST_CAT("cat -v s21_cat");
| |
| 185 | TEST_CAT("cat -t s21_cat");
| |
| 186 | TEST_CAT("cat -b s21_cat");
| |
| 187 | TEST_CAT("cat -e s21_cat");
| |
| 188 | TEST_CAT("cat -s s21_cat");
| |
| 189 | } | |
| 190 | END_TEST | |
| 191 | ||
| 192 | int main(void) {
| |
| 193 | test_cat(); | |
| 194 | Suite *s1 = suite_create("cat_tests");
| |
| 195 | SRunner *sr = srunner_create(s1); | |
| 196 | int nf; | |
| 197 | ||
| 198 | TCase *tc1_1 = tcase_create("s21_cat_test");
| |
| 199 | tcase_add_test(tc1_1, s21_cat_test); | |
| 200 | suite_add_tcase(s1, tc1_1); | |
| 201 | ||
| 202 | TCase *tc2_1 = tcase_create("s21_cat_test_multi_p1");
| |
| 203 | tcase_add_test(tc2_1, s21_cat_test_multi_p1); | |
| 204 | suite_add_tcase(s1, tc2_1); | |
| 205 | ||
| 206 | TCase *tc3_1 = tcase_create("s21_cat_test_multi_p2");
| |
| 207 | tcase_add_test(tc3_1, s21_cat_test_multi_p2); | |
| 208 | suite_add_tcase(s1, tc3_1); | |
| 209 | ||
| 210 | TCase *tc4_1 = tcase_create("s21_cat_test_multi_p3");
| |
| 211 | tcase_add_test(tc4_1, s21_cat_test_multi_p3); | |
| 212 | suite_add_tcase(s1, tc4_1); | |
| 213 | ||
| 214 | TCase *tc5_1 = tcase_create("s21_cat_test_multi_p4");
| |
| 215 | tcase_add_test(tc5_1, s21_cat_test_multi_p4); | |
| 216 | suite_add_tcase(s1, tc5_1); | |
| 217 | ||
| 218 | TCase *tc6_1 = tcase_create("s21_cat_test_multi_p5");
| |
| 219 | tcase_add_test(tc6_1, s21_cat_test_multi_p5); | |
| 220 | suite_add_tcase(s1, tc6_1); | |
| 221 | ||
| 222 | TCase *tc7_1 = tcase_create("s21_cat_test_gnu");
| |
| 223 | tcase_add_test(tc7_1, s21_cat_test_gnu); | |
| 224 | suite_add_tcase(s1, tc7_1); | |
| 225 | ||
| 226 | TCase *tc8_1 = tcase_create("s21_cat_test_bin");
| |
| 227 | tcase_add_test(tc8_1, s21_cat_test_bin); | |
| 228 | suite_add_tcase(s1, tc8_1); | |
| 229 | ||
| 230 | srunner_run_all(sr, CK_VERBOSE); | |
| 231 | nf = srunner_ntests_failed(sr); | |
| 232 | srunner_free(sr); | |
| 233 | ||
| 234 | return nf == 0 ? 0 : 1; | |
| 235 | } | |
| 236 | ||
| 237 | void test_cat() {
| |
| 238 | printf("----- Cat testing -----\n");
| |
| 239 | } | |
| 240 |