@@ -480,6 +480,10 @@ class TestCmdlineParser : public TestFixture {
480480 TEST_CASE (debugNormalVerbose);
481481 TEST_CASE (debug);
482482 TEST_CASE (debugVerbose);
483+ TEST_CASE (safety);
484+ TEST_CASE (safetyOverride);
485+ TEST_CASE (noSafety);
486+ TEST_CASE (noSafetyOverride);
483487
484488 TEST_CASE (ignorepaths1);
485489 TEST_CASE (ignorepaths2);
@@ -3380,6 +3384,34 @@ class TestCmdlineParser : public TestFixture {
33803384 ASSERT_EQUALS (true , settings->debugsymdb );
33813385 }
33823386
3387+ void safety () {
3388+ REDIRECT;
3389+ const char * const argv[] = {" cppcheck" , " --safety" , " file.cpp" };
3390+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3391+ ASSERT_EQUALS (true , settings->safety );
3392+ }
3393+
3394+ void safetyOverride () {
3395+ REDIRECT;
3396+ const char * const argv[] = {" cppcheck" , " --no-safety" , " --safety" , " file.cpp" };
3397+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3398+ ASSERT_EQUALS (true , settings->safety );
3399+ }
3400+
3401+ void noSafety () {
3402+ REDIRECT;
3403+ const char * const argv[] = {" cppcheck" , " --no-safety" , " file.cpp" };
3404+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3405+ ASSERT_EQUALS (false , settings->safety );
3406+ }
3407+
3408+ void noSafetyOverride () {
3409+ REDIRECT;
3410+ const char * const argv[] = {" cppcheck" , " --safety" , " --no-safety" , " file.cpp" };
3411+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3412+ ASSERT_EQUALS (false , settings->safety );
3413+ }
3414+
33833415 void ignorepaths1 () {
33843416 REDIRECT;
33853417 const char * const argv[] = {" cppcheck" , " -isrc" , " file.cpp" };
0 commit comments