File tree Expand file tree Collapse file tree 2 files changed +60
-0
lines changed Expand file tree Collapse file tree 2 files changed +60
-0
lines changed Original file line number Diff line number Diff line change 13
13
# The new Haskell infra applied to nix representation of Hackage
14
14
haskell = import ../. hackage ;
15
15
16
+ haskellLib = let hl = import ../lib { inherit lib ; haskellLib = hl ; } ; in hl ;
17
+
16
18
in {
17
19
cabal-simple = callPackage ./cabal-simple { inherit haskell ; } ;
18
20
cabal-22 = callPackage ./cabal-22 { inherit haskell ; } ;
21
+
22
+ # Run unit tests with: nix-instantiate --eval --strict -A unit
23
+ # An empty list means success.
24
+ unit = callPackage ./unit.nix { inherit haskellLib ; } ;
19
25
}
20
26
21
27
## possible test cases
Original file line number Diff line number Diff line change
1
+ { lib , haskellLib } :
2
+
3
+ let
4
+ emptyConfig = {
5
+ components = {
6
+ benchmarks = { } ;
7
+ exes = { } ;
8
+ foreignlibs = { } ;
9
+ library = "library" ;
10
+ sublibs = { } ;
11
+ tests = { } ;
12
+ all = "all" ;
13
+ } ;
14
+ package . identifier . name = "empty" ;
15
+ } ;
16
+
17
+ componentsConfig = {
18
+ components = {
19
+ benchmarks = { bbb = "bbb" ; } ;
20
+ exes = { eee = "eee" ; } ;
21
+ foreignlibs = { fff = "fff" ; } ;
22
+ library = "library" ;
23
+ sublibs = { } ;
24
+ tests = { ttt = "ttt" ; } ;
25
+ all = "all" ;
26
+ } ;
27
+ package . identifier . name = "nnn" ;
28
+ } ;
29
+
30
+ in
31
+ lib . runTests {
32
+ # identity function for applyComponents
33
+ test-applyComponents-id = {
34
+ expr = haskellLib . applyComponents ( componentId : component : component ) emptyConfig ;
35
+ expected = emptyConfig . components ;
36
+ } ;
37
+
38
+ # map a component to its component name and check these are correct
39
+ test-applyComponents-library = {
40
+ expr = haskellLib . applyComponents ( componentId : component : componentId . cname ) emptyConfig ;
41
+ expected = emptyConfig . components // { library = "empty" ; all = "empty" ; } ;
42
+ } ;
43
+
44
+ test-applyComponents-components = {
45
+ expr = haskellLib . applyComponents ( componentId : component : component ) componentsConfig ;
46
+ expected = componentsConfig . components ;
47
+ } ;
48
+
49
+ # testing that the tests work
50
+ testId = {
51
+ expr = lib . id 1 ;
52
+ expected = 1 ;
53
+ } ;
54
+ }
You can’t perform that action at this time.
0 commit comments