MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / singleError

Method singleError

test/testsarifreport.cpp:120–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

118 }
119
120 void singleError()
121 {
122 SarifReport report;
123 report.addFinding(createErrorMessage("nullPointer", Severity::error, "Null pointer dereference"));
124
125 std::string sarif = report.serialize("Cppcheck");
126 picojson::value json;
127 ASSERT(parseAndValidateJson(sarif, json));
128
129 const picojson::object& root = json.get<picojson::object>();
130 const picojson::array& runs = root.at("runs").get<picojson::array>();
131 const picojson::object& cur_run = runs[0].get<picojson::object>();
132
133 // Check results
134 const picojson::array& results = cur_run.at("results").get<picojson::array>();
135 ASSERT_EQUALS(1U, results.size());
136
137 const picojson::object& result = results[0].get<picojson::object>();
138 ASSERT_EQUALS("nullPointer", result.at("ruleId").get<std::string>());
139 ASSERT_EQUALS("error", result.at("level").get<std::string>());
140
141 const picojson::object& message = result.at("message").get<picojson::object>();
142 ASSERT_EQUALS("Null pointer dereference", message.at("text").get<std::string>());
143
144 // Check rules
145 const picojson::object& tool = cur_run.at("tool").get<picojson::object>();
146 const picojson::object& driver = tool.at("driver").get<picojson::object>();
147 const picojson::array& rules = driver.at("rules").get<picojson::array>();
148 ASSERT_EQUALS(1U, rules.size());
149
150 const picojson::object& rule = rules[0].get<picojson::object>();
151 ASSERT_EQUALS("nullPointer", rule.at("id").get<std::string>());
152 }
153
154 void multipleErrors()
155 {

Callers

nothing calls this directly

Calls 4

addFindingMethod · 0.80
atMethod · 0.80
serializeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected