mirror of
https://github.com/nmattia/snack.git
synced 2024-10-26 04:29:51 +03:00
Add missing Rep test
This commit is contained in:
parent
938901ecc4
commit
50b48ed135
@ -99,6 +99,11 @@ pushd tests/nested
|
||||
./test
|
||||
popd
|
||||
|
||||
banner "transitive imports"
|
||||
pushd tests/trans-imp
|
||||
./test
|
||||
popd
|
||||
|
||||
banner "Test readme folder"
|
||||
pushd tests/readme
|
||||
echo | snack ghci --package-yaml ./package.yaml
|
||||
|
5
tests/trans-imp/golden
Normal file
5
tests/trans-imp/golden
Normal file
@ -0,0 +1,5 @@
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
5
tests/trans-imp/golden.jq
Normal file
5
tests/trans-imp/golden.jq
Normal file
@ -0,0 +1,5 @@
|
||||
[
|
||||
"Bar",
|
||||
"Foo",
|
||||
"FooBar"
|
||||
]
|
7
tests/trans-imp/lib/Bar.hs
Normal file
7
tests/trans-imp/lib/Bar.hs
Normal file
@ -0,0 +1,7 @@
|
||||
module Bar ( main, Baz(..)) where
|
||||
|
||||
import Conduit
|
||||
import FooBar
|
||||
|
||||
main :: Baz -> IO ()
|
||||
main (Baz n) = runConduit $ spitOut .| takeC n .| digest
|
6
tests/trans-imp/lib/Foo.hs
Normal file
6
tests/trans-imp/lib/Foo.hs
Normal file
@ -0,0 +1,6 @@
|
||||
module Foo where
|
||||
|
||||
import qualified Bar
|
||||
|
||||
someFunc :: IO ()
|
||||
someFunc = Bar.main (Bar.Baz 5)
|
10
tests/trans-imp/snack.nix
Normal file
10
tests/trans-imp/snack.nix
Normal file
@ -0,0 +1,10 @@
|
||||
let
|
||||
my-lib =
|
||||
{ src = ./src;
|
||||
dependencies = [ "conduit" ];
|
||||
};
|
||||
in
|
||||
{ src = ./lib;
|
||||
dependencies = [ "conduit" ];
|
||||
packages = [ my-lib ];
|
||||
}
|
11
tests/trans-imp/src/FooBar.hs
Normal file
11
tests/trans-imp/src/FooBar.hs
Normal file
@ -0,0 +1,11 @@
|
||||
module FooBar where
|
||||
|
||||
import Conduit
|
||||
|
||||
data Baz = Baz Int
|
||||
|
||||
spitOut :: ConduitT () Int IO ()
|
||||
spitOut = yieldMany [ 1 ..]
|
||||
|
||||
digest :: ConduitT Int Void IO ()
|
||||
digest = mapM_C print
|
20
tests/trans-imp/test
Executable file
20
tests/trans-imp/test
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
# vim: ft=sh sw=2 et
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
test() {
|
||||
TMP_FILE=$(mktemp)
|
||||
|
||||
cat $($SNACK build) | jq -M '.result | keys' > $TMP_FILE
|
||||
|
||||
diff golden.jq $TMP_FILE
|
||||
|
||||
capture_io "$TMP_FILE" 'main (Baz 5)'| $SNACK ghci
|
||||
diff golden $TMP_FILE
|
||||
rm $TMP_FILE
|
||||
}
|
||||
|
||||
SNACK="snack" test
|
||||
SNACK="snack -s ./snack.nix" test
|
||||
# Note: no HPack test, because HPack doesn't support multi library
|
Loading…
Reference in New Issue
Block a user