From 7596282cbae2ff55fc91bc70509b8084aff51285 Mon Sep 17 00:00:00 2001 From: PKEuS Date: Mon, 1 Apr 2013 04:15:05 -0700 Subject: [PATCH] Improved test coverage: Ensure that passing multiple to --enable works. Check settings.isEnabled("warning"). --- test/testcmdlineparser.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/testcmdlineparser.cpp b/test/testcmdlineparser.cpp index e8c1ca1fa..946376ee8 100644 --- a/test/testcmdlineparser.cpp +++ b/test/testcmdlineparser.cpp @@ -70,6 +70,7 @@ private: #ifndef NDEBUG TEST_CASE(enabledInternal); #endif + TEST_CASE(enabledMultiple); TEST_CASE(errorExitcode); TEST_CASE(errorExitcodeMissing); TEST_CASE(errorExitcodeStr); @@ -477,6 +478,7 @@ private: CmdLineParser parser(&settings); ASSERT(parser.ParseFromArgs(3, argv)); ASSERT(settings.isEnabled("style")); + ASSERT(settings.isEnabled("warning")); ASSERT(settings.isEnabled("unusedFunction")); ASSERT(settings.isEnabled("missingInclude")); ASSERT(!settings.isEnabled("internal")); @@ -489,6 +491,7 @@ private: CmdLineParser parser(&settings); ASSERT(parser.ParseFromArgs(3, argv)); ASSERT(settings.isEnabled("style")); + ASSERT(settings.isEnabled("warning")); ASSERT(settings.isEnabled("performance")); ASSERT(settings.isEnabled("portability")); ASSERT(!settings.isEnabled("unusedFunction")); @@ -502,6 +505,7 @@ private: CmdLineParser parser(&settings); ASSERT(parser.ParseFromArgs(3, argv)); ASSERT(!settings.isEnabled("style")); + ASSERT(!settings.isEnabled("warning")); ASSERT(settings.isEnabled("performance")); ASSERT(!settings.isEnabled("portability")); ASSERT(!settings.isEnabled("unusedFunction")); @@ -515,6 +519,7 @@ private: CmdLineParser parser(&settings); ASSERT(parser.ParseFromArgs(3, argv)); ASSERT(!settings.isEnabled("style")); + ASSERT(!settings.isEnabled("warning")); ASSERT(!settings.isEnabled("performance")); ASSERT(settings.isEnabled("portability")); ASSERT(!settings.isEnabled("unusedFunction")); @@ -550,6 +555,20 @@ private: } #endif + void enabledMultiple() { + REDIRECT; + const char *argv[] = {"cppcheck", "--enable=missingInclude,portability,warning", "file.cpp"}; + settings = Settings(); + CmdLineParser parser(&settings); + ASSERT(parser.ParseFromArgs(3, argv)); + ASSERT(!settings.isEnabled("style")); + ASSERT(settings.isEnabled("warning")); + ASSERT(!settings.isEnabled("performance")); + ASSERT(settings.isEnabled("portability")); + ASSERT(!settings.isEnabled("unusedFunction")); + ASSERT(settings.isEnabled("missingInclude")); + } + void errorExitcode() { REDIRECT; const char *argv[] = {"cppcheck", "--error-exitcode=5", "file.cpp"};