Skip to content

Commit 1f96076

Browse files
committed
s
1 parent b786abc commit 1f96076

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

test/testcmdlineparser.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ class TestCmdlineParser : public TestFixture {
125125
void run() override {
126126
TEST_CASE(nooptions);
127127
TEST_CASE(nooptionsWithCfg);
128+
TEST_CASE(nooptionsWithInvalidCfg);
128129
TEST_CASE(helpshort);
129130
TEST_CASE(helpshortExclusive);
130131
TEST_CASE(helpshortWithCfg);
@@ -134,7 +135,6 @@ class TestCmdlineParser : public TestFixture {
134135
TEST_CASE(version);
135136
TEST_CASE(versionWithCfg);
136137
TEST_CASE(versionExclusive);
137-
TEST_CASE(versionWithInvalidCfg);
138138
TEST_CASE(checkVersionCorrect);
139139
TEST_CASE(checkVersionIncorrect);
140140
TEST_CASE(onefile);
@@ -328,7 +328,6 @@ class TestCmdlineParser : public TestFixture {
328328
TEST_CASE(errorlist);
329329
TEST_CASE(errorlistWithCfg);
330330
TEST_CASE(errorlistExclusive);
331-
TEST_CASE(errorlistWithInvalidCfg);
332331
TEST_CASE(ignorepathsnopath);
333332
#if defined(USE_WINDOWS_SEH) || defined(USE_UNIX_SIGNAL_HANDLING)
334333
TEST_CASE(exceptionhandling);
@@ -545,11 +544,22 @@ class TestCmdlineParser : public TestFixture {
545544
"}\n");
546545
const char * const argv[] = {"cppcheck"};
547546
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Exit, parseFromArgs(argv));
547+
ASSERT_EQUALS(1, settings->settingsFiles.size());
548+
ASSERT_EQUALS(file.path(), *settings->settingsFiles.cbegin());
548549
std::string log_str = logger->str();
549550
ASSERT_MSG(startsWith(log_str, "Cppcheck - A tool for static C/C++ code analysis"), "header");
550551
ASSERT_MSG(log_str.find("https://files.cppchecksolutions.com/manual.pdf") != std::string::npos, "help url");
551552
}
552553

554+
void nooptionsWithInvalidCfg() {
555+
REDIRECT;
556+
ScopedFile file(Path::join(Path::getPathFromFilename(Path::getCurrentExecutablePath("")), "cppcheck.cfg"),
557+
"{\n");
558+
const char * const argv[] = {"cppcheck"};
559+
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Fail, parseFromArgs(argv));
560+
ASSERT_EQUALS("cppcheck: error: could not load cppcheck.cfg - not a valid JSON - syntax error at line 2 near: \n", logger->str());
561+
}
562+
553563
void helpshort() {
554564
REDIRECT;
555565
const char * const argv[] = {"cppcheck", "-h"};
@@ -572,6 +582,8 @@ class TestCmdlineParser : public TestFixture {
572582
"}\n");
573583
const char * const argv[] = {"cppcheck", "-h"};
574584
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Exit, parseFromArgs(argv));
585+
ASSERT_EQUALS(1, settings->settingsFiles.size());
586+
ASSERT_EQUALS(file.path(), *settings->settingsFiles.cbegin());
575587
std::string log_str = logger->str();
576588
ASSERT_MSG(startsWith(log_str, "Cppcheck - A tool for static C/C++ code analysis"), "header");
577589
ASSERT_MSG(log_str.find("https://files.cppchecksolutions.com/manual.pdf") != std::string::npos, "help url");
@@ -599,6 +611,8 @@ class TestCmdlineParser : public TestFixture {
599611
"}\n");
600612
const char * const argv[] = {"cppcheck", "--help"};
601613
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Exit, parseFromArgs(argv));
614+
ASSERT_EQUALS(1, settings->settingsFiles.size());
615+
ASSERT_EQUALS(file.path(), *settings->settingsFiles.cbegin());
602616
std::string log_str = logger->str();
603617
ASSERT_MSG(startsWith(log_str, "Cppcheck - A tool for static C/C++ code analysis"), "header");
604618
ASSERT_MSG(log_str.find("https://files.cppchecksolutions.com/manual.pdf") != std::string::npos, "help url");
@@ -619,6 +633,8 @@ class TestCmdlineParser : public TestFixture {
619633
"}\n");
620634
const char * const argv[] = {"cppcheck", "--version"};
621635
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Exit, parseFromArgs(argv));
636+
ASSERT_EQUALS(1, settings->settingsFiles.size());
637+
ASSERT_EQUALS(file.path(), *settings->settingsFiles.cbegin());
622638
ASSERT_EQUALS("The Product\n", logger->str()); // TODO: include version?
623639
}
624640

@@ -631,15 +647,6 @@ class TestCmdlineParser : public TestFixture {
631647
ASSERT(logger->str().compare(0, 11, "Cppcheck 2.") == 0);
632648
}
633649

634-
void versionWithInvalidCfg() {
635-
REDIRECT;
636-
ScopedFile file(Path::join(Path::getPathFromFilename(Path::getCurrentExecutablePath("")), "cppcheck.cfg"),
637-
"{\n");
638-
const char * const argv[] = {"cppcheck", "--version"};
639-
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Fail, parseFromArgs(argv));
640-
ASSERT_EQUALS("cppcheck: error: could not load cppcheck.cfg - not a valid JSON - syntax error at line 2 near: \n", logger->str());
641-
}
642-
643650
void checkVersionCorrect() {
644651
REDIRECT;
645652
const std::string currentVersion = parser->getVersion();
@@ -2214,6 +2221,8 @@ class TestCmdlineParser : public TestFixture {
22142221
R"({"productName": "The Product"}\n)");
22152222
const char * const argv[] = {"cppcheck", "--errorlist"};
22162223
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Exit, parseFromArgs(argv));
2224+
ASSERT_EQUALS(1, settings->settingsFiles.size());
2225+
ASSERT_EQUALS(file.path(), *settings->settingsFiles.cbegin());
22172226
ASSERT_EQUALS("", logger->str()); // empty since it is logged via ErrorLogger
22182227
ASSERT(startsWith(GET_REDIRECT_OUTPUT, ErrorMessage::getXMLHeader("The Product")));
22192228
}
@@ -2228,15 +2237,6 @@ class TestCmdlineParser : public TestFixture {
22282237
ASSERT(endsWith(errout_s, "</results>\n"));
22292238
}
22302239

2231-
void errorlistWithInvalidCfg() {
2232-
REDIRECT;
2233-
ScopedFile file(Path::join(Path::getPathFromFilename(Path::getCurrentExecutablePath("")), "cppcheck.cfg"),
2234-
"{\n");
2235-
const char * const argv[] = {"cppcheck", "--errorlist"};
2236-
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Fail, parseFromArgs(argv));
2237-
ASSERT_EQUALS("cppcheck: error: could not load cppcheck.cfg - not a valid JSON - syntax error at line 2 near: \n", logger->str());
2238-
}
2239-
22402240
void ignorepathsnopath() {
22412241
REDIRECT;
22422242
const char * const argv[] = {"cppcheck", "-i"};

0 commit comments

Comments
 (0)