Skip to content

Commit dc439f6

Browse files
committed
Added some unit tests to improve test coverage in cmdlineparser
1 parent f95b29d commit dc439f6

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

test/testcmdlineparser.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "cmdlineparser.h"
2121
#include "settings.h"
2222
#include "redirect.h"
23+
#include "timer.h"
2324

2425
class TestCmdlineParser : public TestFixture {
2526
public:
@@ -74,6 +75,7 @@ class TestCmdlineParser : public TestFixture {
7475
TEST_CASE(enabledInternal);
7576
#endif
7677
TEST_CASE(enabledMultiple);
78+
TEST_CASE(inconclusive);
7779
TEST_CASE(errorExitcode);
7880
TEST_CASE(errorExitcodeMissing);
7981
TEST_CASE(errorExitcodeStr);
@@ -94,6 +96,7 @@ class TestCmdlineParser : public TestFixture {
9496
TEST_CASE(stdposix);
9597
TEST_CASE(stdc99);
9698
TEST_CASE(stdcpp11);
99+
TEST_CASE(platform);
97100
TEST_CASE(suppressionsOld); // TODO: Create and test real suppression file
98101
TEST_CASE(suppressions);
99102
TEST_CASE(suppressionsNoFile);
@@ -112,6 +115,8 @@ class TestCmdlineParser : public TestFixture {
112115
TEST_CASE(xmlver2both2);
113116
TEST_CASE(xmlverunknown);
114117
TEST_CASE(xmlverinvalid);
118+
TEST_CASE(doc);
119+
TEST_CASE(showtime);
115120
TEST_CASE(errorlist1);
116121
TEST_CASE(errorlistverbose1);
117122
TEST_CASE(errorlistverbose2);
@@ -534,6 +539,14 @@ class TestCmdlineParser : public TestFixture {
534539
ASSERT(settings.isEnabled("missingInclude"));
535540
}
536541

542+
void inconclusive() {
543+
REDIRECT;
544+
const char *argv[] = {"cppcheck", "--inconclusive"};
545+
settings.inconclusive = false;
546+
ASSERT(defParser.ParseFromArgs(2, argv));
547+
ASSERT_EQUALS(true, settings.inconclusive);
548+
}
549+
537550
void errorExitcode() {
538551
REDIRECT;
539552
const char *argv[] = {"cppcheck", "--error-exitcode=5", "file.cpp"};
@@ -690,6 +703,14 @@ class TestCmdlineParser : public TestFixture {
690703
ASSERT(settings.standards.cpp == Standards::CPP11);
691704
}
692705

706+
void platform() {
707+
REDIRECT;
708+
const char *argv[] = {"cppcheck", "--platform=win64", "file.cpp"};
709+
settings.platform(Settings::Unspecified);
710+
ASSERT(defParser.ParseFromArgs(3, argv));
711+
ASSERT(settings.platformType == Settings::Win64);
712+
}
713+
693714
void suppressionsOld() {
694715
// TODO: Fails because there is no suppr.txt file!
695716
REDIRECT;
@@ -858,6 +879,21 @@ class TestCmdlineParser : public TestFixture {
858879
ASSERT_EQUALS(false, defParser.ParseFromArgs(4, argv));
859880
}
860881

882+
void doc() {
883+
REDIRECT;
884+
const char *argv[] = {"cppcheck", "--doc"};
885+
ASSERT(defParser.ParseFromArgs(2, argv));
886+
ASSERT(defParser.ExitAfterPrinting());
887+
}
888+
889+
void showtime() {
890+
REDIRECT;
891+
const char *argv[] = {"cppcheck", "--showtime=summary"};
892+
settings._showtime = SHOWTIME_NONE;
893+
ASSERT(defParser.ParseFromArgs(2, argv));
894+
ASSERT(settings._showtime == SHOWTIME_SUMMARY);
895+
}
896+
861897
void errorlist1() {
862898
REDIRECT;
863899
const char *argv[] = {"cppcheck", "--errorlist"};

0 commit comments

Comments
 (0)