@@ -481,6 +481,93 @@ START_TEST(vnstat_parseargs_rename_requires_parameter)
481
481
}
482
482
END_TEST
483
483
484
+ START_TEST (vnstat_parseargs_limit_requires_parameter )
485
+ {
486
+ PARAMS p ;
487
+ char * argv [] = {"vnstat" , "--limit" , NULL };
488
+ int argc = sizeof (argv ) / sizeof (char * ) - 1 ;
489
+
490
+ initparams (& p );
491
+ suppress_output ();
492
+ parseargs (& p , argc , argv );
493
+ }
494
+ END_TEST
495
+
496
+ START_TEST (vnstat_parseargs_limit_cannot_be_negative )
497
+ {
498
+ PARAMS p ;
499
+ char * argv [] = {"vnstat" , "--limit" , "-1" , NULL };
500
+ int argc = sizeof (argv ) / sizeof (char * ) - 1 ;
501
+
502
+ initparams (& p );
503
+ suppress_output ();
504
+ parseargs (& p , argc , argv );
505
+ }
506
+ END_TEST
507
+
508
+ START_TEST (vnstat_parseargs_limit_changes_defaults )
509
+ {
510
+ PARAMS p ;
511
+ char * argv [] = {"vnstat" , "--limit" , "1234" , NULL };
512
+ int argc = sizeof (argv ) / sizeof (char * ) - 1 ;
513
+
514
+ defaultcfg ();
515
+ initparams (& p );
516
+ suppress_output ();
517
+ parseargs (& p , argc , argv );
518
+
519
+ ck_assert_int_eq (cfg .listfivemins , 1234 );
520
+ ck_assert_int_eq (cfg .listhours , 1234 );
521
+ ck_assert_int_eq (cfg .listdays , 1234 );
522
+ ck_assert_int_eq (cfg .listmonths , 1234 );
523
+ ck_assert_int_eq (cfg .listyears , 1234 );
524
+ ck_assert_int_eq (cfg .listtop , 1234 );
525
+ ck_assert_int_eq (cfg .listjsonxml , 1234 );
526
+ }
527
+ END_TEST
528
+
529
+ START_TEST (vnstat_parseargs_limit_overrides )
530
+ {
531
+ PARAMS p ;
532
+ char * argv [] = {"vnstat" , "-d" , "5" , "--limit" , "234" , NULL };
533
+ int argc = sizeof (argv ) / sizeof (char * ) - 1 ;
534
+
535
+ defaultcfg ();
536
+ initparams (& p );
537
+ suppress_output ();
538
+ parseargs (& p , argc , argv );
539
+
540
+ ck_assert_int_eq (cfg .listfivemins , 234 );
541
+ ck_assert_int_eq (cfg .listhours , 234 );
542
+ ck_assert_int_eq (cfg .listdays , 234 );
543
+ ck_assert_int_eq (cfg .listmonths , 234 );
544
+ ck_assert_int_eq (cfg .listyears , 234 );
545
+ ck_assert_int_eq (cfg .listtop , 234 );
546
+ ck_assert_int_eq (cfg .listjsonxml , 234 );
547
+ }
548
+ END_TEST
549
+
550
+ START_TEST (vnstat_parseargs_limit_overrides_regardless_of_position )
551
+ {
552
+ PARAMS p ;
553
+ char * argv [] = {"vnstat" , "--limit" , "345" , "-d" , "5" , NULL };
554
+ int argc = sizeof (argv ) / sizeof (char * ) - 1 ;
555
+
556
+ defaultcfg ();
557
+ initparams (& p );
558
+ suppress_output ();
559
+ parseargs (& p , argc , argv );
560
+
561
+ ck_assert_int_eq (cfg .listfivemins , 345 );
562
+ ck_assert_int_eq (cfg .listhours , 345 );
563
+ ck_assert_int_eq (cfg .listdays , 345 );
564
+ ck_assert_int_eq (cfg .listmonths , 345 );
565
+ ck_assert_int_eq (cfg .listyears , 345 );
566
+ ck_assert_int_eq (cfg .listtop , 345 );
567
+ ck_assert_int_eq (cfg .listjsonxml , 345 );
568
+ }
569
+ END_TEST
570
+
484
571
void add_parseargs_tests (Suite * s )
485
572
{
486
573
TCase * tc_pa = tcase_create ("ParseArgs" );
@@ -520,5 +607,10 @@ void add_parseargs_tests(Suite *s)
520
607
tcase_add_exit_test (tc_pa , vnstat_parseargs_setalias_requires_parameter , 1 );
521
608
tcase_add_test (tc_pa , vnstat_parseargs_setalias_still_supports_nick );
522
609
tcase_add_exit_test (tc_pa , vnstat_parseargs_rename_requires_parameter , 1 );
610
+ tcase_add_exit_test (tc_pa , vnstat_parseargs_limit_requires_parameter , 1 );
611
+ tcase_add_exit_test (tc_pa , vnstat_parseargs_limit_cannot_be_negative , 1 );
612
+ tcase_add_test (tc_pa , vnstat_parseargs_limit_changes_defaults );
613
+ tcase_add_test (tc_pa , vnstat_parseargs_limit_overrides );
614
+ tcase_add_test (tc_pa , vnstat_parseargs_limit_overrides_regardless_of_position );
523
615
suite_add_tcase (s , tc_pa );
524
616
}
0 commit comments