Merge pull request #10287 from haskell/wip/t10283
[cabal.git] / cabal-validate / README.md
blob5f40e9d28f11b468a5a3ed6d87f1f0d9688186cc
1 # cabal-validate
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.