@@ -476,6 +476,10 @@ class TestCmdlineParser : public TestFixture {
476476 TEST_CASE (debugNormalVerbose);
477477 TEST_CASE (debug);
478478 TEST_CASE (debugVerbose);
479+ TEST_CASE (safety);
480+ TEST_CASE (safetyOverride);
481+ TEST_CASE (noSafety);
482+ TEST_CASE (noSafetyOverride);
479483
480484 TEST_CASE (ignorepaths1);
481485 TEST_CASE (ignorepaths2);
@@ -3320,6 +3324,34 @@ class TestCmdlineParser : public TestFixture {
33203324 ASSERT_EQUALS (true , settings->debugsymdb );
33213325 }
33223326
3327+ void safety () {
3328+ REDIRECT;
3329+ const char * const argv[] = {" cppcheck" , " --safety" , " file.cpp" };
3330+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3331+ ASSERT_EQUALS (true , settings->safety );
3332+ }
3333+
3334+ void safetyOverride () {
3335+ REDIRECT;
3336+ const char * const argv[] = {" cppcheck" , " --no-safety" , " --safety" , " file.cpp" };
3337+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3338+ ASSERT_EQUALS (true , settings->safety );
3339+ }
3340+
3341+ void noSafety () {
3342+ REDIRECT;
3343+ const char * const argv[] = {" cppcheck" , " --no-safety" , " file.cpp" };
3344+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3345+ ASSERT_EQUALS (false , settings->safety );
3346+ }
3347+
3348+ void noSafetyOverride () {
3349+ REDIRECT;
3350+ const char * const argv[] = {" cppcheck" , " --safety" , " --no-safety" , " file.cpp" };
3351+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3352+ ASSERT_EQUALS (false , settings->safety );
3353+ }
3354+
33233355 void ignorepaths1 () {
33243356 REDIRECT;
33253357 const char * const argv[] = {" cppcheck" , " -isrc" , " file.cpp" };
0 commit comments