Skip to content

test: add offline GitLab corpus verification#43

Draft
ebihara99999 wants to merge 1 commit into
mainfrom
feature/corpus-verification
Draft

test: add offline GitLab corpus verification#43
ebihara99999 wants to merge 1 commit into
mainfrom
feature/corpus-verification

Conversation

@ebihara99999

Copy link
Copy Markdown
Owner

Purpose

Refs #41. This adds the first CI layer from the corpus verification plan: vendored corpus files, a per-file runner, crash checks, and metric-agnostic invariants.

RuboCop differential checks and golden snapshots are intentionally left for follow-up PRs.

Changes

  • Vendor the selected GitLab CE Ruby corpus from revision 85ed8239cfc6fe3cf5d5bde5975fe2f6d687ff6d under spec/fixtures/corpus/gitlab/.
  • Include the GitLab license notice and a corpus README with the source revision, file list, placement, and ee/, jh/, doc/ exclusion rule.
  • Add an RSpec corpus runner that measures each vendored file with explicit CodeKeeper metric and thread settings.
  • Add CI-covered checks for crash-free per-file measurement, report shape, summary recomputation, ABC/cyclomatic count alignment, line ranges, sequential/parallel determinism, and the current behavior that metrics with no measurements are absent from summary.
  • Exclude spec/fixtures/**/*_spec.rb from RSpec discovery so vendored GitLab spec files remain corpus input data.

Impact

This is test-only. The corpus is under spec/fixtures/, remains outside the packaged gem, and is already outside RuboCop's scan by the repository configuration.

Verification

  • bundle exec rspec - 75 examples, 0 failures
  • bundle exec rubocop - 34 files inspected, no offenses
  • git diff --cached --check - no whitespace errors before commit

Scope Out

  • RuboCop differential and accepted-differences baseline
  • Golden JSON snapshots and regeneration task

Vendor the issue #41 GitLab CE corpus with license attribution and run it through offline RSpec checks. The corpus spec verifies crash-free per-file measurement, report shape, summary derivation, line ranges, method metric count alignment, and sequential/parallel determinism.
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