LCOV - code coverage report
Current view: top level - tests - test_args.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 348 359 96.9 %
Date: 2017-02-27 17:05:36 Functions: 40 40 100.0 %

          Line data    Source code
       1             : #include "test.h"
       2             : 
       3             : static struct margs_tests       args;
       4             : 
       5           1 : TEST(args_NULL) {
       6           1 :         TEST_ASSERT(read_opt(0, NULL, NULL) == 0, "Not handling null arguments");
       7           1 :         return TEST_SUCCESS;
       8             : }
       9             : 
      10           1 : TEST(args_NULL_1) {
      11           1 :         TEST_ASSERT(read_opt(10, NULL, NULL) == 0, "Not handling null arguments");
      12           1 :         return TEST_SUCCESS;
      13             : }
      14             : 
      15           1 : TEST(args_NULL_2) {
      16           1 :         char    *tab[] = {"test", "test2"};
      17           1 :         TEST_ASSERT(read_opt(0, tab, NULL) == 0, "Not handling null arguments");
      18           1 :         return TEST_SUCCESS;
      19             : }
      20             : 
      21           1 : TEST(args_NULL_3) {
      22           1 :         char    *tab[] = {"test", "test2"};
      23           1 :         TEST_ASSERT(read_opt(10, tab, NULL) == 0, "Not handling null arguments");
      24           1 :         return TEST_SUCCESS;
      25             : }
      26             : 
      27           1 : TEST(args_NULL_4) {
      28           1 :         char    *tab[] = {"test", "test2"};
      29             :         margs_t t;
      30             : 
      31           1 :         TEST_ASSERT(read_opt(0, tab, &t) == 0, "Not handling null arguments");
      32           1 :         return TEST_SUCCESS;
      33             : }
      34             : 
      35           1 : TEST(args_NULL_5) {
      36             :         margs_t t;
      37             : 
      38           1 :         TEST_ASSERT(read_opt(10, NULL, &t) == 0, "Not handling null arguments");
      39           1 :         return TEST_SUCCESS;
      40             : }
      41             : 
      42           1 : TEST(args_empty_1) {
      43             :         margs_t t;
      44           1 :         char    *tab[] = {"", "", ""};
      45             : 
      46           1 :         TEST_ASSERT(read_opt(3, tab, &t) == 0, "Not handling null arguments");
      47           1 :         return TEST_SUCCESS;
      48             : }
      49             : 
      50           1 : TEST(args_empty_2) {
      51             :         margs_t t;
      52           1 :         char    *tab[] = {NULL, NULL, NULL};
      53             : 
      54           1 :         TEST_ASSERT(read_opt(3, tab, &t) == 0, "Not handling null arguments");
      55           1 :         return TEST_SUCCESS;
      56             : }
      57             : 
      58             : 
      59           1 : TEST(args_unhandled_1) {
      60           1 :         margs_t         opt[] = {
      61             :                 {'z', "zoiberg", "No idea.", false, NULL},
      62             :                 ARGS_EOL
      63             :         };
      64           1 :         char            *av[] = {"./tests", "oui", "--allow"};
      65             :         pid_t           pid;
      66             :         int                     st, fd[2];
      67             : 
      68           1 :         pipe(fd);
      69           1 :         fflush(stdout);
      70           1 :         if ((pid = fork()) == 0) {
      71             : 
      72           1 :                 DUP_ALL_OUTPUTS(fd);
      73           1 :                 TEST_ASSERT(read_opt(sizeof(av), av, opt) == 0, "Not handling properly unknown arguments");
      74             :         } else {
      75           1 :                 WAIT_AND_CLOSE(pid, st, fd);
      76           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 1), "Wrong return");
      77             :         }
      78           1 :         return TEST_SUCCESS;
      79             : }
      80             : 
      81           1 : TEST(args_unhandled_2) {
      82           1 :         margs_t         opt[] = {
      83             :                 {'z', "zoiberg", "No idea.", false, NULL},
      84             :                 ARGS_EOL
      85             :         };
      86           1 :         char            *av[] = {"./test", "---wrong-option"};
      87             :         int                     st, fd[2];
      88             :         pid_t           pid;
      89             : 
      90           1 :         pipe(fd);
      91           1 :         if ((pid = fork()) == 0) {
      92           1 :                 DUP_ALL_OUTPUTS(fd);
      93           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling triple '-' arguments");
      94           1 :                 exit(0);
      95             :         } else {
      96           1 :                 WAIT_AND_CLOSE(pid, st, fd);
      97           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 0), "Wrong return");
      98             :         }
      99           1 :         return TEST_SUCCESS;
     100             : }
     101             : 
     102           1 : TEST(args_unhandled_3) {
     103           1 :         margs_t         opt[] = {
     104             :                 {'z', "zoiberg", "No idea.", false, NULL},
     105             :                 ARGS_EOL
     106             :         };
     107           1 :         char            *av[] = {"./test", "-", "<-", "Single dash"};
     108             :         int                     st, fd[2];
     109             :         pid_t           pid;
     110             : 
     111           1 :         pipe(fd);
     112           1 :         if ((pid = fork()) == 0) {
     113           1 :                 DUP_ALL_OUTPUTS(fd);
     114           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling alone '-' in arguments");
     115           1 :                 exit(0);
     116             :         } else {
     117           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     118           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 0), "Wrong return");
     119             :         }
     120           1 :         return TEST_SUCCESS;
     121             : }
     122             : 
     123           1 : TEST(args_unhandled_4) {
     124           1 :         margs_t         opt[] = {
     125             :                 {'z', "zoiberg", "No idea.", false, NULL},
     126             :                 ARGS_EOL
     127             :         };
     128           1 :         char            *av[] = {"./test", "-q"};
     129             :         int                     st, fd[2];
     130             :         pid_t           pid;
     131             : 
     132           1 :         pipe(fd);
     133           1 :         if ((pid = fork()) == 0) {
     134           1 :                 DUP_ALL_OUTPUTS(fd);
     135           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling unknown option");
     136           0 :                 exit(0);
     137             :         } else {
     138           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     139           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 1), "Wrong return");
     140             :         }
     141           1 :         return TEST_SUCCESS;
     142             : }
     143             : 
     144           1 : TEST(args_unhandled_5) {
     145           1 :         margs_t         opt[] = {
     146             :                 {'z', "zoiberg", "No idea.", false, NULL},
     147             :                 ARGS_EOL
     148             :         };
     149           1 :         char            *av[] = {"./test", "--"};
     150             :         int                     st, fd[2];
     151             :         pid_t           pid;
     152             : 
     153           1 :         pipe(fd);
     154           1 :         if ((pid = fork()) == 0) {
     155           1 :                 DUP_ALL_OUTPUTS(fd);
     156           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling double dash without option");
     157           1 :                 exit(0);
     158             :         } else {
     159           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     160           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 0), "Wrong return");
     161             :         }
     162           1 :         return TEST_SUCCESS;
     163             : }
     164             : 
     165           1 : TEST(args_unhandled_6) {
     166           1 :         margs_t         opt[] = {
     167             :                 {'z', "zoiberg", "No idea.", false, NULL},
     168             :                 ARGS_EOL
     169             :         };
     170           1 :         char            *av[] = {"./test", "-"};
     171             :         int                     st, fd[2];
     172             :         pid_t           pid;
     173             : 
     174           1 :         pipe(fd);
     175           1 :         if ((pid = fork()) == 0) {
     176           1 :                 DUP_ALL_OUTPUTS(fd);
     177           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling single dash without option");
     178           1 :                 exit(1);
     179             :         } else {
     180           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     181           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 1), "Wrong return");
     182             :         }
     183           1 :         return TEST_SUCCESS;
     184             : }
     185             : 
     186           1 : TEST(args_help_1) {
     187           1 :         margs_t         opt[] = {
     188             :                 {'z', "zoiberg", "No idea.", false, NULL},
     189             :                 ARGS_EOL
     190             :         };
     191           1 :         char            *av[] = {"./test", "-h"};
     192             :         int                     st, fd[2];
     193             :         pid_t           pid;
     194             : 
     195           1 :         pipe(fd);
     196           1 :         if ((pid = fork()) == 0) {
     197           1 :                 DUP_ALL_OUTPUTS(fd);
     198           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling -h arguments");
     199           0 :                 exit(5);
     200             :         } else {
     201           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     202           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 0), "Wrong return");
     203             :         }
     204           1 :         return TEST_SUCCESS;
     205             : }
     206             : 
     207           1 : TEST(args_help_2) {
     208           1 :         margs_t         opt[] = {
     209             :                 {'z', "zoiberg", "No idea.", false, NULL},
     210             :                 ARGS_EOL
     211             :         };
     212           1 :         char            *av[] = {"./test", "--help"};
     213             :         int                     st, fd[2];
     214             :         pid_t           pid;
     215             : 
     216           1 :         pipe(fd);
     217           1 :         if ((pid = fork()) == 0) {
     218           1 :                 DUP_ALL_OUTPUTS(fd);
     219           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling --help arguments");
     220           0 :                 exit(5);
     221             :         } else {
     222           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     223           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 0), "Wrong return");
     224             :         }
     225           1 :         return TEST_SUCCESS;
     226             : }
     227             : 
     228           1 : TEST(args_version_1) {
     229           1 :         margs_t         opt[] = {
     230             :                 {'z', "zoiberg", "No idea.", false, NULL},
     231             :                 ARGS_EOL
     232             :         };
     233           1 :         char            *av[] = {"./test", "-V"};
     234             :         int                     st, fd[2];
     235             :         pid_t           pid;
     236             : 
     237           1 :         pipe(fd);
     238           1 :         if ((pid = fork()) == 0) {
     239           1 :                 DUP_ALL_OUTPUTS(fd);
     240           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling --version arguments");
     241           0 :                 exit(5);
     242             :         } else {
     243           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     244           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 0), "Wrong return");
     245             :         }
     246           1 :         return TEST_SUCCESS;
     247             : }
     248             : 
     249           1 : TEST(args_version_2) {
     250           1 :         margs_t         opt[] = {
     251             :                 {'z', "zoiberg", "No idea.", false, NULL},
     252             :                 ARGS_EOL
     253             :         };
     254           1 :         char            *av[] = {"./test", "--version"};
     255             :         int                     st, fd[2];
     256             :         pid_t           pid;
     257             : 
     258           1 :         pipe(fd);
     259           1 :         if ((pid = fork()) == 0) {
     260           1 :                 DUP_ALL_OUTPUTS(fd);
     261           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling -v arguments");
     262           0 :                 exit(5);
     263             :         } else {
     264           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     265           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 0), "Wrong return");
     266             :         }
     267           1 :         return TEST_SUCCESS;
     268             : }
     269             : 
     270           1 : TEST(args_base_1) {
     271           1 :         margs_t         opt[] = OPT_DEF(false);
     272           1 :         char            *av[] = {"./test", "-q"};
     273             : 
     274           1 :         reset_args();
     275           1 :         TEST_ASSERT((read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 1), "Wrong return");
     276           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     277           1 :         TEST_ASSERT(args.opt_w != true, "Argument not read");
     278           1 :         return TEST_SUCCESS;
     279             : }
     280             : 
     281           1 : TEST(args_base_2) {
     282           1 :         margs_t         opt[] = OPT_DEF(false);
     283           1 :         char            *av[] = {"./test", "-qw"};
     284             : 
     285           1 :         reset_args();
     286           1 :         TEST_ASSERT((read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 2), "Wrong return");
     287           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     288           1 :         TEST_ASSERT(args.opt_w == true, "Argument not read");
     289           1 :         TEST_ASSERT(args.opt_e != true, "Argument not read");
     290           1 :         return TEST_SUCCESS;
     291             : }
     292             : 
     293           1 : TEST(args_base_3) {
     294           1 :         margs_t         opt[] = OPT_DEF(false);
     295           1 :         char            *av[] = {"./test", "-q", "-w"};
     296             : 
     297           1 :         reset_args();
     298           1 :         TEST_ASSERT((read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 2), "Wrong return");
     299           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     300           1 :         TEST_ASSERT(args.opt_w == true, "Argument not read");
     301           1 :         TEST_ASSERT(args.opt_e != true, "Argument not read");
     302           1 :         return TEST_SUCCESS;
     303             : }
     304             : 
     305           1 : TEST(args_base_4) {
     306           1 :         margs_t         opt[] = OPT_DEF(false);
     307           1 :         char            *av[] = {"./test", "--qwerty", "-w"};
     308             : 
     309           1 :         reset_args();
     310           1 :         TEST_ASSERT((read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 2), "Wrong return");
     311           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     312           1 :         TEST_ASSERT(args.opt_w == true, "Argument not read");
     313           1 :         TEST_ASSERT(args.opt_e != true, "Argument not read");
     314           1 :         return TEST_SUCCESS;
     315             : }
     316             : 
     317           1 : TEST(args_base_5) {
     318           1 :         margs_t         opt[] = OPT_DEF(false);
     319           1 :         char            *av[] = {"./test", "--qwerty", "--wertyu"};
     320             : 
     321           1 :         reset_args();
     322           1 :         TEST_ASSERT((read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 2), "Wrong return");
     323           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     324           1 :         TEST_ASSERT(args.opt_w == true, "Argument not read");
     325           1 :         TEST_ASSERT(args.opt_e != true, "Argument not read");
     326           1 :         return TEST_SUCCESS;
     327             : }
     328             : 
     329           1 : TEST(args_base_6) {
     330           1 :         margs_t         opt[] = OPT_DEF(false);
     331           1 :         char            *av[] = {"./test", "-qwerty"};
     332             : 
     333           1 :         reset_args();
     334           1 :         TEST_ASSERT((read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 6), "Wrong return");
     335           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     336           1 :         TEST_ASSERT(args.opt_w == true, "Argument not read");
     337           1 :         TEST_ASSERT(args.opt_e == true, "Argument not read");
     338           1 :         TEST_ASSERT(args.opt_r == true, "Argument not read");
     339           1 :         TEST_ASSERT(args.opt_t == true, "Argument not read");
     340           1 :         TEST_ASSERT(args.opt_y == true, "Argument not read");
     341           1 :         return TEST_SUCCESS;
     342             : }
     343             : 
     344           1 : TEST(args_base_7) {
     345           1 :         margs_t         opt[] = OPT_DEF(false);
     346           1 :         char            *av[] = {"./test", "--qwerty", "--wertyu", "--ertyui", "--rtyuio", "--tyuiop", "--yuiop["};
     347             : 
     348           1 :         reset_args();
     349           1 :         TEST_ASSERT((read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 6), "Wrong return");
     350           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     351           1 :         TEST_ASSERT(args.opt_w == true, "Argument not read");
     352           1 :         TEST_ASSERT(args.opt_e == true, "Argument not read");
     353           1 :         TEST_ASSERT(args.opt_r == true, "Argument not read");
     354           1 :         TEST_ASSERT(args.opt_t == true, "Argument not read");
     355           1 :         TEST_ASSERT(args.opt_y == true, "Argument not read");
     356           1 :         return TEST_SUCCESS;
     357             : }
     358             : 
     359           1 : TEST(args_missing_value_1) {
     360           1 :         margs_t         opt[] = OPT_DEF(true);
     361           1 :         char            *av[] = {"./test", "-q"};
     362             :         int                     st, fd[2];
     363             :         pid_t           pid;
     364             : 
     365           1 :         reset_args();
     366           1 :         pipe(fd);
     367           1 :         if ((pid = fork()) == 0) {
     368           1 :                 DUP_ALL_OUTPUTS(fd);
     369           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling missing argument");
     370           0 :                 exit(5);
     371             :         } else {
     372           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     373           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 1), "Wrong return");
     374             :         }
     375           1 :         return TEST_SUCCESS;
     376             : }
     377             : 
     378           1 : TEST(args_missing_value_2) {
     379           1 :         margs_t         opt[] = OPT_DEF(true);
     380           1 :         char            *av[] = {"./test", "--qwerty"};
     381             :         int                     st, fd[2];
     382             :         pid_t           pid;
     383             : 
     384           1 :         reset_args();
     385           1 :         pipe(fd);
     386           1 :         if ((pid = fork()) == 0) {
     387           1 :                 DUP_ALL_OUTPUTS(fd);
     388           1 :                 TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 0, "Not handling missing argument");
     389           0 :                 exit(5);
     390             :         } else {
     391           1 :                 WAIT_AND_CLOSE(pid, st, fd);
     392           1 :                 TEST_ASSERT((WEXITSTATUS(st) == 1), "Wrong return");
     393             :         }
     394           1 :         return TEST_SUCCESS;
     395             : }
     396             : 
     397           1 : TEST(args_value_1) {
     398           1 :         margs_t         opt[] = OPT_DEF(true);
     399           1 :         char            *av[] = {"./test", "-q", "toto"};
     400             : 
     401           1 :         reset_args();
     402           1 :         TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 1, "Wrong return");
     403           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     404           1 :         TEST_ASSERT(strcmp(args.str_q, "toto") == 0, "Value not read");
     405           1 :         return TEST_SUCCESS;
     406             : }
     407             : 
     408           1 : TEST(args_value_2) {
     409           1 :         margs_t         opt[] = OPT_DEF(true);
     410           1 :         char            *av[] = {"./test", "--qwerty=toto"};
     411             : 
     412           1 :         reset_args();
     413           1 :         TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 1, "Wrong return");
     414           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     415           1 :         TEST_ASSERT(strcmp(args.str_q, "toto") == 0, "Value not read");
     416           1 :         return TEST_SUCCESS;
     417             : }
     418             : 
     419           1 : TEST(args_value_3) {
     420           1 :         margs_t         opt[] = OPT_DEF(true);
     421           1 :         char            *av[] = {"./test", "--qwerty=toto", "-w", "tata"};
     422             : 
     423           1 :         reset_args();
     424           1 :         TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 2, "Wrong return");
     425           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     426           1 :         TEST_ASSERT(strcmp(args.str_q, "toto") == 0, "Value not read");
     427           1 :         TEST_ASSERT(args.opt_w == true, "Argument not read");
     428           1 :         TEST_ASSERT(strcmp(args.str_w, "tata") == 0, "Value not read");
     429           1 :         return TEST_SUCCESS;
     430             : }
     431             : 
     432           1 : TEST(args_value_4) {
     433           1 :         margs_t         opt[] = OPT_DEF(true);
     434           1 :         char            *av[] = {"./test", "--qwerty=toto", "--wertyu=tata"};
     435             : 
     436           1 :         reset_args();
     437           1 :         TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 2, "Wrong return");
     438           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     439           1 :         TEST_ASSERT(strcmp(args.str_q, "toto") == 0, "Value not read");
     440           1 :         TEST_ASSERT(args.opt_w == true, "Argument not read");
     441           1 :         TEST_ASSERT(strcmp(args.str_w, "tata") == 0, "Value not read");
     442           1 :         return TEST_SUCCESS;
     443             : }
     444             : 
     445           1 : TEST(args_word_only_1) {
     446           1 :         margs_t         opt[] = {
     447             :                 {0, "qwerty", "qwerty", false, &callback_q},
     448             :                 ARGS_EOL
     449             :         };
     450           1 :         char            *av[] = {"./test", "--qwerty"};
     451             : 
     452           1 :         reset_args();
     453           1 :         TEST_ASSERT(read_opt(sizeof(av) / sizeof(av[0]), av, opt) == 1, "Wrong return");
     454           1 :         TEST_ASSERT(args.opt_q == true, "Argument not read");
     455           1 :         TEST_ASSERT(args.opt_w == false, "Wrong argument");
     456           1 :         return TEST_SUCCESS;
     457             : }
     458             : 
     459             : 
     460          12 : void            callback_q(const char *s) {
     461          12 :         args.opt_q = true;
     462          12 :         if (s == NULL)
     463           8 :                 strcpy(args.str_q, "");
     464             :         else
     465           4 :                 strcpy(args.str_q, s);
     466          12 : }
     467             : 
     468           8 : void            callback_w(const char *s) {
     469           8 :         args.opt_w = true;
     470           8 :         if (s == NULL)
     471           6 :                 strcpy(args.str_w, "");
     472             :         else
     473           2 :                 strcpy(args.str_w, s);
     474           8 : }
     475             : 
     476           2 : void            callback_e(const char *s) {
     477           2 :         args.opt_e = true;
     478           2 :         if (s == NULL)
     479           2 :                 strcpy(args.str_e, "");
     480             :         else
     481           0 :                 strcpy(args.str_e, s);
     482           2 : }
     483             : 
     484           2 : void            callback_r(const char *s) {
     485           2 :         args.opt_r = true;
     486           2 :         if (s == NULL)
     487           2 :                 strcpy(args.str_r, "");
     488             :         else
     489           0 :                 strcpy(args.str_r, s);
     490           2 : }
     491             : 
     492           2 : void            callback_t(const char *s) {
     493           2 :         args.opt_t = true;
     494           2 :         if (s == NULL)
     495           2 :                 strcpy(args.str_t, "");
     496             :         else
     497           0 :                 strcpy(args.str_t, s);
     498           2 : }
     499             : 
     500           2 : void            callback_y(const char *s) {
     501           2 :         args.opt_y = true;
     502           2 :         if (s == NULL)
     503           2 :                 strcpy(args.str_y, "");
     504             :         else
     505           0 :                 strcpy(args.str_y, s);
     506           2 : }
     507             : 
     508          14 : void            reset_args(void) {
     509          14 :         args.opt_q = false;
     510          14 :         args.opt_w = false;
     511          14 :         args.opt_e = false;
     512          14 :         args.opt_r = false;
     513          14 :         args.opt_t = false;
     514          14 :         args.opt_y = false;
     515          14 :         strcpy(args.str_q, "");
     516          14 :         strcpy(args.str_w, "");
     517          14 :         strcpy(args.str_e, "");
     518          14 :         strcpy(args.str_r, "");
     519          14 :         strcpy(args.str_t, "");
     520          14 :         strcpy(args.str_y, "");
     521          14 : }
     522             : 
     523           1 : void            register_args_tests(void) {
     524           1 :         reg_test("m_args", args_NULL);
     525           1 :         reg_test("m_args", args_NULL_1);
     526           1 :         reg_test("m_args", args_NULL_2);
     527           1 :         reg_test("m_args", args_NULL_3);
     528           1 :         reg_test("m_args", args_NULL_4);
     529           1 :         reg_test("m_args", args_NULL_5);
     530           1 :         reg_test("m_args", args_empty_1);
     531           1 :         reg_test("m_args", args_empty_2);
     532           1 :         reg_test("m_args", args_unhandled_1);
     533           1 :         reg_test("m_args", args_unhandled_2);
     534           1 :         reg_test("m_args", args_unhandled_3);
     535           1 :         reg_test("m_args", args_unhandled_4);
     536           1 :         reg_test("m_args", args_unhandled_5);
     537           1 :         reg_test("m_args", args_unhandled_6);
     538           1 :         reg_test("m_args", args_help_1);
     539           1 :         reg_test("m_args", args_help_2);
     540           1 :         reg_test("m_args", args_version_1);
     541           1 :         reg_test("m_args", args_version_2);
     542           1 :         reg_test("m_args", args_base_1);
     543           1 :         reg_test("m_args", args_base_2);
     544           1 :         reg_test("m_args", args_base_3);
     545           1 :         reg_test("m_args", args_base_4);
     546           1 :         reg_test("m_args", args_base_5);
     547           1 :         reg_test("m_args", args_base_6);
     548           1 :         reg_test("m_args", args_base_7);
     549           1 :         reg_test("m_args", args_missing_value_1);
     550           1 :         reg_test("m_args", args_missing_value_2);
     551           1 :         reg_test("m_args", args_value_1);
     552           1 :         reg_test("m_args", args_value_2);
     553           1 :         reg_test("m_args", args_value_3);
     554           1 :         reg_test("m_args", args_value_4);
     555           1 :         reg_test("m_args", args_word_only_1);
     556           1 : }

Generated by: LCOV version 1.11