Merge pull request #9701 from cabalism/doc/compare-source-repos-9665
[cabal.git] / Cabal-tests / Cabal-tests.cabal
blobf48222332f4372768a380faa35c622ea47f76c3f
1 cabal-version: 2.2
2 name:          Cabal-tests
3 version:       3
4 copyright:     2003-2024, Cabal Development Team (see AUTHORS file)
5 license:       BSD-3-Clause
6 license-file:  LICENSE
7 author:        Cabal Development Team <cabal-devel@haskell.org>
8 maintainer:    cabal-devel@haskell.org
9 homepage:      http://www.haskell.org/cabal/
10 bug-reports:   https://github.com/haskell/cabal/issues
11 synopsis:      Tests for Cabal library
12 description:   The tests are external for development flows convenience.
13 category:      Distribution
14 build-type:    Simple
16 source-repository head
17   type:     git
18   location: https://github.com/haskell/cabal/
19   subdir:   Cabal-tests
21 -- Common utilities which can be used by all tests.
22 library
23   hs-source-dirs: lib
24   exposed-modules: Test.Utils.TempTestDir
25   build-depends: base, directory, Cabal, filepath, exceptions
27 -- Small, fast running tests.
28 test-suite unit-tests
29   type:             exitcode-stdio-1.0
30   hs-source-dirs:   tests
31   other-modules:
32     Test.Laws
33     Test.QuickCheck.Utils
34     UnitTests.Distribution.CabalSpecVersion
35     UnitTests.Distribution.Compat.Graph
36     UnitTests.Distribution.Compat.Time
37     UnitTests.Distribution.Described
38     UnitTests.Distribution.PackageDescription.Check
39     UnitTests.Distribution.PkgconfigVersion
40     UnitTests.Distribution.Simple.Command
41     UnitTests.Distribution.Simple.Glob
42     UnitTests.Distribution.Simple.Program.GHC
43     UnitTests.Distribution.Simple.Program.Internal
44     UnitTests.Distribution.Simple.Utils
45     UnitTests.Distribution.SPDX
46     UnitTests.Distribution.System
47     UnitTests.Distribution.Types.GenericPackageDescription
48     UnitTests.Distribution.Utils.CharSet
49     UnitTests.Distribution.Utils.Generic
50     UnitTests.Distribution.Utils.Json
51     UnitTests.Distribution.Utils.NubList
52     UnitTests.Distribution.Utils.ShortText
53     UnitTests.Distribution.Utils.Structured
54     UnitTests.Distribution.Version
55     UnitTests.Orphans
57   main-is:          UnitTests.hs
58   build-depends:
59       array
60     , base                >=4.11    && <5
61     , bytestring
62     , Cabal
63     , Cabal-described
64     , Cabal-syntax
65     , Cabal-QuickCheck
66     , containers
67     , Diff                >=0.4   && <0.6
68     , directory
69     , filepath
70     , pretty
71     , QuickCheck          >=2.14  && <2.15
72     , tasty               >=1.2.3 && <1.6
73     , tasty-hunit
74     , tasty-quickcheck
75     , temporary
76     , text
78   ghc-options:      -Wall
79   default-language: Haskell2010
81 test-suite parser-tests
82   type:             exitcode-stdio-1.0
83   hs-source-dirs:   tests
84   main-is:          ParserTests.hs
85   build-depends:
86       base
87     , base-compat       >=0.11.0  && <0.14
88     , bytestring
89     , Cabal-syntax
90     , Cabal-tree-diff
91     , Diff              >=0.4     && <0.6
92     , directory
93     , filepath
94     , tasty             >=1.2.3   && <1.6
95     , tasty-golden      >=2.3.1.1 && <2.4
96     , tasty-hunit
97     , tree-diff         >=0.1     && <0.4
99   ghc-options:      -Wall
100   default-language: Haskell2010
102 test-suite check-tests
103   type:             exitcode-stdio-1.0
104   hs-source-dirs:   tests
105   main-is:          CheckTests.hs
106   build-depends:
107       base
108     , bytestring
109     , Cabal
110     , Cabal-syntax
111     , Diff          >=0.4     && <0.6
112     , directory
113     , filepath
114     , tasty         >=1.2.3   && <1.6
115     , tasty-golden  >=2.3.1.1 && <2.4
117   ghc-options:      -Wall
118   default-language: Haskell2010
120 test-suite custom-setup-tests
121   type:             exitcode-stdio-1.0
122   hs-source-dirs:   tests/custom-setup
123   main-is:          CustomSetupTests.hs
124   other-modules:
125     CabalDoctestSetup
126     IdrisSetup
128   build-depends:
129       base
130     , Cabal
131     , Cabal-syntax
132     , directory
133     , filepath
134     , process
136   default-language: Haskell2010
138 test-suite hackage-tests
139   type:               exitcode-stdio-1.0
140   main-is:            HackageTests.hs
143   hs-source-dirs:     tests
144   build-depends:
145       base
146     , bytestring
147     , Cabal
148     , Cabal-syntax
149     , Cabal-tree-diff
150     , deepseq
151     , directory
152     , filepath
154   build-depends:
155       base-compat           >=0.11.0   && <0.14
156     , base-orphans          >=0.6      && <0.10
157     , clock                 >=0.8      && <0.9
158     , optparse-applicative  >=0.13.2.0 && <0.19
159     , tar                   >=0.5.0.3  && <0.7
160     , tree-diff             >=0.1      && <0.4
162   ghc-options:        -Wall -rtsopts -threaded
163   default-extensions: CPP
164   default-language:   Haskell2010
166 test-suite rpmvercmp
167   type:             exitcode-stdio-1.0
168   main-is:          RPMVerCmp.hs
169   hs-source-dirs:   tests
170   build-depends:
171       base
172     , bytestring
173     , Cabal-syntax
175   build-depends:
176       QuickCheck
177     , tasty             >=1.2.3 && <1.6
178     , tasty-hunit
179     , tasty-quickcheck
181   c-sources:        tests/cbits/rpmvercmp.c
182   cc-options:       -Wall
183   ghc-options:      -Wall
184   default-language: Haskell2010
186 test-suite no-thunks-test
187   default-language: Haskell2010
188   ghc-options:      -Wall
189   type:             exitcode-stdio-1.0
190   main-is:          NoThunks.hs
191   hs-source-dirs:   tests
192   build-depends:
193       base
194     , bytestring
195     , Cabal-syntax
196     , tasty        >=1.2.3 && <1.6
197     , tasty-hunit
199   -- this is test is buildable on old GHCs
200   -- but it doesn't do anything.
201   if impl(ghc >=8.6)
202     build-depends: nothunks >=0.1.1.0 && <0.3