Convert to cabal.project
[packages/containers.git] / containers-tests / containers-tests.cabal
1 name:               containers-tests
2 version:            0
3 license:            BSD3
4 license-file:       LICENSE
5 maintainer:         libraries@haskell.org
6 bug-reports:        https://github.com/haskell/containers/issues
7 synopsis:           Assorted concrete container types: Tests
8 category:           Data Structures
9 description:
10   .
11   This package contains tests and benchmarks for @containers-package
12
13 build-type:         Simple
14 cabal-version:      >=1.8
15 extra-source-files:
16   include/containers.h
17   tests/Makefile
18   tests/*.hs
19   benchmarks/Makefile
20   benchmarks/bench-cmp.pl
21   benchmarks/bench-cmp.sh
22   benchmarks/*.hs
23   benchmarks/SetOperations/Makefile
24   benchmarks/SetOperations/*.hs
25   benchmarks/LookupGE/Makefile
26   benchmarks/LookupGE/*.hs
27
28 tested-with:
29   GHC ==7.6.3 || ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.4
30
31 source-repository head
32   type:     git
33   location: http://github.com/haskell/containers.git
34
35 -- Copy of containers library,
36 library
37   -- this is important for testing; may it affect benchmarks?
38   cpp-options:      -DTESTING
39   build-depends:
40       array    >=0.4.0.0
41     , base     >=4.6     && <5
42     , deepseq  >=1.2     && <1.5
43
44   include-dirs:     include
45   hs-source-dirs:   src
46   ghc-options:      -O2 -Wall
47   other-extensions:
48     BangPatterns
49     CPP
50
51   exposed-modules:
52     Data.Containers.ListUtils
53     Data.Graph
54     Data.IntMap
55     Data.IntMap.Internal
56     Data.IntMap.Internal.Debug
57     Data.IntMap.Lazy
58     Data.IntMap.Merge.Lazy
59     Data.IntMap.Merge.Strict
60     Data.IntMap.Strict
61     Data.IntMap.Strict.Internal
62     Data.IntSet
63     Data.IntSet.Internal
64     Data.Map
65     Data.Map.Internal
66     Data.Map.Internal.Debug
67     Data.Map.Lazy
68     Data.Map.Merge.Lazy
69     Data.Map.Merge.Strict
70     Data.Map.Strict
71     Data.Map.Strict.Internal
72     Data.Sequence
73     Data.Sequence.Internal
74     Data.Sequence.Internal.Sorting
75     Data.Set
76     Data.Set.Internal
77     Data.Tree
78     Utils.Containers.Internal.BitQueue
79     Utils.Containers.Internal.BitUtil
80     Utils.Containers.Internal.StrictPair
81
82   other-modules:
83     Utils.Containers.Internal.Coercions
84     Utils.Containers.Internal.PtrEquality
85     Utils.Containers.Internal.State
86     Utils.Containers.Internal.StrictMaybe
87
88   if impl(ghc)
89     other-modules:
90       Data.IntMap.Internal.DeprecatedDebug
91       Data.Map.Internal.DeprecatedShowTree
92       Utils.Containers.Internal.TypeError
93
94 -----------------------------
95 -- B E N C H M A R K I N G --
96 -----------------------------
97
98 benchmark intmap-benchmarks
99   type:           exitcode-stdio-1.0
100   hs-source-dirs: benchmarks
101   main-is:        IntMap.hs
102   ghc-options:    -O2
103   build-depends:
104       base              >=4.6     && <5
105     , containers-tests
106     , deepseq           >=1.1.0.0 && <1.5
107     , gauge             >=0.2.3   && <0.3
108
109 benchmark intset-benchmarks
110   type:           exitcode-stdio-1.0
111   hs-source-dirs: benchmarks
112   main-is:        IntSet.hs
113   ghc-options:    -O2
114   build-depends:
115       base              >=4.6     && <5
116     , containers-tests
117     , deepseq           >=1.1.0.0 && <1.5
118     , gauge             >=0.2.3   && <0.3
119
120 benchmark map-benchmarks
121   type:           exitcode-stdio-1.0
122   hs-source-dirs: benchmarks
123   main-is:        Map.hs
124   ghc-options:    -O2
125   build-depends:
126       base              >=4.6     && <5
127     , containers-tests
128     , deepseq           >=1.1.0.0 && <1.5
129     , gauge             >=0.2.3   && <0.3
130     , transformers
131
132 benchmark sequence-benchmarks
133   type:           exitcode-stdio-1.0
134   hs-source-dirs: benchmarks
135   main-is:        Sequence.hs
136   ghc-options:    -O2
137   build-depends:
138       base              >=4.6     && <5
139     , containers-tests
140     , deepseq           >=1.1.0.0 && <1.5
141     , gauge             >=0.2.3   && <0.3
142     , random            >=0       && <1.2
143     , transformers
144
145 benchmark set-benchmarks
146   type:           exitcode-stdio-1.0
147   hs-source-dirs: benchmarks
148   main-is:        Set.hs
149   ghc-options:    -O2
150   build-depends:
151       base              >=4.6     && <5
152     , containers-tests
153     , deepseq           >=1.1.0.0 && <1.5
154     , gauge             >=0.2.3   && <0.3
155
156 benchmark set-operations-intmap
157   type:           exitcode-stdio-1.0
158   hs-source-dirs: benchmarks/SetOperations
159   main-is:        SetOperations-IntMap.hs
160   other-modules:  SetOperations
161   ghc-options:    -O2
162   build-depends:
163       base              >=4.6   && <5
164     , containers-tests
165     , gauge             >=0.2.3 && <0.3
166
167 benchmark set-operations-intset
168   type:           exitcode-stdio-1.0
169   hs-source-dirs: benchmarks/SetOperations
170   main-is:        SetOperations-IntSet.hs
171   other-modules:  SetOperations
172   ghc-options:    -O2
173   build-depends:
174       base              >=4.6   && <5
175     , containers-tests
176     , gauge             >=0.2.3 && <0.3
177
178 benchmark set-operations-map
179   type:           exitcode-stdio-1.0
180   hs-source-dirs: benchmarks/SetOperations
181   main-is:        SetOperations-Map.hs
182   other-modules:  SetOperations
183   ghc-options:    -O2
184   build-depends:
185       base              >=4.6   && <5
186     , containers-tests
187     , gauge             >=0.2.3 && <0.3
188
189 benchmark set-operations-set
190   type:           exitcode-stdio-1.0
191   hs-source-dirs: benchmarks/SetOperations
192   main-is:        SetOperations-Set.hs
193   other-modules:  SetOperations
194   ghc-options:    -O2
195   build-depends:
196       base              >=4.6   && <5
197     , containers-tests
198     , gauge             >=0.2.3 && <0.3
199
200 benchmark lookupge-intmap
201   type:           exitcode-stdio-1.0
202   hs-source-dirs: benchmarks/LookupGE
203   main-is:        IntMap.hs
204   other-modules:  LookupGE_IntMap
205   build-depends:  containers-tests
206   build-depends:
207       base     >=4.6     && <5
208     , deepseq  >=1.1.0.0 && <1.5
209     , gauge    >=0.2.3   && <0.3
210
211 benchmark lookupge-map
212   type:           exitcode-stdio-1.0
213   hs-source-dirs: benchmarks/LookupGE
214   main-is:        Map.hs
215   other-modules:  LookupGE_Map
216   build-depends:  containers-tests
217   ghc-options:    -O2
218   build-depends:
219       base     >=4.6     && <5
220     , deepseq  >=1.1.0.0 && <1.5
221     , gauge    >=0.2.3   && <0.3
222
223 -------------------
224 -- T E S T I N G --
225 -------------------
226
227 -- Every test-suite contains the build-depends and options of the library,
228 -- plus the testing stuff.
229
230 test-suite map-lazy-properties
231   hs-source-dirs:   tests
232   main-is:          map-properties.hs
233   type:             exitcode-stdio-1.0
234   build-depends:    containers-tests
235   build-depends:
236       array    >=0.4.0.0
237     , base     >=4.6     && <5
238     , deepseq  >=1.2     && <1.5
239
240   ghc-options:      -O2
241   other-extensions:
242     BangPatterns
243     CPP
244
245   build-depends:
246       HUnit
247     , QuickCheck                  >=2.7.1
248     , test-framework
249     , test-framework-hunit
250     , test-framework-quickcheck2
251     , transformers
252
253 test-suite map-strict-properties
254   hs-source-dirs:   tests
255   main-is:          map-properties.hs
256   type:             exitcode-stdio-1.0
257   build-depends:    containers-tests
258   build-depends:
259       array    >=0.4.0.0
260     , base     >=4.6     && <5
261     , deepseq  >=1.2     && <1.5
262
263   ghc-options:      -O2
264   other-extensions:
265     BangPatterns
266     CPP
267
268   build-depends:
269       HUnit
270     , QuickCheck                  >=2.7.1
271     , test-framework
272     , test-framework-hunit
273     , test-framework-quickcheck2
274     , transformers
275
276 test-suite bitqueue-properties
277   hs-source-dirs:   tests
278   main-is:          bitqueue-properties.hs
279   type:             exitcode-stdio-1.0
280   build-depends:    base >=4.6 && <5
281   ghc-options:      -O2
282   other-extensions:
283     BangPatterns
284     CPP
285
286   build-depends:    containers-tests
287   build-depends:
288       QuickCheck                  >=2.7.1
289     , test-framework
290     , test-framework-quickcheck2
291
292 test-suite set-properties
293   hs-source-dirs:   tests
294   main-is:          set-properties.hs
295   type:             exitcode-stdio-1.0
296   build-depends:
297       array    >=0.4.0.0
298     , base     >=4.6     && <5
299     , deepseq  >=1.2     && <1.5
300
301   ghc-options:      -O2
302   other-extensions:
303     BangPatterns
304     CPP
305
306   build-depends:    containers-tests
307   build-depends:
308       HUnit
309     , QuickCheck                  >=2.7.1
310     , test-framework
311     , test-framework-hunit
312     , test-framework-quickcheck2
313     , transformers
314
315 test-suite intmap-lazy-properties
316   hs-source-dirs:   tests
317   main-is:          intmap-properties.hs
318   type:             exitcode-stdio-1.0
319   other-modules:    IntMapValidity
320   build-depends:    containers-tests
321   build-depends:
322       array    >=0.4.0.0
323     , base     >=4.6     && <5
324     , deepseq  >=1.2     && <1.5
325
326   ghc-options:      -O2
327   other-extensions:
328     BangPatterns
329     CPP
330
331   build-depends:
332       HUnit
333     , QuickCheck                  >=2.7.1
334     , test-framework
335     , test-framework-hunit
336     , test-framework-quickcheck2
337
338 test-suite intmap-strict-properties
339   hs-source-dirs:   tests
340   main-is:          intmap-properties.hs
341   type:             exitcode-stdio-1.0
342   cpp-options:      -DSTRICT
343   other-modules:    IntMapValidity
344   build-depends:    containers-tests
345   build-depends:
346       array    >=0.4.0.0
347     , base     >=4.6     && <5
348     , deepseq  >=1.2     && <1.5
349
350   ghc-options:      -O2
351   other-extensions:
352     BangPatterns
353     CPP
354
355   build-depends:    containers-tests
356   build-depends:
357       HUnit
358     , QuickCheck                  >=2.7.1
359     , test-framework
360     , test-framework-hunit
361     , test-framework-quickcheck2
362
363 test-suite intset-properties
364   hs-source-dirs:   tests
365   main-is:          intset-properties.hs
366   type:             exitcode-stdio-1.0
367   other-modules:    IntSetValidity
368   build-depends:
369       array    >=0.4.0.0
370     , base     >=4.6     && <5
371     , deepseq  >=1.2     && <1.5
372
373   ghc-options:      -O2
374   other-extensions:
375     BangPatterns
376     CPP
377
378   build-depends:    containers-tests
379   build-depends:
380       HUnit
381     , QuickCheck                  >=2.7.1
382     , test-framework
383     , test-framework-hunit
384     , test-framework-quickcheck2
385
386 test-suite seq-properties
387   hs-source-dirs:   tests
388   main-is:          seq-properties.hs
389   type:             exitcode-stdio-1.0
390   build-depends:    containers-tests
391   build-depends:
392       array    >=0.4.0.0
393     , base     >=4.6     && <5
394     , deepseq  >=1.2     && <1.5
395
396   ghc-options:      -O2
397   other-extensions:
398     BangPatterns
399     CPP
400
401   build-depends:
402       QuickCheck                  >=2.7.1
403     , test-framework
404     , test-framework-quickcheck2
405     , transformers
406
407 test-suite tree-properties
408   hs-source-dirs:   tests
409   main-is:          tree-properties.hs
410   type:             exitcode-stdio-1.0
411   build-depends:    containers-tests
412   build-depends:
413       array    >=0.4.0.0
414     , base     >=4.6     && <5
415     , deepseq  >=1.2     && <1.5
416
417   ghc-options:      -O2
418   other-extensions:
419     BangPatterns
420     CPP
421
422   build-depends:
423       QuickCheck                  >=2.7.1
424     , test-framework
425     , test-framework-quickcheck2
426     , transformers
427
428 test-suite map-strictness-properties
429   hs-source-dirs:   tests
430   main-is:          map-strictness.hs
431   type:             exitcode-stdio-1.0
432   build-depends:    containers-tests
433   build-depends:
434       array                       >=0.4.0.0
435     , base                        >=4.6     && <5
436     , ChasingBottoms
437     , deepseq                     >=1.2     && <1.5
438     , QuickCheck                  >=2.7.1
439     , test-framework              >=0.3.3
440     , test-framework-quickcheck2  >=0.2.9
441
442   ghc-options:      -Wall
443   other-extensions:
444     BangPatterns
445     CPP
446
447 test-suite intmap-strictness-properties
448   hs-source-dirs:   tests
449   main-is:          intmap-strictness.hs
450   type:             exitcode-stdio-1.0
451   other-extensions:
452     BangPatterns
453     CPP
454
455   build-depends:    containers-tests
456   build-depends:
457       array                       >=0.4.0.0
458     , base                        >=4.6     && <5
459     , ChasingBottoms
460     , deepseq                     >=1.2     && <1.5
461     , QuickCheck                  >=2.7.1
462     , test-framework              >=0.3.3
463     , test-framework-quickcheck2  >=0.2.9
464
465   ghc-options:      -Wall
466
467 test-suite intset-strictness-properties
468   hs-source-dirs:   tests
469   main-is:          intset-strictness.hs
470   type:             exitcode-stdio-1.0
471   other-extensions:
472     BangPatterns
473     CPP
474
475   build-depends:    containers-tests
476   build-depends:
477       array                       >=0.4.0.0
478     , base                        >=4.6     && <5
479     , ChasingBottoms
480     , deepseq                     >=1.2     && <1.5
481     , QuickCheck                  >=2.7.1
482     , test-framework              >=0.3.3
483     , test-framework-quickcheck2  >=0.2.9
484
485   ghc-options:      -Wall
486
487 test-suite listutils-properties
488   hs-source-dirs: tests
489   main-is:        listutils-properties.hs
490   type:           exitcode-stdio-1.0
491   build-depends:  containers-tests
492   build-depends:
493       base                        >=4.6   && <5
494     , ChasingBottoms
495     , deepseq                     >=1.2   && <1.5
496     , QuickCheck                  >=2.7.1
497     , test-framework              >=0.3.3
498     , test-framework-quickcheck2  >=0.2.9
499
500   ghc-options:    -Wall