@@ -201,7 +201,7 @@ static void _show_host(void) {
201201
202202fossil_pizza_pallet_t fossil_pizza_pallet_create (int argc , char * * argv ) {
203203 fossil_pizza_pallet_t pallet = {0 };
204-
204+
205205 // Parse command-line arguments
206206 for (int i = 1 ; i < argc ; i ++ ) {
207207 if (pizza_io_cstr_compare (argv [i ], "--dry-run" ) == 0 ) {
@@ -215,6 +215,7 @@ fossil_pizza_pallet_t fossil_pizza_pallet_create(int argc, char** argv) {
215215 } else if (pizza_io_cstr_compare (argv [i ], "run" ) == 0 ) {
216216 pallet .run .fail_fast = 0 ;
217217 pallet .run .only = null ;
218+ pallet .run .skip = null ;
218219 pallet .run .repeat = 1 ;
219220
220221 for (int j = i + 1 ; j < argc ; j ++ ) {
@@ -223,10 +224,14 @@ fossil_pizza_pallet_t fossil_pizza_pallet_create(int argc, char** argv) {
223224 G_PIZZA_FAIL_FAST = 1 ;
224225 } else if (pizza_io_cstr_compare (argv [j ], "--only" ) == 0 && j + 1 < argc ) {
225226 pallet .run .only = argv [++ j ];
226- G_PIZZA_ONLY = pallet .run .only ;
227+ } else if (pizza_io_cstr_compare (argv [j ], "--skip" ) == 0 && j + 1 < argc ) {
228+ pallet .run .skip = argv [++ j ];
229+ G_PIZZA_SKIP = 1 ;
227230 } else if (pizza_io_cstr_compare (argv [j ], "--repeat" ) == 0 && j + 1 < argc ) {
228231 pallet .run .repeat = atoi (argv [++ j ]);
229232 G_PIZZA_REPEAT = pallet .run .repeat ;
233+ } else if (pizza_io_cstr_compare (argv [j ], "--threads" ) == 0 && j + 1 < argc ) {
234+ G_PIZZA_THREADS = atoi (argv [++ j ]);
230235 } else if (pizza_io_cstr_compare (argv [j ], "--help" ) == 0 ) {
231236 _show_subhelp_run ();
232237 } else {
@@ -310,23 +315,23 @@ fossil_pizza_pallet_t fossil_pizza_pallet_create(int argc, char** argv) {
310315 pallet .shuffle .by = null ;
311316
312317 for (int j = i + 1 ; j < argc ; j ++ ) {
313- if (pizza_io_cstr_compare (argv [j ], "--seed" ) == 0 && j + 1 < argc ) {
314- pallet .shuffle .seed = argv [++ j ];
315- } else if (pizza_io_cstr_compare (argv [j ], "--count" ) == 0 && j + 1 < argc ) {
316- pallet .shuffle .count = atoi (argv [++ j ]);
317- } else if (pizza_io_cstr_compare (argv [j ], "--by" ) == 0 && j + 1 < argc ) {
318- pallet .shuffle .by = argv [++ j ];
319- } else if (pizza_io_cstr_compare (argv [j ], "--help" ) == 0 ) {
320- _show_subhelp_shuffle ();
321- } else if (pizza_io_cstr_compare (argv [j ], "--options" ) == 0 ) {
322- pizza_io_printf ("{blue}Valid criteria for shuffling:{reset}\n" );
323- for (int k = 0 ; VALID_CRITERIA [k ] != null ; k ++ ) {
324- pizza_io_printf ("{cyan} %s{reset}\n" , VALID_CRITERIA [k ]);
318+ if (pizza_io_cstr_compare (argv [j ], "--seed" ) == 0 && j + 1 < argc ) {
319+ pallet .shuffle .seed = argv [++ j ];
320+ } else if (pizza_io_cstr_compare (argv [j ], "--count" ) == 0 && j + 1 < argc ) {
321+ pallet .shuffle .count = atoi (argv [++ j ]);
322+ } else if (pizza_io_cstr_compare (argv [j ], "--by" ) == 0 && j + 1 < argc ) {
323+ pallet .shuffle .by = argv [++ j ];
324+ } else if (pizza_io_cstr_compare (argv [j ], "--help" ) == 0 ) {
325+ _show_subhelp_shuffle ();
326+ } else if (pizza_io_cstr_compare (argv [j ], "--options" ) == 0 ) {
327+ pizza_io_printf ("{blue}Valid criteria for shuffling:{reset}\n" );
328+ for (int k = 0 ; VALID_CRITERIA [k ] != null ; k ++ ) {
329+ pizza_io_printf ("{cyan} %s{reset}\n" , VALID_CRITERIA [k ]);
330+ }
331+ exit (EXIT_SUCCESS );
332+ } else {
333+ break ;
325334 }
326- exit (EXIT_SUCCESS );
327- } else {
328- break ;
329- }
330335 }
331336 } else if (strncmp (argv [i ], "color=" , 6 ) == 0 ) {
332337 if (pizza_io_cstr_compare (argv [i ] + 6 , "enable" ) == 0 ) {
@@ -363,7 +368,6 @@ fossil_pizza_pallet_t fossil_pizza_pallet_create(int argc, char** argv) {
363368 if (i + 1 < argc && pizza_io_cstr_compare (argv [i + 1 ], "--help" ) == 0 ) {
364369 _show_help ();
365370 }
366-
367371 } else if (strncmp (argv [i ], "theme=" , 6 ) == 0 ) {
368372 const char * theme_str = argv [i ] + 6 ;
369373 if (pizza_io_cstr_compare (theme_str , "fossil" ) == 0 ) {
@@ -387,7 +391,6 @@ fossil_pizza_pallet_t fossil_pizza_pallet_create(int argc, char** argv) {
387391 } else if (pizza_io_cstr_compare (theme_str , "unity" ) == 0 ) {
388392 pallet .theme = PIZZA_THEME_UNITY ;
389393 G_PIZZA_THEME = PIZZA_THEME_UNITY ;
390-
391394 }
392395 } else if (pizza_io_cstr_compare (argv [i ], "theme" ) == 0 ) {
393396 if (i + 1 < argc && pizza_io_cstr_compare (argv [i + 1 ], "--help" ) == 0 ) {
@@ -401,7 +404,7 @@ fossil_pizza_pallet_t fossil_pizza_pallet_create(int argc, char** argv) {
401404 } else if (pizza_io_cstr_compare (verbose_str , "ci" ) == 0 ) {
402405 pallet .verbose = PIZZA_VERBOSE_CI ;
403406 G_PIZZA_VERBOSE = PIZZA_VERBOSE_CI ;
404- } else if (pizza_io_cstr_compare (verbose_str , "doge" ) == 0 ) { // means verbose for Pizza Test
407+ } else if (pizza_io_cstr_compare (verbose_str , "doge" ) == 0 ) {
405408 pallet .verbose = PIZZA_VERBOSE_DOGE ;
406409 G_PIZZA_VERBOSE = PIZZA_VERBOSE_DOGE ;
407410 }
@@ -416,9 +419,6 @@ fossil_pizza_pallet_t fossil_pizza_pallet_create(int argc, char** argv) {
416419 _show_help ();
417420 exit (EXIT_SUCCESS );
418421 }
419- } else {
420- pizza_io_printf ("{red}Error: Unknown command or option '%s'.{reset}\n" , argv [i ]);
421- exit (EXIT_FAILURE );
422422 }
423423 }
424424
0 commit comments