@@ -440,6 +440,10 @@ class TestCmdlineParser : public TestFixture {
440440 TEST_CASE (debugClangOutput);
441441 TEST_CASE (debugXmlMultiple);
442442 TEST_CASE (debugNormalXmlMultiple);
443+ TEST_CASE (safety);
444+ TEST_CASE (safetyOverride);
445+ TEST_CASE (noSafety);
446+ TEST_CASE (noSafetyOverride);
443447
444448 TEST_CASE (ignorepaths1);
445449 TEST_CASE (ignorepaths2);
@@ -2974,6 +2978,34 @@ class TestCmdlineParser : public TestFixture {
29742978 ASSERT_EQUALS (" cppcheck: error: printing debug output in XML format does not support multiple input files.\n " , logger->str ());
29752979 }
29762980
2981+ void safety () {
2982+ REDIRECT;
2983+ const char * const argv[] = {" cppcheck" , " --safety" , " file.cpp" };
2984+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
2985+ ASSERT_EQUALS (true , settings->safety );
2986+ }
2987+
2988+ void safetyOverride () {
2989+ REDIRECT;
2990+ const char * const argv[] = {" cppcheck" , " --no-safety" , " --safety" , " file.cpp" };
2991+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
2992+ ASSERT_EQUALS (true , settings->safety );
2993+ }
2994+
2995+ void noSafety () {
2996+ REDIRECT;
2997+ const char * const argv[] = {" cppcheck" , " --no-safety" , " file.cpp" };
2998+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
2999+ ASSERT_EQUALS (false , settings->safety );
3000+ }
3001+
3002+ void noSafetyOverride () {
3003+ REDIRECT;
3004+ const char * const argv[] = {" cppcheck" , " --safety" , " --no-safety" , " file.cpp" };
3005+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3006+ ASSERT_EQUALS (false , settings->safety );
3007+ }
3008+
29773009 void ignorepaths1 () {
29783010 REDIRECT;
29793011 const char * const argv[] = {" cppcheck" , " -isrc" , " file.cpp" };
0 commit comments