By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Rename fixtures to test_resources, one directory per spec Each directory under hopinion-gen/test_resources now belongs to exactly one spec and is named after it, and nothing may sit there unread: - TestResourcesSpec asserts every directory names a spec that exists, so both a directory nobody reads and one whose spec was deleted fail. - CommentSpec runs off scenarioDir, so every file gets a test, and a golden whose module was deleted fails with it. - RuleSpec compares the directory listing against the rule enum, in both directions. - AnnotationSpec, ProjectSpec and ExampleSpec each assert their own listing. The cross-consumer coupling is gone with it. The split property moves from SplitSpec into RuleSpec, where it runs per project-level rule over that rule's own resources rather than over a hand-kept list of projects, so a rule added later is covered without anyone remembering. absent-module moves to a new ProjectSpec. annotate gets its own repository, Annotation/to-annotate, instead of building one at test time by copying a module out of the rule resources and rewriting a cabal file. The awkward input is now a file: Latin1.hs holds a byte no UTF-8 decoder can read and ends without a newline. nix/e2e.nix drives Example/clean and Example/dirty, owned by a new ExampleSpec that asserts in one process every property those Nix checks rest on: which packages the dirty repository holds, that it fails at all three levels, and that the finding the path check greps for is where the grep looks.
Total
37s
Created Started Finished
| Time to Start | Worker time | Duration | Time to finish | Idle | |
|---|---|---|---|---|---|
| Config | 0s | 2s | 2s | 2s | 0s |
| Eval | 1s | 15s | 15s | 17s | 0s |
| Build | 7s | 1m26s | 30s | 38s | 0s |
| Suite | 0s | 1m44s | 37s | 38s | 0s |