Skip to content

Commit 9ed97e9

Browse files
Haofeiclaude
andcommitted
test: split checker_frontend into spec-tagged submodules (no logic change)
193 tests relocated from one 5079-line wall into tests/checker_frontend/{parse, capabilities,effects,conflicts,world,resources,types,lint,misc}.rs, each headed with the spec section it covers. Same binary, identical test set. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 23833ab commit 9ed97e9

10 files changed

Lines changed: 5041 additions & 4996 deletions

File tree

crates/rsscript/tests/checker_frontend.rs

Lines changed: 25 additions & 4996 deletions
Large diffs are not rendered by default.

crates/rsscript/tests/checker_frontend/capabilities.rs

Lines changed: 1190 additions & 0 deletions
Large diffs are not rendered by default.

crates/rsscript/tests/checker_frontend/conflicts.rs

Lines changed: 684 additions & 0 deletions
Large diffs are not rendered by default.

crates/rsscript/tests/checker_frontend/effects.rs

Lines changed: 613 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
//! Spec §2.6/§2A — lints and review budget
2+
#![allow(unused_imports, dead_code)]
3+
use super::*;
4+
5+
#[test]
6+
fn required_spec_diagnostics_have_regression_coverage() {
7+
let fixture_codes = common::fail_fixture_expected_code_set();
8+
let dedicated_test_codes = BTreeSet::from([
9+
"RS1102", // rustc_diagnostics_report_unmappable_generated_spans
10+
"RS1201", // runtime_diagnostic_lines_parse_to_rsscript_diagnostics
11+
"RS0310", // checker_rejects_exclusive_use_of_for_read_view
12+
"PKG0101", // package feature resolution diagnostics
13+
"PKG0102", // unsupported package dependency source diagnostics
14+
"PKG0501", // package review policy diagnostics
15+
"PKG0601", // package native binding diagnostics
16+
"PKG0901", // package provider declaration diagnostics
17+
]);
18+
19+
for &(spec_class, code) in REQUIRED_SPEC_DIAGNOSTICS {
20+
assert!(
21+
explain_diagnostic_code(code).is_some(),
22+
"{spec_class} maps to {code}, but the code has no explanation"
23+
);
24+
assert!(
25+
fixture_codes.contains(code) || dedicated_test_codes.contains(code),
26+
"{spec_class} maps to {code}, but no fail fixture or dedicated regression test covers it"
27+
);
28+
}
29+
}

0 commit comments

Comments
 (0)