Advertisement
2607

cat_test_cat.c

Dec 5th, 2021
864
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement