@@ -478,6 +478,10 @@ class TestCmdlineParser : public TestFixture {
478478 TEST_CASE (debugNormalVerbose);
479479 TEST_CASE (debug);
480480 TEST_CASE (debugVerbose);
481+ TEST_CASE (safety);
482+ TEST_CASE (safetyOverride);
483+ TEST_CASE (noSafety);
484+ TEST_CASE (noSafetyOverride);
481485
482486 TEST_CASE (ignorepaths1);
483487 TEST_CASE (ignorepaths2);
@@ -3360,6 +3364,34 @@ class TestCmdlineParser : public TestFixture {
33603364 ASSERT_EQUALS (true , settings->debugsymdb );
33613365 }
33623366
3367+ void safety () {
3368+ REDIRECT;
3369+ const char * const argv[] = {" cppcheck" , " --safety" , " file.cpp" };
3370+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3371+ ASSERT_EQUALS (true , settings->safety );
3372+ }
3373+
3374+ void safetyOverride () {
3375+ REDIRECT;
3376+ const char * const argv[] = {" cppcheck" , " --no-safety" , " --safety" , " file.cpp" };
3377+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3378+ ASSERT_EQUALS (true , settings->safety );
3379+ }
3380+
3381+ void noSafety () {
3382+ REDIRECT;
3383+ const char * const argv[] = {" cppcheck" , " --no-safety" , " file.cpp" };
3384+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3385+ ASSERT_EQUALS (false , settings->safety );
3386+ }
3387+
3388+ void noSafetyOverride () {
3389+ REDIRECT;
3390+ const char * const argv[] = {" cppcheck" , " --safety" , " --no-safety" , " file.cpp" };
3391+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3392+ ASSERT_EQUALS (false , settings->safety );
3393+ }
3394+
33633395 void ignorepaths1 () {
33643396 REDIRECT;
33653397 const char * const argv[] = {" cppcheck" , " -isrc" , " file.cpp" };
0 commit comments