| 424 | } |
| 425 | |
| 426 | void criticalErrorId() |
| 427 | { |
| 428 | SarifReport report; |
| 429 | |
| 430 | // Use a critical error ID (from ErrorLogger::isCriticalErrorId) |
| 431 | report.addFinding(createErrorMessage("syntaxError", Severity::error, "Syntax error")); |
| 432 | |
| 433 | std::string sarif = report.serialize("Cppcheck"); |
| 434 | picojson::value json; |
| 435 | ASSERT(parseAndValidateJson(sarif, json)); |
| 436 | |
| 437 | const picojson::object& root = json.get<picojson::object>(); |
| 438 | const picojson::array& runs = root.at("runs").get<picojson::array>(); |
| 439 | const picojson::object& cur_run = runs[0].get<picojson::object>(); |
| 440 | const picojson::array& results = cur_run.at("results").get<picojson::array>(); |
| 441 | |
| 442 | ASSERT_EQUALS(1U, results.size()); |
| 443 | |
| 444 | const picojson::object& result = results[0].get<picojson::object>(); |
| 445 | // Critical errors should always map to "error" level |
| 446 | ASSERT_EQUALS("error", result.at("level").get<std::string>()); |
| 447 | } |
| 448 | |
| 449 | void emptyDescriptions() |
| 450 | { |
nothing calls this directly
no test coverage detected