add --suppress= command line option
This commit is contained in:
parent
d20987c3da
commit
22210e0255
|
@ -197,6 +197,18 @@ bool CmdLineParser::ParseFromArgs(int argc, const char* const argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (strncmp(argv[i], "--suppress=", 11) == 0)
|
||||||
|
{
|
||||||
|
std::string suppression = argv[i];
|
||||||
|
suppression = suppression.substr(11);
|
||||||
|
const std::string errmsg(_settings->nomsg.addSuppressionLine(suppression));
|
||||||
|
if (!errmsg.empty())
|
||||||
|
{
|
||||||
|
PrintMessage(errmsg);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Enables inline suppressions.
|
// Enables inline suppressions.
|
||||||
else if (strcmp(argv[i], "--inline-suppr") == 0)
|
else if (strcmp(argv[i], "--inline-suppr") == 0)
|
||||||
_settings->_inlineSuppressions = true;
|
_settings->_inlineSuppressions = true;
|
||||||
|
|
|
@ -77,6 +77,8 @@ private:
|
||||||
TEST_CASE(suppressionsOld); // TODO: Create and test real suppression file
|
TEST_CASE(suppressionsOld); // TODO: Create and test real suppression file
|
||||||
TEST_CASE(suppressions)
|
TEST_CASE(suppressions)
|
||||||
TEST_CASE(suppressionsNoFile)
|
TEST_CASE(suppressionsNoFile)
|
||||||
|
TEST_CASE(suppressionSingle)
|
||||||
|
TEST_CASE(suppressionSingleFile)
|
||||||
TEST_CASE(templates);
|
TEST_CASE(templates);
|
||||||
TEST_CASE(templatesGcc);
|
TEST_CASE(templatesGcc);
|
||||||
TEST_CASE(templatesVs);
|
TEST_CASE(templatesVs);
|
||||||
|
@ -554,6 +556,26 @@ private:
|
||||||
ASSERT(!parser.ParseFromArgs(3, argv));
|
ASSERT(!parser.ParseFromArgs(3, argv));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void suppressionSingle()
|
||||||
|
{
|
||||||
|
REDIRECT;
|
||||||
|
const char *argv[] = {"cppcheck", "--suppress=uninitvar", "file.cpp"};
|
||||||
|
Settings settings;
|
||||||
|
CmdLineParser parser(&settings);
|
||||||
|
ASSERT(parser.ParseFromArgs(3, argv));
|
||||||
|
ASSERT_EQUALS(true, settings.nomsg.isSuppressed("uninitvar", "file.cpp", 1U));
|
||||||
|
}
|
||||||
|
|
||||||
|
void suppressionSingleFile()
|
||||||
|
{
|
||||||
|
REDIRECT;
|
||||||
|
const char *argv[] = {"cppcheck", "--suppress=uninitvar:file.cpp", "file.cpp"};
|
||||||
|
Settings settings;
|
||||||
|
CmdLineParser parser(&settings);
|
||||||
|
ASSERT(parser.ParseFromArgs(3, argv));
|
||||||
|
ASSERT_EQUALS(true, settings.nomsg.isSuppressed("uninitvar", "file.cpp", 1U));
|
||||||
|
}
|
||||||
|
|
||||||
void templates()
|
void templates()
|
||||||
{
|
{
|
||||||
REDIRECT;
|
REDIRECT;
|
||||||
|
|
Loading…
Reference in New Issue