Skip to content

Commit 86c1f46

Browse files
committed
move guideline/classification logic to errorlogger
1 parent 7ee31a4 commit 86c1f46

File tree

6 files changed

+33
-46
lines changed

6 files changed

+33
-46
lines changed

gui/test/filelist/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ add_executable(test-filelist
88
${CMAKE_SOURCE_DIR}/lib/pathmatch.cpp
99
${CMAKE_SOURCE_DIR}/lib/path.cpp
1010
${CMAKE_SOURCE_DIR}/lib/utils.cpp
11-
${CMAKE_SOURCE_DIR}/lib/checkersidmapping.cpp
1211
$<TARGET_OBJECTS:simplecpp_objs>
1312
)
1413
target_include_directories(test-filelist PRIVATE ${CMAKE_SOURCE_DIR}/gui ${CMAKE_SOURCE_DIR}/lib)

gui/test/resultstree/CMakeLists.txt

+13-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ qt_wrap_cpp(test-resultstree_SRC
66
${CMAKE_SOURCE_DIR}/gui/threadhandler.h
77
${CMAKE_SOURCE_DIR}/gui/threadresult.h
88
)
9+
if(USE_BUNDLED_TINYXML2)
10+
list(APPEND test-resultstree_SRC $<TARGET_OBJECTS:tinyxml2_objs>)
11+
endif()
12+
list(APPEND test-resultstree_SRC $<TARGET_OBJECTS:simplecpp_objs> $<TARGET_OBJECTS:cppcheck-core>)
913
add_custom_target(build-resultstree-deps SOURCES ${test-resultstree_SRC})
1014
add_dependencies(gui-build-deps build-resultstree-deps)
1115
add_executable(test-resultstree
@@ -16,13 +20,19 @@ add_executable(test-resultstree
1620
${CMAKE_SOURCE_DIR}/gui/showtypes.cpp
1721
${CMAKE_SOURCE_DIR}/gui/report.cpp
1822
${CMAKE_SOURCE_DIR}/gui/xmlreportv2.cpp
19-
${CMAKE_SOURCE_DIR}/lib/checkers.cpp
20-
${CMAKE_SOURCE_DIR}/lib/checkersidmapping.cpp
21-
${CMAKE_SOURCE_DIR}/lib/utils.cpp
2223
)
2324
target_include_directories(test-resultstree PRIVATE ${CMAKE_SOURCE_DIR}/gui ${CMAKE_SOURCE_DIR}/lib)
25+
target_externals_include_directories(test-resultstree PRIVATE ${CMAKE_SOURCE_DIR}/externals/simplecpp)
26+
if(USE_BUNDLED_TINYXML2)
27+
target_externals_include_directories(test-resultstree PRIVATE ${PROJECT_SOURCE_DIR}/externals/tinyxml2/)
28+
else()
29+
target_include_directories(test-resultstree SYSTEM PRIVATE ${tinyxml2_INCLUDE_DIRS})
30+
endif()
2431
target_compile_definitions(test-resultstree PRIVATE SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
2532
target_link_libraries(test-resultstree ${QT_CORE_LIB} ${QT_GUI_LIB} ${QT_WIDGETS_LIB} ${QT_TEST_LIB})
33+
if (HAVE_RULES)
34+
target_link_libraries(cppcheck ${PCRE_LIBRARY})
35+
endif()
2636

2737
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
2838
# Q_UNUSED() in generated code

gui/test/resultstree/testresultstree.cpp

-21
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,6 @@ void ProjectFile::setWarningTags(std::size_t /*unused*/, const QString& /*unused
7676
bool ProjectFile::write(const QString & /*unused*/) {
7777
return true;
7878
}
79-
std::string severityToString(Severity severity) {
80-
return std::to_string((int)severity);
81-
}
8279
ApplicationList::ApplicationList(QObject *parent) : QObject(parent) {}
8380
ApplicationList::~ApplicationList() = default;
8481
int ApplicationList::getApplicationCount() const {
@@ -122,24 +119,6 @@ void ThreadResult::reportErr(const ErrorMessage & /*unused*/) {
122119
throw 1;
123120
}
124121

125-
// Mock LIB...
126-
bool Path::isHeader(std::string const& /*unused*/) {
127-
return false;
128-
}
129-
const std::set<std::string> ErrorLogger::mCriticalErrorIds;
130-
std::string ErrorMessage::FileLocation::getfile(bool /*unused*/) const {
131-
return std::string();
132-
}
133-
const char* CppCheck::version() {
134-
return "1.0";
135-
}
136-
std::pair<std::string, std::string> Settings::getNameAndVersion(const std::string& /*unused*/) {
137-
throw 1;
138-
}
139-
Severity severityFromString(const std::string& severity) {
140-
return (Severity)std::stoi(severity);
141-
}
142-
143122
// Test...
144123

145124
void TestResultsTree::test1() const

lib/errorlogger.cpp

+5-6
Original file line numberDiff line numberDiff line change
@@ -1056,13 +1056,12 @@ std::string getGuideline(const std::string &errId, ReportType reportType,
10561056
if (it != guidelineMapping.cend())
10571057
return it->second;
10581058

1059-
if (severity != Severity::error && severity != Severity::warning)
1060-
return "";
1061-
1062-
it = guidelineMapping.find(errId);
1059+
if (severity == Severity::error || severity == Severity::warning) {
1060+
it = guidelineMapping.find("error");
10631061

1064-
if (it != guidelineMapping.cend())
1065-
return it->second;
1062+
if (it != guidelineMapping.cend())
1063+
return it->second;
1064+
}
10661065

10671066
return "";
10681067
}

test/testcmdlineparser.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -3093,42 +3093,42 @@ class TestCmdlineParser : public TestFixture {
30933093
REDIRECT;
30943094
const char *const argv[] = { "cppcheck", "--report-type=autosar", "file.cpp" };
30953095
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv));
3096-
ASSERT_EQUALS_ENUM(checkers::ReportType::autosar, settings->reportType);
3096+
ASSERT_EQUALS_ENUM(ReportType::autosar, settings->reportType);
30973097
}
30983098

30993099
void reportTypeCertCpp() {
31003100
REDIRECT;
31013101
const char *const argv[] = { "cppcheck", "--report-type=certCpp", "file.cpp" };
31023102
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv));
3103-
ASSERT_EQUALS_ENUM(checkers::ReportType::certCpp, settings->reportType);
3103+
ASSERT_EQUALS_ENUM(ReportType::certCpp, settings->reportType);
31043104
}
31053105

31063106
void reportTypeCertC() {
31073107
REDIRECT;
31083108
const char *const argv[] = { "cppcheck", "--report-type=certC", "file.cpp" };
31093109
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv));
3110-
ASSERT_EQUALS_ENUM(checkers::ReportType::certC, settings->reportType);
3110+
ASSERT_EQUALS_ENUM(ReportType::certC, settings->reportType);
31113111
}
31123112

31133113
void reportTypeMisraC() {
31143114
REDIRECT;
31153115
const char *const argv[] = { "cppcheck", "--report-type=misraC", "file.cpp" };
31163116
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv));
3117-
ASSERT_EQUALS_ENUM(checkers::ReportType::misraC, settings->reportType);
3117+
ASSERT_EQUALS_ENUM(ReportType::misraC, settings->reportType);
31183118
}
31193119

31203120
void reportTypeMisraCpp2008() {
31213121
REDIRECT;
31223122
const char *const argv[] = { "cppcheck", "--report-type=misraCpp2008", "file.cpp" };
31233123
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv));
3124-
ASSERT_EQUALS_ENUM(checkers::ReportType::misraCpp2008, settings->reportType);
3124+
ASSERT_EQUALS_ENUM(ReportType::misraCpp2008, settings->reportType);
31253125
}
31263126

31273127
void reportTypeMisraCpp2023() {
31283128
REDIRECT;
31293129
const char *const argv[] = { "cppcheck", "--report-type=misraCpp2023", "file.cpp" };
31303130
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(3, argv));
3131-
ASSERT_EQUALS_ENUM(checkers::ReportType::misraCpp2023, settings->reportType);
3131+
ASSERT_EQUALS_ENUM(ReportType::misraCpp2023, settings->reportType);
31323132
}
31333133

31343134
void invalidReportType() {
@@ -3142,7 +3142,7 @@ class TestCmdlineParser : public TestFixture {
31423142
REDIRECT;
31433143
const char *const argv[] = { "cppcheck", "file.cpp" };
31443144
ASSERT_EQUALS_ENUM(CmdLineParser::Result::Success, parser->parseFromArgs(2, argv));
3145-
ASSERT_EQUALS_ENUM(checkers::ReportType::normal, settings->reportType);
3145+
ASSERT_EQUALS_ENUM(ReportType::normal, settings->reportType);
31463146
}
31473147
};
31483148

test/testerrorlogger.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -199,25 +199,25 @@ class TestErrorLogger : public TestFixture {
199199

200200
void ErrorMessageReportTypeMisraC() const {
201201
std::list<ErrorMessage::FileLocation> locs = { fooCpp5 };
202-
const auto reportType = checkers::ReportType::misraC;
203-
const auto mapping = checkers::createGuidelineMapping(reportType);
202+
const auto reportType = ReportType::misraC;
203+
const auto mapping = createGuidelineMapping(reportType);
204204
const std::string format = "{severity} {id}";
205205
ErrorMessage msg(std::move(locs), emptyString, Severity::error, "", "unusedVariable", Certainty::normal);
206-
msg.guideline = checkers::getGuideline(msg.id, reportType, mapping, msg.severity);
207-
msg.classification = checkers::getClassification(msg.guideline, reportType);
206+
msg.guideline = getGuideline(msg.id, reportType, mapping, msg.severity);
207+
msg.classification = getClassification(msg.guideline, reportType);
208208
ASSERT_EQUALS("Advisory", msg.classification);
209209
ASSERT_EQUALS("2.8", msg.guideline);
210210
ASSERT_EQUALS("Advisory 2.8", msg.toString(true, format));
211211
}
212212

213213
void ErrorMessageReportTypeCertC() const {
214214
std::list<ErrorMessage::FileLocation> locs = { fooCpp5 };
215-
const auto reportType = checkers::ReportType::certC;
216-
const auto mapping = checkers::createGuidelineMapping(reportType);
215+
const auto reportType = ReportType::certC;
216+
const auto mapping = createGuidelineMapping(reportType);
217217
const std::string format = "{severity} {id}";
218218
ErrorMessage msg(std::move(locs), emptyString, Severity::error, "", "resourceLeak", Certainty::normal);
219-
msg.guideline = checkers::getGuideline(msg.id, reportType, mapping, msg.severity);
220-
msg.classification = checkers::getClassification(msg.guideline, reportType);
219+
msg.guideline = getGuideline(msg.id, reportType, mapping, msg.severity);
220+
msg.classification = getClassification(msg.guideline, reportType);
221221
ASSERT_EQUALS("L3", msg.classification);
222222
ASSERT_EQUALS("FIO42-C", msg.guideline);
223223
ASSERT_EQUALS("L3 FIO42-C", msg.toString(true, format));

0 commit comments

Comments
 (0)