Skip to content

cabal-validate: Too many ways to choose steps #10564

@9999years

Description

@9999years

The CLI defaults are unclear, there's about three different ways to choose which steps are run, and it's not obvious how they interact. (Even to me, and I wrote it!)

For example:

  • --cli tests cabal-install in addition to Cabal, but there's no --cli-only flag.
  • --run-lib-tests and similar options exist only to add or remove specific --steps. (But will be ignored if any --steps are given.)
  • --step adds a specific step to be run (can be used multiple times).

Proposal: Remove the --cli, --lib-only, and all other flags that exist to enable/disable a specific step. (Needs groups of steps.)

  • Instead of --cli, you'll use --group Cabal --group cabal-install (this makes it explicit that --cli also tests the Cabal library).
  • Instead of --run-lib-suite you'll use --step lib-suite.
  • Instead of --no-run-lib-suite you'll specify the steps you want to run, e.g. --step lib-tests --step cli-tests --step cli-suite (that's the default behavior with --no-run-lib-suite, but probably not what you want!)

Metadata

Metadata

Assignees

No one assigned

    Labels

    cabal-validatevalidate.sh (cabal-validate) test suite runnermeta: trackingre: devxImproving the cabal developer experience (internal issue)type: testingIssues about project test suites

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions