From 0882a4efb9bfce4734c8e99315a65954bffd66b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 9 May 2025 19:16:03 +0200 Subject: [PATCH] Fix #13840 (Cppcheck Premium: Troubleshooting option to save progress info) --- cli/cmdlineparser.cpp | 3 ++- test/testcmdlineparser.cpp | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/cli/cmdlineparser.cpp b/cli/cmdlineparser.cpp index cbcc456cbc6..fe2a59c512a 100644 --- a/cli/cmdlineparser.cpp +++ b/cli/cmdlineparser.cpp @@ -1145,7 +1145,8 @@ CmdLineParser::Result CmdLineParser::parseFromArgs(int argc, const char* const a "misra-c++-2023", "misra-cpp-2023", "bughunting", - "safety"}; + "safety", + "debug-progress"}; // valid options --premium-..= const std::set valid2{ "cert-c-int-precision", diff --git a/test/testcmdlineparser.cpp b/test/testcmdlineparser.cpp index 55c4ba8562f..9577b54b812 100644 --- a/test/testcmdlineparser.cpp +++ b/test/testcmdlineparser.cpp @@ -237,6 +237,7 @@ class TestCmdlineParser : public TestFixture { TEST_CASE(premiumOptionsInvalid1); TEST_CASE(premiumOptionsInvalid2); TEST_CASE(premiumSafety); + TEST_CASE(premiumDebugProgress); TEST_CASE(reportProgress1); TEST_CASE(reportProgress2); TEST_CASE(reportProgress3); @@ -1454,6 +1455,14 @@ class TestCmdlineParser : public TestFixture { ASSERT_EQUALS(true, settings->safety); } + void premiumDebugProgress() { + REDIRECT; + asPremium(); + const char * const argv[] = {"cppcheck", "--premium=debug-progress", "file.cpp"}; + ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parseFromArgs(argv)); + ASSERT_EQUALS("--debug-progress", settings->premiumArgs); + } + void reportProgress1() { REDIRECT; const char * const argv[] = {"cppcheck", "--report-progress", "file.cpp"};