Skip to content

feat: Phase J J9 schema-test cross-reference checker -- STC- report, checks each schema module has matching test file, 63 tests - #916

Merged
cschanhniem merged 1 commit into
mainfrom
feat/j9-schema-test-coverage
Jul 10, 2026
Merged

cschanhniem merged 1 commit into
mainfrom
feat/j9-schema-test-coverage

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

Implements J9 from NEXT_100_PR_MAP: cross-reference checker between schemas and tests.

What

  • src/openamp_foundry/checks/schema_test_coverage.py: STC- coverage report
  • SCHEMA_SOURCE_DIRS (9 dirs), IGNORED_MODULES (init, conftest)
  • SchemaTestCoverageEntry (5 fields), SchemaTestCoverageReport (8 fields)
  • check_schema_test_coverage(repo_root, source_dirs): scans each source dir, finds expected test path, checks existence
  • format_schema_test_coverage_report(): text report with uncovered module list
  • 63 tests across 4 classes including real-repo integration test
  • BASELINE 8158→8221

Why

Without a cross-reference checker, schema modules can be added without test files and the gap is invisible until tests break. The STC- report shows exactly which schema modules lack test coverage, making schema→test coupling enforceable in CI.

Disconfirming pass

  • init.py and conftest.py are excluded from scanning
  • Nonexistent source dirs are skipped (no error)
  • Empty source dirs return is_fully_covered=True (correct: no schemas → no gap)
  • Real-repo integration test asserts coverage_fraction >= 0.5 (not 1.0, since legacy modules may lack test files)

…checks each schema module has matching test file, 63 tests (#914)
@cschanhniem
cschanhniem merged commit 3ac2ef4 into main Jul 10, 2026
1 check failed
cschanhniem added a commit that referenced this pull request Jul 10, 2026
…A export through JSON-LD, adapter stub, schema manifest, release manifest, changelog; 63 tests (#916) (#917)

Co-authored-by: OpenCode <opencode@example.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant