@@ -148,7 +148,11 @@ class TestCmdlineParser : public TestFixture {
148148 TEST_CASE (maxConfigsMissingCount);
149149 TEST_CASE (maxConfigsInvalid);
150150 TEST_CASE (maxConfigsTooSmall);
151- TEST_CASE (reportProgressTest); // "Test" suffix to avoid hiding the parent's reportProgress
151+ TEST_CASE (reportProgress1);
152+ TEST_CASE (reportProgress2);
153+ TEST_CASE (reportProgress3);
154+ TEST_CASE (reportProgress4);
155+ TEST_CASE (reportProgress5);
152156 TEST_CASE (stdc99);
153157 TEST_CASE (stdcpp11);
154158 TEST_CASE (stdunknown1);
@@ -1060,12 +1064,46 @@ class TestCmdlineParser : public TestFixture {
10601064 ASSERT_EQUALS (" cppcheck: error: argument to '--max-configs=' must be greater than 0.\n " , GET_REDIRECT_OUTPUT);
10611065 }
10621066
1063- void reportProgressTest () {
1067+ void reportProgress1 () {
10641068 REDIRECT;
10651069 const char * const argv[] = {" cppcheck" , " --report-progress" , " file.cpp" };
1066- settings->reportProgress = false ;
1070+ settings->reportProgress = - 1 ;
10671071 ASSERT (parser->parseFromArgs (3 , argv));
1068- ASSERT (settings->reportProgress );
1072+ ASSERT_EQUALS (10 , settings->reportProgress );
1073+ ASSERT_EQUALS (" " , GET_REDIRECT_OUTPUT);
1074+ }
1075+
1076+ void reportProgress2 () {
1077+ REDIRECT;
1078+ const char * const argv[] = {" cppcheck" , " --report-progress=" , " file.cpp" };
1079+ settings->reportProgress = -1 ;
1080+ ASSERT (!parser->parseFromArgs (3 , argv));
1081+ ASSERT_EQUALS (" cppcheck: error: argument to '--report-progress=' is not valid - not an integer.\n " , GET_REDIRECT_OUTPUT);
1082+ }
1083+
1084+ void reportProgress3 () {
1085+ REDIRECT;
1086+ const char * const argv[] = {" cppcheck" , " --report-progress=-1" , " file.cpp" };
1087+ settings->reportProgress = -1 ;
1088+ ASSERT (!parser->parseFromArgs (3 , argv));
1089+ ASSERT_EQUALS (" cppcheck: error: argument to '--report-progress=' needs to be a positive integer.\n " , GET_REDIRECT_OUTPUT);
1090+ }
1091+
1092+ void reportProgress4 () {
1093+ REDIRECT;
1094+ const char * const argv[] = {" cppcheck" , " --report-progress=0" , " file.cpp" };
1095+ settings->reportProgress = -1 ;
1096+ ASSERT (parser->parseFromArgs (3 , argv));
1097+ ASSERT_EQUALS (0 , settings->reportProgress );
1098+ ASSERT_EQUALS (" " , GET_REDIRECT_OUTPUT);
1099+ }
1100+
1101+ void reportProgress5 () {
1102+ REDIRECT;
1103+ const char * const argv[] = {" cppcheck" , " --report-progress=1" , " file.cpp" };
1104+ settings->reportProgress = -1 ;
1105+ ASSERT (parser->parseFromArgs (3 , argv));
1106+ ASSERT_EQUALS (1 , settings->reportProgress );
10691107 ASSERT_EQUALS (" " , GET_REDIRECT_OUTPUT);
10701108 }
10711109
0 commit comments