Repository navigation
test(exporters): delete the exporters' and geometry inline mirror suites, 4,146 lines - #429
Conversation
The inline #[cfg(test)] modules of svg, gltf, dxf, dxf_sections, dxf_convert, geometry, entity_geometry, curve, color, graph, block_expansion and python_stubs build synthetic documents and curves and pin the text, bytes or numbers the exporters give. They are unit tests, which this repository bans, and no job runs them since the Test job moved to tools/ci/run_test_targets.sh. Git history is the archive. dxf_convert's and graph's module docs no longer cite those tests.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
https://github.com/DrunkOnJava/dwg-rs/blob/b2fb8b9193b3e6ac84772ec51778905a588c0898/src/svg.rs#L1483-L1485
Preserve the existing exporter and geometry suites
The repository guidance in CLAUDE.md:103 explicitly requires that existing suites stay and pass; banning new unit tests does not authorize removing these suites. The commit's justification that CI no longer runs them also does not match the reviewed tree: .github/workflows/ci.yml:78–79 still runs cargo test --release --all-features, and a repository-tree search finds no run_test_targets.sh replacement. These deletions therefore remove active regression checks across all twelve modules, rather than merely archiving unused checks. Preserve the existing suites as required by the repository policy.
AGENTS.md reference: AGENTS.md:L3-L3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
Unit-suite staged deletion, area exporters and render geometry. The inline
#[cfg(test)]modules of 12 files build synthetic documents, curves, handle chains and DXF writers and pin the text, bytes or numbers they give back. They are unit tests, which this repository bans, and no job runs them since the Test job moved totools/ci/run_test_targets.sh(#428). Git history is the archive.Lines removed: 4,146 (8 added). Production code is unchanged: each file's only
#[cfg(test)]item is its test module, so no test-only helper goes with it, and no item can become dead code (one used only by tests would already warn in the non-test library build, which CI compiles with-D warnings). The module docs ofdxf_convertandgraphcited the deleted tests; they now say what is measured instead.No open PR touches any of these files, checked against
gh pr list --state openat push time.Coverage of the area, said plainly
dxf,dxf_sections,dxf_convert): the Corpus job'sprobe_dxf_header,probe_dxf_tablesandprobe_dxf_entitiespair every recorddwg-to-dxfwrites with AutoCAD's own export of the same drawing, group for group, and the value oracle scores the reader against the same exports.integration_dxf_roundtrip(classreal) reads one drawing, but corpus-gated, so it skips on every job today (chore(ci): run every corpus-reading real target in the Corpus job #435 adds it to the Corpus job).gltf):integration_gltf(classreal), with the same corpus gate.geometry,entity_geometry,curve,color: reached through the DXF converter and the glTF exporter, so measured only through them.graph,block_expansion:block_names(classreal) coversresolve_block_nameson the corpus and the committed canonical fixtures. The owner and reactor walks, layer and linetype resolution and viewport transforms have no direct real-file check.svg: nothing runs the SVG exporter on a drawing after this.examples/dwg_to_svg.rsis compiled, not run, the wasm viewer is built, not run, andintegration_svg_goldensis classunit. This is a gap the deletion exposes, not one it closes; an end-to-end check that drivesexamples/dwg_to_svg.rsor the converter on a canonical fixture would be its own PR.python_stubs: no behaviour;docs/python.mddocuments it.Spec reference
Not a decoder change. No corpus count moves:
tools/corpus/baseline.tsvandtools/oracle/baseline.tsvare untouched.Test plan
cargo fmt --all -- --checkpasses (run locally; nothing else is built here).--all-targets --all-features -D warnings, which builds the lib test target, where a helper left without a user fails as dead code), the six Test legs, Corpus (public DWG) withtools/corpus/baseline.tsvandtools/oracle/baseline.tsvunchanged, and Coverage smoke. This branch is based on main before chore(ci): class every tests/ target and run all but the unit ones #428, so its Test legs ran the oldcargo test; chore(ci): class every tests/ target and run all but the unit ones #428's run 40674359229 shows the classed runner, and CI runs again on this branch once chore(ci): class every tests/ target and run all but the unit ones #428 lands.Source-provenance declaration
By submitting this PR I certify that my contribution does not incorporate executable code from any source whose license is incompatible with Apache-2.0. Specifically:
CLEANROOM.md).dwg-rsis Apache-2.0 and must remain compatible.My contribution is based on:
See
CLEANROOM.mdfor the full allowed/forbidden source list and the honest scope of what "clean-room" means for this project.Developer Certificate of Origin
By submitting this PR, I certify that the contribution complies with the Developer Certificate of Origin 1.1. Specifically, I affirm that the contribution is my own work (or rightfully licensed to me) and that it can be distributed under the project's Apache-2.0 license.