Description
Summary by @ezyang. These should be easy to do, it's a copy-paste job of the existing run/test/bench code on top of invoking the new-build logic to build things.
These are very important quality-of-life features that make it impractical to use new-build
for some of our larger projects. In general, we'd be happy with straightforward ports of the legacy commands, but a couple specific comments arose.
Avoiding unnecessary work
This is a lot more important when working with metapackages, since we don't want to have to build every test suite in the metapackage in order to build one particular test. The way the [COMPONENTS]
argument currently works for new-build
should be fine for this.
Easier argument passing for test and bench
cabal run [FLAGS] [EXECUTABLE] [-- EXECUTABLE_FLAGS]
makes it easy to pass arguments to the executable by just putting them after the --
. It would be nice to have the same for test
and bench
, rather than having to use --test-options
or --benchmark-options
flags.