3 `cabal-validate` is a script that builds and tests `Cabal` and `cabal-install`.
4 `cabal-validate` can be run with `validate.sh` in the repository root;
5 arguments passed to `validate.sh` will be forwarded to `cabal-validate`.
7 Notable arguments include:
9 - `-v`/`--verbose` to display build and test output in real-time, instead of
10 only if commands fail.
11 - `-s`/`--step` to run a specific step (e.g. `-s build -s lib-tests` will only
12 run the `build` and `lib-tests` steps).
13 - `-p`/`--pattern` to filter tests by a pattern.
15 ## Hacking on cabal-validate
17 Overview of important modules:
19 - `Main.hs` encodes all the commands that are run for each step.
20 - `Cli.hs` parses the CLI arguments and resolves default values from the
21 environment, like determining which steps are run by default or the `--jobs`
22 argument to pass to test suites.
23 - `Step.hs` lists the available steps.