Shinmera / parachute

An extensible and cross-compatible testing framework.
https://shinmera.github.io/parachute
zlib License
94 stars 9 forks source link

Create run-parachute script #10

Closed neil-lindquist closed 4 years ago

neil-lindquist commented 4 years ago

Similar to run-fiveam and run-prove, the script is designed to make it easy to run parachute tests on CI platforms (in fact, it's run-fiveam with fiveam replaced with parachute).

If the script is installed by Roswell, the foo-test package in the foo/test system can be tested with run-parachute-l foo/test-parachute foo-tests-parachute (or roswell/run-parachute.ros -e t -l foo/test-parachute foo-tests-parachute if measuring coverage and excluding the t directory from coverage)

Example of tests passing: https://travis-ci.org/neil-lindquist/cl-ci-test/builds/579901976 Example of tests failing: https://travis-ci.org/neil-lindquist/cl-ci-test/builds/579896736

neil-lindquist commented 4 years ago

I've made changes for all of your suggestions, except providing support for non-Roswell implementations, I'm still looking at that. The changes are spread over a bunch of commits so that it was easier to incrementally rebase. I'll rebase them to a single commit once this is otherwise ready.

The loop for parsing the arguments is kind of hard to read at the moment, since the loops in parachute aren't indented to match if-else type structures. I might try replacing it with let and a basic while loop.

neil-lindquist commented 4 years ago

I refactored the loop, and it's more readable now that it's not using loop's control flow.

Shinmera commented 4 years ago

Looks good now, thanks a lot!

I'll accept further patches if you can figure out a way to support non-roswell invocations.