There are some drawbacks: - No properly lazy golden tests. This would in principle be nice when e.g. using `pretty-simple`. - Because tests can be created dynamically, they can't be listed up front without running them. This presumably makes filtering slightly more annoying to use in practice. - Terminal output is less compact than tasty, both horizontally and vertically. There appears to be no way to change this. - We end up defining an orphan `Monoid (TestDefM '[] () ())` instance, to avoid changing much downstream code. Note though that this is not strictly necessary, and could potentially be contributed upstream. - There's a warning about threads in GHCI which we can't seem to disable. - The license forbids use in commercial projects without sponsoring. Thankfully that doesn't apply here. Anyway, it's generally very impressive. It simplifies a few things for us, and will particularly help when we come to want to specify dependencies between tests.
72 lines
1.4 KiB
Plaintext
72 lines
1.4 KiB
Plaintext
cabal-version: 3.0
|
|
name: aoc
|
|
version: 0.1.0.0
|
|
license-file: LICENSE
|
|
author: George Thomas
|
|
maintainer: georgefsthomas@gmail.com
|
|
|
|
executable aoc
|
|
main-is: Main.hs
|
|
hs-source-dirs: .
|
|
other-modules:
|
|
Pre
|
|
Puzzles.Day1
|
|
Puzzles.Day2
|
|
Puzzles.Day3
|
|
Puzzles.Day4
|
|
Puzzles.Day5
|
|
Puzzles.Day6
|
|
Puzzles.Day7
|
|
Puzzles.Day8
|
|
Puzzles.Day9
|
|
Puzzles.Day10
|
|
default-language: GHC2024
|
|
default-extensions:
|
|
BlockArguments
|
|
DuplicateRecordFields
|
|
ImpredicativeTypes
|
|
LexicalNegation
|
|
MultiWayIf
|
|
NamedFieldPuns
|
|
NegativeLiterals
|
|
NoFieldSelectors
|
|
NoImplicitPrelude
|
|
NoMonomorphismRestriction
|
|
OverloadedRecordDot
|
|
OverloadedStrings
|
|
RecordWildCards
|
|
ViewPatterns
|
|
ghc-options:
|
|
-Wall
|
|
-fdefer-type-errors
|
|
-threaded
|
|
-rtsopts
|
|
-with-rtsopts=-N
|
|
build-depends:
|
|
base >= 4.14,
|
|
async,
|
|
binary,
|
|
bytestring,
|
|
colour,
|
|
containers,
|
|
deepseq,
|
|
directory,
|
|
disjoint-containers,
|
|
exceptions,
|
|
extra,
|
|
filepath,
|
|
lens,
|
|
linear,
|
|
massiv,
|
|
megaparsec,
|
|
monad-loops,
|
|
mtl,
|
|
pretty-simple,
|
|
safe,
|
|
sydtest,
|
|
stm,
|
|
streams,
|
|
text,
|
|
time,
|
|
transformers,
|