@@ -479,6 +479,10 @@ class TestCmdlineParser : public TestFixture {
479479 TEST_CASE (debugNormalVerbose);
480480 TEST_CASE (debug);
481481 TEST_CASE (debugVerbose);
482+ TEST_CASE (safety);
483+ TEST_CASE (safetyOverride);
484+ TEST_CASE (noSafety);
485+ TEST_CASE (noSafetyOverride);
482486
483487 TEST_CASE (ignorepaths1);
484488 TEST_CASE (ignorepaths2);
@@ -3357,6 +3361,34 @@ class TestCmdlineParser : public TestFixture {
33573361 ASSERT_EQUALS (true , settings->debugsymdb );
33583362 }
33593363
3364+ void safety () {
3365+ REDIRECT;
3366+ const char * const argv[] = {" cppcheck" , " --safety" , " file.cpp" };
3367+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3368+ ASSERT_EQUALS (true , settings->safety );
3369+ }
3370+
3371+ void safetyOverride () {
3372+ REDIRECT;
3373+ const char * const argv[] = {" cppcheck" , " --no-safety" , " --safety" , " file.cpp" };
3374+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3375+ ASSERT_EQUALS (true , settings->safety );
3376+ }
3377+
3378+ void noSafety () {
3379+ REDIRECT;
3380+ const char * const argv[] = {" cppcheck" , " --no-safety" , " file.cpp" };
3381+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3382+ ASSERT_EQUALS (false , settings->safety );
3383+ }
3384+
3385+ void noSafetyOverride () {
3386+ REDIRECT;
3387+ const char * const argv[] = {" cppcheck" , " --safety" , " --no-safety" , " file.cpp" };
3388+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3389+ ASSERT_EQUALS (false , settings->safety );
3390+ }
3391+
33603392 void ignorepaths1 () {
33613393 REDIRECT;
33623394 const char * const argv[] = {" cppcheck" , " -isrc" , " file.cpp" };
0 commit comments