Skip to content

Commit 88eb768

Browse files
committed
add test
1 parent 422e90c commit 88eb768

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

test/testimportproject.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ class TestImportProject : public TestFixture {
7979
TEST_CASE(importCompileCommandsDirectoryMissing); // 'directory' field missing
8080
TEST_CASE(importCompileCommandsDirectoryInvalid); // 'directory' field not a string
8181
TEST_CASE(importCppcheckGuiProject);
82+
TEST_CASE(importCppcheckGuiProjectDuplicateSuppressions);
8283
TEST_CASE(importCppcheckGuiProjectPremiumMisra);
8384
TEST_CASE(ignorePaths);
8485
TEST_CASE(testVcxprojUnicode);
@@ -536,6 +537,26 @@ class TestImportProject : public TestFixture {
536537
ASSERT_EQUALS(true, s.inlineSuppressions);
537538
}
538539

540+
void importCppcheckGuiProjectDuplicateSuppressions() const {
541+
REDIRECT;
542+
constexpr char xml[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
543+
"<project version=\"1\">\n"
544+
" <root name=\".\"/>\n"
545+
" <project-name>test test</project-name>\n"
546+
" <suppressions>\n"
547+
" <suppression>uninitvar</suppression>\n"
548+
" <suppression>uninitvar</suppression>\n"
549+
" </suppressions>\n"
550+
"</project>\n";
551+
std::istringstream istr(xml);
552+
Settings s;
553+
Suppressions supprs;
554+
TestImporter project;
555+
ASSERT_EQUALS(false, project.importCppcheckGuiProject(istr, s, supprs));
556+
ASSERT_EQUALS(1, project.errors.size());
557+
ASSERT_EQUALS("suppression 'uninitvar' already exists", project.errors[0]);
558+
}
559+
539560
void importCppcheckGuiProjectPremiumMisra() const {
540561
REDIRECT;
541562
constexpr char xml[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"

0 commit comments

Comments
 (0)