Skip to content

Where to put project tests, cabal-testsuite/ProjectTests? #9798

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
philderbeast opened this issue Mar 11, 2024 · 8 comments
Open

Where to put project tests, cabal-testsuite/ProjectTests? #9798

philderbeast opened this issue Mar 11, 2024 · 8 comments

Comments

@philderbeast
Copy link
Collaborator

I've been adding tests of projects to cabal-testsuite/PackageTests where all other cabal-testsuite tests are. Can I start adding project tests (and moving some misplaced ones) to cabal-testsuite/ProjectTests?

@ffaf1
Copy link
Collaborator

ffaf1 commented Mar 11, 2024

I always thought about it as a “this is where golden tests go” folder. Do we gain something by dividing it in two? If there is a build command test for a package and one for a package in the context of a project, do they go one in PackageTests and the other in ProjectTests?

@philderbeast
Copy link
Collaborator Author

Do we gain something by dividing it in two?

Yes we see how few (or how many) project tests we have.

@alt-romes
Copy link
Collaborator

The package tests often depend on project files, so I think the line between a package test and a project test is rather blurry... I'm not sure if separating them will gain us any clarity and will introduce another decision one has to make before they start writing a test (friction).

@philderbeast
Copy link
Collaborator Author

I'm suggesting moving only the project-specific tests (imports and the like), not tests with a project, not tests with a cabal.project as simple as:

@alt-romes
Copy link
Collaborator

I'm suggesting moving only the project-specific tests (imports and the like), not tests with a project, not tests with a cabal.project as simple as:

I suppose that is more reasonable, but the test you linked also contains a Cabal package, how do you tell it is a project test?

@philderbeast
Copy link
Collaborator Author

We had 3 projects in cabal-testsuite with import: ... 6 weeks ago.

$ git checkout 72a91600c67f5b0d6b9e176bd5fb7bb64230d392

$ git log -1 --pretty=%cr
6 weeks ago

$ grep -rwn --include="*.project" cabal-testsuite -e 'import:'
cabal-testsuite/PackageTests/ConditionalAndImport/cabal-cyclical.project:3:import: cabal-cyclical.project
cabal-testsuite/PackageTests/ConditionalAndImport/cabal.project:3:import: extra.project
cabal-testsuite/PackageTests/RelativePathProjectImports/cabal.project:1:import: ./dep/cabal.project

I've added a few more recently.

$ git rev-parse HEAD
74b1f2152aafff08d92493ef2cdb0c28630bae14

$ grep -rwn --include="*.project" cabal-testsuite -e 'import:'
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-2-out-out-back.project:3:import: cyclical-2-out-out-back-a.config
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-2-out-out-backback.project:3:import: cyclical-2-out-out-backback-a.config
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-1-out-back.project:3:import: cyclical-1-out-back.config
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-same-filename-out-out-back.project:3:import: cyclical-same-filename-out-out-back.config
cabal-testsuite/PackageTests/ConditionalAndImport/cabal.project:3:import: extra.project
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-1-out-self.project:3:import: cyclical-1-out-self.config
cabal-testsuite/PackageTests/ConditionalAndImport/noncyclical-same-filename-a.project:3:import: noncyclical-same-filename-a.config
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-2-out-out-self.project:3:import: cyclical-2-out-out-self-a.config
cabal-testsuite/PackageTests/ConditionalAndImport/noncyclical-same-filename-b.project:3:import: same-filename/noncyclical-same-filename-b.config
cabal-testsuite/PackageTests/ConditionalAndImport/cabal-cyclical-1-hop.project:3:import: cabal-cyclical-1-hop.config
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-0-self.project:3:import: cyclical-0-self.project
cabal-testsuite/PackageTests/ConditionalAndImport/hops-0.project:3:import: hops/hops-1.config
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-same-filename-out-out-backback.project:3:import: cyclical-same-filename-out-out-backback.config
cabal-testsuite/PackageTests/ConditionalAndImport/cyclical-same-filename-out-out-self.project:3:import: cyclical-same-filename-out-out-self.config
cabal-testsuite/PackageTests/ConditionalAndImport/cabal-cyclical-2-hop.project:3:import: cabal-cyclical-2-hop-1.config
cabal-testsuite/PackageTests/RelativePathProjectImports/cabal.project:1:import: ./dep/cabal.project
cabal-testsuite/PackageTests/VersionPriority/2-local-constraints-import.project:4:import: hop-local.config
cabal-testsuite/PackageTests/VersionPriority/1-local-import-constraints.project:3:import: stackage-local.config
cabal-testsuite/PackageTests/VersionPriority/1-web-constraints-import.project:9:import: project-stackage/nightly-2023-12-07.config
cabal-testsuite/PackageTests/VersionPriority/1-web-constraints-import.project:11:import: with-ghc.config
cabal-testsuite/PackageTests/VersionPriority/2-local-import-constraints.project:3:import: hop-local.config
cabal-testsuite/PackageTests/VersionPriority/3-web-constraints-import.project:4:import: hop-web.config
cabal-testsuite/PackageTests/VersionPriority/3-web-constraints-import.project:5:import: with-ghc.config
cabal-testsuite/PackageTests/VersionPriority/1-local-constraints-import.project:4:import: stackage-local.config
cabal-testsuite/PackageTests/VersionPriority/2-web-import-constraints.project:3:import: stackage-web.config
cabal-testsuite/PackageTests/VersionPriority/2-web-import-constraints.project:5:import: with-ghc.config
cabal-testsuite/PackageTests/VersionPriority/1-web-import-constraints.project:8:import: project-stackage/nightly-2023-12-07.config
cabal-testsuite/PackageTests/VersionPriority/1-web-import-constraints.project:11:import: with-ghc.config
cabal-testsuite/PackageTests/VersionPriority/2-web-constraints-import.project:4:import: stackage-web.config
cabal-testsuite/PackageTests/VersionPriority/2-web-constraints-import.project:5:import: with-ghc.config
cabal-testsuite/PackageTests/VersionPriority/3-web-import-constraints.project:3:import: hop-web.config
cabal-testsuite/PackageTests/VersionPriority/3-web-import-constraints.project:5:import: with-ghc.config

@philderbeast
Copy link
Collaborator Author

I worked through the project reference seeing which project settings are in cabal-testsuite projects (assuming they're named *.project). Most settings from the reference aren't found in these projects. For some, there's an equivalent test using the setting's command option equivalent, such as with-compiler: being tested with the --with-compiler command line option.

$ grep -rwn --include="*.hs" cabal-testsuite -e '--with-compiler'
cabal-testsuite/PackageTests/GHCJS/BuildRunner/cabal.test.hs:15:        , "--with-compiler", cwd </> fakeGhcjsPath
$ git checkout 72a91600c67f5b0d6b9e176bd5fb7bb64230d392

$ git log -1 --pretty=%cr
6 weeks ago

$ grep -rwn --include="*.project" cabal-testsuite -e 'source-repository-package'
cabal-testsuite/PackageTests/postCheckoutCommand/cabal.positive.project:3:source-repository-package
cabal-testsuite/PackageTests/postCheckoutCommand/cabal.negative.project:3:source-repository-package

$ grep -rwn --include="*.project" cabal-testsuite -e 'constraints'
cabal-testsuite/PackageTests/RequireExplicit/MultiPkg/cabal.project:5:constraints:

grep -rwn --include="*.project" cabal-testsuite -e '^package .\+'
cabal-testsuite/PackageTests/CopyHie/cabal.project:2:package hie-dependency
cabal-testsuite/PackageTests/Regression/T4720/cabal.project:3:package bug
cabal-testsuite/PackageTests/Regression/T5213ExeCoverage/cabal.project:3:package cabal-gh5213
cabal-testsuite/PackageTests/Regression/T5213/cabal.project:3:package cabal-gh5213
cabal-testsuite/PackageTests/RelativePathProjectImports/dep/cabal.project:1:package dep
cabal-testsuite/PackageTests/NewBuild/T3827/cabal.project:3:package q
cabal-testsuite/PackageTests/ProjectDir/proj/nix/cabal.project:3:package proj
cabal-testsuite/PackageTests/HaddockProject/cabal.project:7:package async

$ grep -rwn --include="*.project" cabal-testsuite -e 'with-compiler'

$ grep -rwn --include="*.project" cabal-testsuite -e 'optimization'
cabal-testsuite/PackageTests/Regression/T5213ExeCoverage/cabal.project:5:  optimization: False

$ grep -rwn --include="*.project" cabal-testsuite -e 'optional-packages'
cabal-testsuite/PackageTests/BuildToolDepends/cabal.project:2:optional-packages: pre-proc

$ grep -rwn --include="*.project" cabal-testsuite -e 'extra-packages'
cabal-testsuite/PackageTests/ExtraPackages/cabal.project:2:extra-packages: some-exe
cabal-testsuite/PackageTests/SDist/T7698/cabal.project:2:extra-packages: lens
cabal-testsuite/PackageTests/Regression/T9640/cabal.project:2:extra-packages: one-custom
cabal-testsuite/PackageTests/ConditionalAndImport/extra.project:2:  extra-packages: no-such-package
cabal-testsuite/PackageTests/ConditionalAndImport/extra.project:4:  extra-packages: no-can-do
cabal-testsuite/PackageTests/ConditionalAndImport/extra.project:6:  extra-packages: some-exe
cabal-testsuite/PackageTests/ConditionalAndImport/extra.project:8:  extra-packages: nope

$ grep -rwn --include="*.project" cabal-testsuite -e 'verbose'

$ grep -rwn --include="*.project" cabal-testsuite -e 'jobs'
cabal-testsuite/PackageTests/HaddockProject/cabal.project:2:-- `jobs` is necessary to use `InternalMethod :: SetupMethod`.
cabal-testsuite/PackageTests/HaddockProject/cabal.project:3:jobs: 1

$ grep -rwn --include="*.project" cabal-testsuite -e 'semaphore'

$ grep -rwn --include="*.project" cabal-testsuite -e 'keep-going'

$ grep -rwn --include="*.project" cabal-testsuite -e 'package-dbs'
cabal-testsuite/PackageTests/PackageDB/p-no-package-dbs/cabal.project:2:package-dbs: clear

$ grep -rwn --include="*.project" cabal-testsuite -e 'preferences'

$ grep -rwn --include="*.project" cabal-testsuite -e 'allow-newer'

$ grep -rwn --include="*.project" cabal-testsuite -e 'allow-older'
cabal-testsuite/PackageTests/NewBuild/T4017/cabal.project:2:allow-older: p:base
cabal-testsuite/PackageTests/NewBuild/T3978/cabal.project:2:allow-older: p:base

$ grep -rwn --include="*.project" cabal-testsuite -e 'index-state'

$ grep -rwn --include="*.project" cabal-testsuite -e 'active-repositories'

$ grep -rwn --include="*.project" cabal-testsuite -e 'reject-unconstrained-dependencies'
cabal-testsuite/PackageTests/RequireExplicit/FlagInProject/cabal.project:3:reject-unconstrained-dependencies: all

$ grep -rwn --include="*.project" cabal-testsuite -e 'flags'
cabal-testsuite/PackageTests/ProjectDir/proj/nix/cabal.project:4:  flags: +extra

$ grep -rwn --include="*.project" cabal-testsuite -e 'with-compiler'

$ grep -rwn --include="*.project" cabal-testsuite -e 'with-hc-pkg'

$ grep -rwn --include="*.project" cabal-testsuite -e 'optimization'
cabal-testsuite/PackageTests/Regression/T5213ExeCoverage/cabal.project:5:  optimization: False

$ grep -rwn --include="*.project" cabal-testsuite -e 'configure-options'

$ grep -rwn --include="*.project" cabal-testsuite -e 'compiler'
cabal-testsuite/PackageTests/ConditionalAndImport/cabal-bad-conditional.project:4:  compiler: ghc

$ grep -rwn --include="*.project" cabal-testsuite -e 'tests'
cabal-testsuite/PackageTests/ShowBuildInfo/Complex/cabal.project:3:tests: True

$ grep -rwn --include="*.project" cabal-testsuite -e 'benchmarks'
cabal-testsuite/PackageTests/ShowBuildInfo/Complex/cabal.project:4:benchmarks: True

$ grep -rwn --include="*.project" cabal-testsuite -e 'extra-prog-path'

$ grep -rwn --include="*.project" cabal-testsuite -e 'run-tests'

$ grep -rwn --include="*.project" cabal-testsuite -e 'debug-info'

$ grep -rwn --include="*.project" cabal-testsuite -e 'split-sections'

$ grep -rwn --include="*.project" cabal-testsuite -e 'split-objs'

$ grep -rwn --include="*.project" cabal-testsuite -e 'executable-stripping'

$ grep -rwn --include="*.project" cabal-testsuite -e 'library-stripping'

$ grep -rwn --include="*.project" cabal-testsuite -e 'program-prefix'

$ grep -rwn --include="*.project" cabal-testsuite -e 'program-sufix'

$ grep -rwn --include="*.project" cabal-testsuite -e 'program-suffix'

$ grep -rwn --include="*.project" cabal-testsuite -e 'shared'

$ grep -rwn --include="*.project" cabal-testsuite -e 'executable-dynamic'
cabal-testsuite/PackageTests/CmmSourcesDyn/cabal.project:2:executable-dynamic: True

$ grep -rwn --include="*.project" cabal-testsuite -e 'library-for-ghci'

$ grep -rwn --include="*.project" cabal-testsuite -e 'relocatable'

$ grep -rwn --include="*.project" cabal-testsuite -e 'static'

$ grep -rwn --include="*.project" cabal-testsuite -e 'executable-static'

$ grep -rwn --include="*.project" cabal-testsuite -e 'extra-lib-dirs'

$ grep -rwn --include="*.project" cabal-testsuite -e 'extra-framework-dirs'

$ grep -rwn --include="*.project" cabal-testsuite -e 'profiling'
cabal-testsuite/PackageTests/NewBuild/T3827/cabal.project:2:profiling-detail: all-functions
cabal-testsuite/PackageTests/NewBuild/T3827/cabal.project:4:    profiling: True

$ grep -rwn --include="*.project" cabal-testsuite -e 'profiling-detail'
cabal-testsuite/PackageTests/NewBuild/T3827/cabal.project:2:profiling-detail: all-functions

$ grep -rwn --include="*.project" cabal-testsuite -e 'library-profiling-detail'

$ grep -rwn --include="*.project" cabal-testsuite -e 'library-vanilla'

$ grep -rwn --include="*.project" cabal-testsuite -e 'library-profiling'

$ grep -rwn --include="*.project" cabal-testsuite -e 'executable-profiling'

$ grep -rwn --include="*.project" cabal-testsuite -e 'coverage'
cabal-testsuite/PackageTests/Regression/T5213ExeCoverage/cabal.project:4:  coverage: True
cabal-testsuite/PackageTests/Regression/T5213/cabal.project:4:  library-coverage: true

$ grep -rwn --include="*.project" cabal-testsuite -e 'library-coverage'
cabal-testsuite/PackageTests/Regression/T5213/cabal.project:4:  library-coverage: true

$ grep -rwn --include="*.project" cabal-testsuite -e 'documentation'
cabal-testsuite/PackageTests/HaddockProject/cabal.project:5:documentation: True
cabal-testsuite/PackageTests/HaddockProject/cabal.project:8:  documentation: True

$ grep -rwn --include="*.project" cabal-testsuite -e 'doc-index-file'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-hoogle'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-html'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-quickjump'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-html-location'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-executable'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-tests'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-benchmarks'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-internal'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-all'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-css'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-hyperlink-source'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-hscolour-css'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-contents-location'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-keep-temp-files'

$ grep -rwn --include="*.project" cabal-testsuite -e 'haddock-output-dir'
cabal-testsuite/PackageTests/NewHaddock/HaddockOutput/HaddockOutputConfig/cabal.project:3:haddock-output-dir: docs

$ grep -rwn --include="*.project" cabal-testsuite -e 'open'

$ grep -rwn --include="*.project" cabal-testsuite -e 'write-ghc-environment-files'

$ grep -rwn --include="*.project" cabal-testsuite -e 'build-info'

$ grep -rwn --include="*.project" cabal-testsuite -e 'http-transport'

$ grep -rwn --include="*.project" cabal-testsuite -e 'ignore-expiry'

$ grep -rwn --include="*.project" cabal-testsuite -e 'remote-repo-cache'

$ grep -rwn --include="*.project" cabal-testsuite -e 'logs-dir'

$ grep -rwn --include="*.project" cabal-testsuite -e 'build-summary'

$ grep -rwn --include="*.project" cabal-testsuite -e 'solver'

$ grep -rwn --include="*.project" cabal-testsuite -e 'max-backjumps'

$ grep -rwn --include="*.project" cabal-testsuite -e 'reorder-goals'

$ grep -rwn --include="*.project" cabal-testsuite -e 'count-conflicts'

$ grep -rwn --include="*.project" cabal-testsuite -e 'fine-grained-conflicts'

$ grep -rwn --include="*.project" cabal-testsuite -e 'minimize-conflict-set'

$ grep -rwn --include="*.project" cabal-testsuite -e 'strong-flags'

$ grep -rwn --include="*.project" cabal-testsuite -e 'allow-boot-library-installs'

$ grep -rwn --include="*.project" cabal-testsuite -e 'cabal-lib-version'

$ grep -rwn --include="*.project" cabal-testsuite -e 'prefer-oldest'

@philderbeast
Copy link
Collaborator Author

Here's all the *.project projects:

$ tree -P '*.project' --prune cabal-testsuite
cabal-testsuite
└── PackageTests
    ├── AllowNewer
    │   └── cabal.project
    ├── AllowOlder
    │   └── cabal.project
    ├── AutogenModulesToggling
    │   └── cabal.project
    ├── Backpack
    │   ├── bkpcabal01
    │   │   └── cabal.project
    │   ├── Includes2
    │   │   ├── cabal.external.project
    │   │   ├── cabal.internal.project
    │   │   └── cabal.project
    │   ├── Includes3
    │   │   ├── cabal.external.project
    │   │   ├── cabal.internal.project
    │   │   └── cabal.repo.project
    │   ├── Reexport2
    │   │   └── cabal.project
    │   ├── T4447
    │   │   └── cabal.project
    │   ├── T6385
    │   │   └── cabal.project
    │   └── T8582
    │       └── cabal.project
    ├── BuildAutogenPackageGuard
    │   └── cabal.project
    ├── BuildDeps
    │   ├── DepCycle
    │   │   └── cabal.project
    │   └── InternalLibrary1
    │       └── cabal.project
    ├── BuildTargets
    │   ├── UseLocalPackage
    │   │   └── cabal.project
    │   └── UseLocalPackageForSetup
    │       └── cabal.project
    ├── BuildToolDepends
    │   └── cabal.project
    ├── BuildTools
    │   ├── External
    │   │   └── cabal.project
    │   └── Internal
    │       └── cabal.project
    ├── CmmSources
    │   └── cabal.project
    ├── CmmSourcesDyn
    │   └── cabal.project
    ├── CmmSourcesExe
    │   └── cabal.project
    ├── ConditionalAndImport
    │   ├── cabal-bad-conditional.project
    │   ├── cabal-cyclical.project
    │   ├── cabal.project
    │   └── extra.project
    ├── ConfigFile
    │   └── T8487
    │       └── cabal.project
    ├── Configure
    │   └── cabal.project
    ├── CopyHie
    │   └── cabal.project
    ├── CustomDep
    │   └── cabal.project
    ├── CustomPlain
    │   └── cabal.project
    ├── CustomPreProcess
    │   └── cabal.project
    ├── CustomSegfault
    │   └── cabal.project
    ├── CustomTestCoverage
    │   └── cabal.project
    ├── CustomWithoutCabal
    │   └── cabal.project
    ├── CustomWithoutCabalDefaultMain
    │   └── cabal.project
    ├── Exec
    │   └── cabal.project
    ├── ExecModern
    │   └── cabal.project
    ├── ExternalCommand
    │   └── cabal.project
    ├── ExternalCommandEnv
    │   └── cabal.project
    ├── ExternalCommandHelp
    │   └── cabal.project
    ├── ExtraPackages
    │   └── cabal.project
    ├── ExtraProgPath
    │   └── cabal.project
    ├── FFI
    │   ├── ForeignOptsC
    │   │   └── cabal.project
    │   └── ForeignOptsCxx
    │       └── cabal.project
    ├── GHCJS
    │   └── BuildRunner
    │       └── cabal.project
    ├── HaddockArgs
    │   └── cabal.project
    ├── HaddockBuildDepends
    │   └── cabal.project
    ├── HaddockProject
    │   └── cabal.project
    ├── HaddockWarn
    │   └── cabal.project
    ├── InternalLibraries
    │   └── cabal.project
    ├── JS
    │   ├── JsSources
    │   │   └── cabal.project
    │   └── JsSourcesExe
    │       └── cabal.project
    ├── LinkerOptions
    │   └── NonignoredConfigs
    │       ├── basic
    │       │   └── cabal.project
    │       └── reinstall.dist
    │           ├── basic0
    │           │   └── cabal.project
    │           ├── basic1
    │           │   └── cabal.project
    │           ├── basic2
    │           │   └── cabal.project
    │           └── basic3
    │               └── cabal.project
    ├── ListBin
    │   └── SelectedComponent
    │       └── cabal.project
    ├── MultipleLibraries
    │   ├── Failing
    │   │   └── cabal.project
    │   ├── Successful
    │   │   └── cabal.project
    │   ├── T6083Post
    │   │   └── cabal.project
    │   ├── T6083PostMixin
    │   │   └── cabal.project
    │   ├── T6083Pre
    │   │   └── cabal.project
    │   ├── T6083PreMixin
    │   │   └── cabal.project
    │   └── T6894
    │       └── cabal.project
    ├── MultiRepl
    │   ├── CabalTooOld
    │   │   └── cabal.project
    │   ├── EnabledClosure
    │   │   └── cabal.project
    │   ├── EnabledSucc
    │   │   └── cabal.project
    │   └── NotEnabledFail
    │       └── cabal.project
    ├── NewBuild
    │   ├── CmdBench
    │   │   ├── MultipleBenchmarks
    │   │   │   └── cabal.project
    │   │   ├── OptionsFlag
    │   │   │   └── cabal.project
    │   │   └── WarningRTS
    │   │       └── cabal.project
    │   ├── CmdBuild
    │   │   └── OnlyConfigure
    │   │       └── cabal.project
    │   ├── CmdExec
    │   │   ├── GhcInvocation
    │   │   │   └── cabal.project
    │   │   └── RunExe
    │   │       └── cabal.project
    │   ├── CmdRun
    │   │   ├── Datafiles
    │   │   │   └── cabal.project
    │   │   ├── ExeAndLib
    │   │   │   └── cabal.project
    │   │   ├── ExitCodePropagation
    │   │   │   └── cabal.project
    │   │   ├── MultipleExes
    │   │   │   └── cabal.project
    │   │   ├── MultiplePackages
    │   │   │   └── cabal.project
    │   │   ├── Script
    │   │   │   └── cabal.project
    │   │   ├── ScriptBad
    │   │   │   └── cabal.project
    │   │   ├── ScriptLiterate
    │   │   │   └── cabal.project
    │   │   ├── Single
    │   │   │   └── cabal.project
    │   │   ├── Terminate
    │   │   │   └── cabal.project
    │   │   └── WarningRTS
    │   │       └── cabal.project
    │   ├── CmdTest
    │   │   ├── OptionsFlag
    │   │   │   └── cabal.project
    │   │   └── WarningRTS
    │   │       └── cabal.project
    │   ├── CustomSetup
    │   │   ├── LocalPackageWithCustomSetup
    │   │   │   └── cabal.project
    │   │   └── RemotePackageWithCustomSetup
    │   │       └── cabal.project
    │   ├── MonitorCabalFiles
    │   │   └── cabal.project
    │   ├── Semaphore
    │   │   └── cabal.project
    │   ├── T3460
    │   │   └── cabal.project
    │   ├── T3827
    │   │   └── cabal.project
    │   ├── T3978
    │   │   └── cabal.project
    │   ├── T4017
    │   │   └── cabal.project
    │   ├── T4288
    │   │   └── cabal.project
    │   ├── T4375
    │   │   └── cabal.project
    │   ├── T4405
    │   │   └── cabal.project
    │   ├── T4450
    │   │   └── cabal.project
    │   ├── T4477
    │   │   └── cabal.project
    │   └── T5164
    │       └── cabal.project
    ├── NewConfigure
    │   ├── ConfigFile
    │   │   └── cabal.project
    │   └── LocalConfigOverwrite
    │       ├── cabal.project
    │       └── foo.project
    ├── NewFreeze
    │   ├── BuildTools
    │   │   └── cabal.project
    │   ├── Flags
    │   │   └── cabal.project
    │   └── FreezeFile
    │       └── cabal.project
    ├── NewHaddock
    │   ├── DisableDoc
    │   │   └── cabal.project
    │   ├── Fails
    │   │   └── cabal.project
    │   ├── HaddockOutput
    │   │   ├── HaddockForHackageCmdOutput
    │   │   │   └── cabal.project
    │   │   ├── HaddockOutputCmd
    │   │   │   └── cabal.project
    │   │   └── HaddockOutputConfig
    │   │       └── cabal.project
    │   └── ImplyDependencies
    │       └── cabal.project
    ├── NewSdist
    │   ├── DeterministicTrivial
    │   │   └── cabal.project
    │   ├── Globbing
    │   │   └── cabal.project
    │   ├── ManyDataFiles
    │   │   └── cabal.project
    │   ├── MultiTarget
    │   │   └── cabal.project
    │   └── NullTerminated
    │       └── cabal.project
    ├── NewUpdate
    │   └── RejectFutureIndexStates
    │       └── cabal.project
    ├── OfflineFlag
    │   └── cabal.repo.project
    ├── Outdated
    │   ├── cabal.project
    │   └── variant.project
    ├── PackageDB
    │   ├── p
    │   │   └── cabal.project
    │   ├── p-no-package-dbs
    │   │   └── cabal.project
    │   └── q
    │       └── cabal.project
    ├── PkgConfigParse
    │   └── cabal.project
    ├── postCheckoutCommand
    │   ├── cabal.negative.project
    │   └── cabal.positive.project
    ├── ProfLate
    │   └── cabal.project
    ├── Project
    │   ├── CoverageProject
    │   │   └── cabal.project
    │   └── WarnBuilddir
    │       └── cabal.project
    ├── ProjectDir
    │   └── proj
    │       ├── cabal.project
    │       └── nix
    │           └── cabal.project
    ├── Regression
    │   ├── T3932
    │   │   └── cabal.project
    │   ├── T4154
    │   │   └── cabal.project
    │   ├── T4202
    │   │   └── cabal.project
    │   ├── T4720
    │   │   └── cabal.project
    │   ├── T4798
    │   │   └── cabal.project
    │   ├── T4986
    │   │   └── cabal.project
    │   ├── T5213
    │   │   └── cabal.project
    │   ├── T5213ExeCoverage
    │   │   └── cabal.project
    │   ├── T5309
    │   │   └── cabal.project
    │   ├── T5318
    │   │   └── cabal.project
    │   ├── T5386
    │   │   └── cabal.project
    │   ├── T5409
    │   │   └── cabal.project
    │   ├── T5677
    │   │   └── cabal.project
    │   ├── T5782Diamond
    │   │   └── cabal.project
    │   ├── T6334
    │   │   └── cabal.project
    │   ├── T6440
    │   │   └── cabal.project
    │   ├── T6853
    │   │   └── cabal.project
    │   ├── T6906
    │   │   └── cabal.project
    │   ├── T6961
    │   │   ├── DepExternal
    │   │   │   └── cabal.project
    │   │   ├── DepInternal
    │   │   │   └── cabal.project
    │   │   ├── Exe
    │   │   │   └── cabal.project
    │   │   └── Test
    │   │       └── cabal.project
    │   ├── T7234
    │   │   ├── Fail
    │   │   │   └── cabal.project
    │   │   └── Success
    │   │       └── cabal.project
    │   ├── T8507
    │   │   └── cabal.project
    │   └── T9640
    │       ├── cabal.project
    │       └── repo
    │           └── one-custom-0.1.0.0
    │               └── cabal.project
    ├── RelativePathProjectImports
    │   ├── cabal.project
    │   └── dep
    │       └── cabal.project
    ├── ReplBuildDepends
    │   └── cabal.project
    ├── ReplCSources
    │   └── cabal.project
    ├── ReplNoLoad
    │   └── cabal.project
    ├── ReplOptions
    │   └── cabal.project
    ├── RequireExplicit
    │   ├── FlagInProject
    │   │   └── cabal.project
    │   └── MultiPkg
    │       └── cabal.project
    ├── SDist
    │   ├── Respect-Project-File
    │   │   ├── cabal.project
    │   │   ├── Projects-Default-No
    │   │   │   ├── cabal.dot-uv.project
    │   │   │   ├── cabal.sub-pq.project
    │   │   │   └── cabal.sub-rs.project
    │   │   └── Projects-Default-Yes
    │   │       ├── cabal.dot-uv.project
    │   │       ├── cabal.project
    │   │       ├── cabal.sub-pq.project
    │   │       └── cabal.sub-rs.project
    │   ├── T5195
    │   │   └── cabal.project
    │   ├── T7028
    │   │   └── cabal.project
    │   ├── T7124
    │   │   └── cabal.project
    │   └── T7698
    │       └── cabal.project
    ├── ShowBuildInfo
    │   ├── A
    │   │   └── cabal.project
    │   ├── CompileFail
    │   │   └── cabal.project
    │   ├── Complex
    │   │   └── cabal.project
    │   └── Custom
    │       └── cabal.project
    ├── SimpleDefault
    │   └── cabal.project
    ├── SPDX
    │   └── cabal.project
    ├── TestCodeGenerator
    │   └── cabal.project
    ├── TestSuiteTests
    │   └── ExeV10
    │       └── cabal.project
    └── WarnEarlyOverwrite
        └── cabal.project

219 directories, 194 files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants