You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 29, 2021. It is now read-only.
First off, I want to say great crate - in a case of what can only be convergent evolution, it's very similar to a crate I built a while back to fulfill a similar need and given that this crate has more buy-in (and let's be honest, has a better, more intuitive, name), I'll probably retire second_law if I find it's no longer needed.
Second_Law has a lot of features that I'm wondering if there are any you'd be interested in me making PRs for. I didn't want to spam you with feature requests, but let me know if opening a separate issue each is better.
Default to operation within a temporary folder
Support for specifying the executable relative or absolute path
Runs the executable in the temporary folder with a "clean slate" of environment variables by default, with the option of keeping the environment the user has set.
Support for a fixtures directory whose contents gets copied over to the temporary directory
Support for multicall binaries
Support for piped input
Support for evaluating that stdout or stderr is equal to the contents of a fixture
Note that second_law is not dual-licensed, so it would probably be best for these to be implemented fresh, not copied. However, if relicense+reuse is the easier path in your mind, you're welcome to set up a poll of me and the nine contributors to this file which second_law is derived from.