Skip to content

Commit 1592881

Browse files
committed
将C++17真实对照证据关联公开生产验收计划
1 parent 21807be commit 1592881

3 files changed

Lines changed: 86 additions & 60 deletions

File tree

‎crates/codeguard-cli/tests/production_acceptance_plan.rs‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,23 @@ fn partial_gradle_cve_never_grants_native_scan_or_repair_qualification() {
104104
.any(|reason| reason.as_str().unwrap().contains("真实OWASP"))
105105
);
106106
}
107+
108+
#[test]
109+
fn cpp_standalone_replay_is_traceable_without_project_qualification() {
110+
let out = query(&["capabilities", "cpp", "--acceptance-plan", "--format=json"]);
111+
assert!(out.status.success());
112+
let report: Value = serde_json::from_slice(&out.stdout).unwrap();
113+
let plan = &report["plan"];
114+
let capability = &plan["languages"][0]["capabilities"]["syntax"];
115+
assert_eq!(capability["qualification"], "blocked");
116+
let evidence = "tests/acceptance/evidence/cpp17-native-wasm-differential.json";
117+
for path in capability["build_paths"].as_array().unwrap() {
118+
let included = path["evidence_refs"]
119+
.as_array()
120+
.unwrap()
121+
.iter()
122+
.any(|entry| entry == evidence);
123+
assert_eq!(included, path["ecosystem"] == "standalone");
124+
}
125+
assert!(plan["source_hashes"][evidence].is_string());
126+
}

0 commit comments

Comments
 (0)