Modulecabal-install-3.18.1.0Haskell2010
Distribution.Client.CmdBench
cabal-install CLI command: bench
Synopsis
- value benchCommand
- value benchAction
- value componentNotBenchmarkProblem
- value isSubComponentProblem
- value noBenchmarksProblem
- value selectPackageTargets
- value selectComponentTarget
- Packagecabal-install-3.18.1.0
- Exports7
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceCmdBench.hs
The bench CLI and action
The build command does a lot. It brings the install plan up to date,
selects that part of the plan needed by the given or implicit targets and
then executes the plan.
For more details on how this works, see the module Distribution.Client.ProjectOrchestration
Internals exposed for testing
This defines what a TargetSelector means for the bench command.
It selects the AvailableTargets that the TargetSelector refers to,
or otherwise classifies the problem.
For the bench command we select all buildable benchmarks,
or fail if there are no benchmarks or no buildable benchmarks.
For a TargetComponent TargetSelector, check if the component can be selected.
For the bench command we just need to check it is a benchmark, in addition
to the basic checks on being buildable etc.