Open philderbeast opened 5 months ago
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
?
Do we gain something by dividing it in two?
Yes we see how few (or how many) project tests we have.
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).
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'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?
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
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'
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
I've been adding tests of projects to
cabal-testsuite/PackageTests
where all othercabal-testsuite
tests are. Can I start adding project tests (and moving some misplaced ones) tocabal-testsuite/ProjectTests
?