@@ -489,6 +489,10 @@ class TestCmdlineParser : public TestFixture {
489489 TEST_CASE (debugNormalVerbose);
490490 TEST_CASE (debug);
491491 TEST_CASE (debugVerbose);
492+ TEST_CASE (safety);
493+ TEST_CASE (safetyOverride);
494+ TEST_CASE (noSafety);
495+ TEST_CASE (noSafetyOverride);
492496
493497 TEST_CASE (ignorepaths1);
494498 TEST_CASE (ignorepaths2);
@@ -3389,6 +3393,34 @@ class TestCmdlineParser : public TestFixture {
33893393 ASSERT_EQUALS (true , settings->debugsymdb );
33903394 }
33913395
3396+ void safety () {
3397+ REDIRECT;
3398+ const char * const argv[] = {" cppcheck" , " --safety" , " file.cpp" };
3399+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3400+ ASSERT_EQUALS (true , settings->safety );
3401+ }
3402+
3403+ void safetyOverride () {
3404+ REDIRECT;
3405+ const char * const argv[] = {" cppcheck" , " --no-safety" , " --safety" , " file.cpp" };
3406+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3407+ ASSERT_EQUALS (true , settings->safety );
3408+ }
3409+
3410+ void noSafety () {
3411+ REDIRECT;
3412+ const char * const argv[] = {" cppcheck" , " --no-safety" , " file.cpp" };
3413+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3414+ ASSERT_EQUALS (false , settings->safety );
3415+ }
3416+
3417+ void noSafetyOverride () {
3418+ REDIRECT;
3419+ const char * const argv[] = {" cppcheck" , " --safety" , " --no-safety" , " file.cpp" };
3420+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3421+ ASSERT_EQUALS (false , settings->safety );
3422+ }
3423+
33923424 void ignorepaths1 () {
33933425 REDIRECT;
33943426 const char * const argv[] = {" cppcheck" , " -isrc" , " file.cpp" };
0 commit comments