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

Method emptyReport

test/testsarifreport.cpp:91–118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89 }
90
91 void emptyReport()
92 {
93 SarifReport report;
94 std::string sarif = report.serialize("TestProduct");
95
96 picojson::value json;
97 ASSERT(parseAndValidateJson(sarif, json));
98
99 const picojson::object& root = json.get<picojson::object>();
100 ASSERT_EQUALS("2.1.0", root.at("version").get<std::string>());
101 ASSERT(root.at("$schema").get<std::string>().find("sarif-schema-2.1.0") != std::string::npos);
102
103 // From SARIF specification (https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/sarif-v2.1.0-errata01-os-complete.html#_Toc141790730):
104 // Although the order in which properties appear in a JSON object value is not semantically significant, the version property SHOULD appear first.
105 ASSERT_EQUALS("{\n \"version\": \"2.1.0\"", sarif.substr(0,22));
106
107 const picojson::array& runs = root.at("runs").get<picojson::array>();
108 ASSERT_EQUALS(1U, runs.size());
109
110 const picojson::object& cur_run = runs[0].get<picojson::object>();
111 const picojson::array& results = cur_run.at("results").get<picojson::array>();
112 ASSERT_EQUALS(0U, results.size());
113
114 const picojson::object& tool = cur_run.at("tool").get<picojson::object>();
115 const picojson::object& driver = tool.at("driver").get<picojson::object>();
116 const picojson::array& rules = driver.at("rules").get<picojson::array>();
117 ASSERT_EQUALS(0U, rules.size());
118 }
119
120 void singleError()
121 {

Callers

nothing calls this directly

Calls 4

atMethod · 0.80
serializeMethod · 0.45
findMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected