1
1
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:
Nicolas Mattia 2018-07-27 18:22:43 +02:00
parent 938901ecc4
commit 50b48ed135
8 changed files with 69 additions and 0 deletions

View File

@ -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
View File

@ -0,0 +1,5 @@
1
2
3
4
5

View File

@ -0,0 +1,5 @@
[
"Bar",
"Foo",
"FooBar"
]

View 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

View 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
View File

@ -0,0 +1,10 @@
let
my-lib =
{ src = ./src;
dependencies = [ "conduit" ];
};
in
{ src = ./lib;
dependencies = [ "conduit" ];
packages = [ my-lib ];
}

View 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
View 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