@@ -208,11 +208,13 @@ class TestCmdlineParser : public TestFixture {
208
208
TEST_CASE (maxConfigsMissingCount);
209
209
TEST_CASE (maxConfigsInvalid);
210
210
TEST_CASE (maxConfigsTooSmall);
211
+ TEST_CASE (outputFormatText);
211
212
TEST_CASE (outputFormatSarif);
212
213
TEST_CASE (outputFormatXml);
213
214
TEST_CASE (outputFormatOther);
214
215
TEST_CASE (outputFormatImplicitPlist);
215
216
TEST_CASE (outputFormatImplicitXml);
217
+ TEST_CASE (outputFormatOverridePlist);
216
218
TEST_CASE (premiumOptions1);
217
219
TEST_CASE (premiumOptions2);
218
220
TEST_CASE (premiumOptions3);
@@ -1279,6 +1281,13 @@ class TestCmdlineParser : public TestFixture {
1279
1281
ASSERT_EQUALS (" cppcheck: error: argument to '--max-configs=' must be greater than 0.\n " , logger->str ());
1280
1282
}
1281
1283
1284
+ void outputFormatText () {
1285
+ REDIRECT;
1286
+ const char * const argv[] = {" cppcheck" , " --output-format=text" , " file.cpp" };
1287
+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parser->parseFromArgs (3 , argv));
1288
+ ASSERT_EQUALS_ENUM (Settings::OutputFormat::text, settings->outputFormat );
1289
+ }
1290
+
1282
1291
void outputFormatSarif () {
1283
1292
REDIRECT;
1284
1293
const char * const argv[] = {" cppcheck" , " --output-format=sarif" , " file.cpp" };
@@ -1295,16 +1304,17 @@ class TestCmdlineParser : public TestFixture {
1295
1304
1296
1305
void outputFormatOther () {
1297
1306
REDIRECT;
1298
- const char * const argv[] = {" cppcheck" , " --output-format=text " , " file.cpp" };
1307
+ const char * const argv[] = {" cppcheck" , " --output-format=plist " , " file.cpp" };
1299
1308
ASSERT_EQUALS_ENUM (CmdLineParser::Result::Fail, parser->parseFromArgs (3 , argv));
1300
- ASSERT_EQUALS (" cppcheck: error: argument to '--output-format=' must be 'sarif' or 'xml'.\n " , logger->str ());
1309
+ ASSERT_EQUALS (" cppcheck: error: argument to '--output-format=' must be 'text', ' sarif' or 'xml'.\n " , logger->str ());
1301
1310
}
1302
1311
1303
1312
void outputFormatImplicitPlist () {
1304
1313
REDIRECT;
1305
1314
const char * const argv[] = {" cppcheck" , " --plist-output=." , " file.cpp" };
1306
1315
ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parser->parseFromArgs (3 , argv));
1307
1316
ASSERT_EQUALS_ENUM (Settings::OutputFormat::plist, settings->outputFormat );
1317
+ ASSERT_EQUALS (" ./" , settings->plistOutput );
1308
1318
}
1309
1319
1310
1320
void outputFormatImplicitXml () {
@@ -1314,6 +1324,14 @@ class TestCmdlineParser : public TestFixture {
1314
1324
ASSERT_EQUALS_ENUM (Settings::OutputFormat::xml, settings->outputFormat );
1315
1325
}
1316
1326
1327
+ void outputFormatOverridePlist () {
1328
+ REDIRECT;
1329
+ const char * const argv[] = {" cppcheck" , " --plist-output=." , " --output-format=text" , " file.cpp" };
1330
+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parser->parseFromArgs (4 , argv));
1331
+ ASSERT_EQUALS_ENUM (Settings::OutputFormat::text, settings->outputFormat );
1332
+ ASSERT_EQUALS (" " , settings->plistOutput );
1333
+ }
1334
+
1317
1335
void premiumOptions1 () {
1318
1336
REDIRECT;
1319
1337
asPremium ();
0 commit comments