| 447 | } |
| 448 | |
| 449 | void emptyDescriptions() |
| 450 | { |
| 451 | SarifReport report; |
| 452 | |
| 453 | report.addFinding(createErrorMessage("testError", Severity::error, "Test error")); |
| 454 | |
| 455 | std::string sarif = report.serialize("Cppcheck"); |
| 456 | picojson::value json; |
| 457 | ASSERT(parseAndValidateJson(sarif, json)); |
| 458 | |
| 459 | const picojson::object& root = json.get<picojson::object>(); |
| 460 | const picojson::array& runs = root.at("runs").get<picojson::array>(); |
| 461 | const picojson::object& cur_run = runs[0].get<picojson::object>(); |
| 462 | const picojson::object& tool = cur_run.at("tool").get<picojson::object>(); |
| 463 | const picojson::object& driver = tool.at("driver").get<picojson::object>(); |
| 464 | const picojson::array& rules = driver.at("rules").get<picojson::array>(); |
| 465 | |
| 466 | ASSERT_EQUALS(1U, rules.size()); |
| 467 | |
| 468 | const picojson::object& rule = rules[0].get<picojson::object>(); |
| 469 | |
| 470 | // All descriptions should be empty for GitHub integration |
| 471 | ASSERT_EQUALS("", rule.at("name").get<std::string>()); |
| 472 | ASSERT_EQUALS("", rule.at("shortDescription").get<picojson::object>().at("text").get<std::string>()); |
| 473 | ASSERT_EQUALS("", rule.at("fullDescription").get<picojson::object>().at("text").get<std::string>()); |
| 474 | ASSERT_EQUALS("", rule.at("help").get<picojson::object>().at("text").get<std::string>()); |
| 475 | } |
| 476 | |
| 477 | void locationBoundaryValues() |
| 478 | { |
nothing calls this directly
no test coverage detected