shop3
shop3 copied to clipboard
Test should build `validate` from the repo rather than relying on it being in `$PATH`
The ASDF system shop3/test
should depend on a validate
binary as a component, and include a recipe to build it from the shop3 repo, obeying output filename translations to put the binary an ASDF build directory. Tests which invoke shop3:validate-plan
should do so using :validator-progname (asdf:output-file (asdf:make-operation 'compile-op) (asdf:find-component (asdf:find-system :shop3/test) :validate))
or a similar invocation, rather than leaving :validator-progname
unsupplied and expecting validate
to be in the system path. This will allow contributors to run (asdf:test-system :shop3)
on a fresh machine without first manually compiling and globally installing validate
, and will reduce variation in Jenkins compared to testing locally.
If you want to submit an MR for this, please do it in the form of a sub-system (e.g., "shop3/validator"
) that users who want to validate plans, but don't want to run the test suite, can use.
Note that validate
is built by the Travis tests https://github.com/shop-planner/shop3/blob/536d646e2a967f27e9ad79eca4f8444702d8aac2/.travis.yml#L52 which provides a pattern.