cabal-validate is a script that builds and tests Cabal and cabal-install.
cabal-validate can be run with validate.sh in the repository root;
arguments passed to validate.sh will be forwarded to cabal-validate.
Notable arguments include:
-v/--verboseto display build and test output in real-time, instead of only if commands fail.-s/--stepto run a specific step (e.g.-s build -s lib-testswill only run thebuildandlib-testssteps).-p/--patternto filter tests by a pattern.
Overview of important modules:
Main.hsencodes all the commands that are run for each step.Cli.hsparses the CLI arguments and resolves default values from the environment, like determining which steps are run by default or the--jobsargument to pass to test suites.Step.hslists the available steps.