Commit 54fc50c
test: build option structs by parsing, not by struct literal
`MultiplexQuantOpts` and ATAC `ProcessOpts` were constructed in tests with
struct literals naming every field. A literal must name all of them, so each
new CLI option is an E0063 in that file -- and `cargo build` does not compile
tests, so it only surfaces under `cargo test` / `--all-targets`, typically
after the change looks like it compiles.
The same literal has now broken three times: 53c7f31 (--sample-bc-ori, arriving
broken in PR #199), b3192a3 (the flattened decoder options), and --small-thresh
today. Meanwhile the equivalent tests for MapQuantOpts never broke, because
quant.rs builds its opts with `Cli::parse_from`. Adopt that pattern in both
places: new options pick up their clap defaults, and an option that is
genuinely required fails loudly at parse time naming itself.
`atac process` requires a read-input form at parse time, so the helper supplies
one and then clears it, keeping the exact baseline the assertions were written
against. The AtacChemistry/Macs3GenomeSize imports existed only to name types
in the literal and are now unused.
Four small literals remain in chemistry.rs, where each test exercises specific
field combinations and the structs are stable; those are left alone.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VhyNvEWUgY8ALVacdJHxVJ1 parent a72fd59 commit 54fc50c
2 files changed
Lines changed: 53 additions & 69 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
621 | 621 | | |
622 | 622 | | |
623 | 623 | | |
624 | | - | |
625 | | - | |
626 | 624 | | |
627 | 625 | | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
628 | 632 | | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
664 | 663 | | |
665 | 664 | | |
666 | 665 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
783 | 783 | | |
784 | 784 | | |
785 | 785 | | |
| 786 | + | |
786 | 787 | | |
787 | 788 | | |
788 | 789 | | |
| |||
857 | 858 | | |
858 | 859 | | |
859 | 860 | | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
860 | 876 | | |
861 | 877 | | |
862 | | - | |
863 | | - | |
864 | | - | |
865 | | - | |
866 | | - | |
867 | | - | |
868 | | - | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
873 | | - | |
874 | | - | |
875 | | - | |
876 | | - | |
877 | | - | |
878 | | - | |
879 | | - | |
880 | | - | |
881 | | - | |
882 | | - | |
883 | | - | |
884 | | - | |
885 | | - | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
892 | | - | |
893 | | - | |
| 878 | + | |
894 | 879 | | |
895 | 880 | | |
896 | 881 | | |
| |||
0 commit comments