diff --git a/test/testcmdlineparser.cpp b/test/testcmdlineparser.cpp index e854400c9461..67ebc5668b7c 100644 --- a/test/testcmdlineparser.cpp +++ b/test/testcmdlineparser.cpp @@ -430,6 +430,11 @@ class TestCmdlineParser : public TestFixture { TEST_CASE(ignorefilepaths1); TEST_CASE(ignorefilepaths2); TEST_CASE(ignorefilepaths3); + TEST_CASE(ignorefilepaths4); + TEST_CASE(ignorefilepaths5); + TEST_CASE(ignorefilepaths6); + TEST_CASE(ignorefilepaths7); + TEST_CASE(ignorefilepaths8); TEST_CASE(nonexistentpath); @@ -2913,6 +2918,8 @@ class TestCmdlineParser : public TestFixture { ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv)); ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); ASSERT_EQUALS("src", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); } void ignorepaths2() { @@ -2921,6 +2928,8 @@ class TestCmdlineParser : public TestFixture { ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(4, argv)); ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); ASSERT_EQUALS("src", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); } void ignorepaths3() { @@ -2930,6 +2939,8 @@ class TestCmdlineParser : public TestFixture { ASSERT_EQUALS(2, parser->getIgnoredPaths().size()); ASSERT_EQUALS("src", parser->getIgnoredPaths()[0]); ASSERT_EQUALS("module", parser->getIgnoredPaths()[1]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); } void ignorepaths4() { @@ -2939,6 +2950,8 @@ class TestCmdlineParser : public TestFixture { ASSERT_EQUALS(2, parser->getIgnoredPaths().size()); ASSERT_EQUALS("src", parser->getIgnoredPaths()[0]); ASSERT_EQUALS("module", parser->getIgnoredPaths()[1]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); } void ignorefilepaths1() { @@ -2947,6 +2960,8 @@ class TestCmdlineParser : public TestFixture { ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv)); ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); ASSERT_EQUALS("foo.cpp", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); } void ignorefilepaths2() { @@ -2955,6 +2970,8 @@ class TestCmdlineParser : public TestFixture { ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv)); ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); ASSERT_EQUALS("src/foo.cpp", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); } void ignorefilepaths3() { @@ -2963,6 +2980,63 @@ class TestCmdlineParser : public TestFixture { ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(4, argv)); ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); ASSERT_EQUALS("foo.cpp", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); + } + + void ignorefilepaths4() { + REDIRECT; + const char * const argv[] = {"cppcheck", "-ifoo.cpp", "file.cpp"}; + ASSERT(!parser->fillSettingsFromArgs(3, argv)); + ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); + ASSERT_EQUALS("foo.cpp", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); + TODO_ASSERT_EQUALS("cppcheck: error: could not find or open any of the paths given.\n", "cppcheck: error: could not find or open any of the paths given.\ncppcheck: Maybe all paths were ignored?\n", logger->str()); + } + + void ignorefilepaths5() { + REDIRECT; + const char * const argv[] = {"cppcheck", "-ifile.cpp", "file.cpp"}; + ASSERT(!parser->fillSettingsFromArgs(3, argv)); + ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); + ASSERT_EQUALS("file.cpp", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("file.cpp", parser->getPathNames()[0]); + ASSERT_EQUALS("cppcheck: error: could not find or open any of the paths given.\ncppcheck: Maybe all paths were ignored?\n", logger->str()); + } + + void ignorefilepaths6() { + REDIRECT; + const char * const argv[] = {"cppcheck", "-isrc/file.cpp", "src/file.cpp"}; + ASSERT(!parser->fillSettingsFromArgs(3, argv)); + ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); + ASSERT_EQUALS("src/file.cpp", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("src/file.cpp", parser->getPathNames()[0]); + ASSERT_EQUALS("cppcheck: error: could not find or open any of the paths given.\ncppcheck: Maybe all paths were ignored?\n", logger->str()); + } + + void ignorefilepaths7() { + REDIRECT; + const char * const argv[] = {"cppcheck", "-isrc\\file.cpp", "src/file.cpp"}; + ASSERT(!parser->fillSettingsFromArgs(3, argv)); + ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); + ASSERT_EQUALS("src/file.cpp", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("src/file.cpp", parser->getPathNames()[0]); + ASSERT_EQUALS("cppcheck: error: could not find or open any of the paths given.\ncppcheck: Maybe all paths were ignored?\n", logger->str()); + } + + void ignorefilepaths8() { + REDIRECT; + const char * const argv[] = {"cppcheck", "-isrc/file.cpp", "src\\file.cpp"}; + ASSERT(!parser->fillSettingsFromArgs(3, argv)); + ASSERT_EQUALS(1, parser->getIgnoredPaths().size()); + ASSERT_EQUALS("src/file.cpp", parser->getIgnoredPaths()[0]); + ASSERT_EQUALS(1, parser->getPathNames().size()); + ASSERT_EQUALS("src/file.cpp", parser->getPathNames()[0]); + ASSERT_EQUALS("cppcheck: error: could not find or open any of the paths given.\ncppcheck: Maybe all paths were ignored?\n", logger->str()); } void nonexistentpath() {