diff options
-rw-r--r-- | tests/tarball.sh | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/tests/tarball.sh b/tests/tarball.sh index ec810b4d7..7738b948d 100644 --- a/tests/tarball.sh +++ b/tests/tarball.sh @@ -10,36 +10,28 @@ mkdir -p $tarroot cp dependencies.nix $tarroot/default.nix cp config.nix dependencies.builder*.sh $tarroot/ -tarball=$TEST_ROOT/tarball.tar.xz -(cd $TEST_ROOT && tar c tarball) | xz > $tarball +test_tarball() { + local ext="$1" + local compressor="$2" -nix-env -f file://$tarball -qa --out-path | grep -q dependencies + tarball=$TEST_ROOT/tarball.tar$ext + (cd $TEST_ROOT && tar c tarball) | $compressor > $tarball -nix-build -o $TEST_ROOT/result file://$tarball + nix-env -f file://$tarball -qa --out-path | grep -q dependencies -nix-build -o $TEST_ROOT/result '<foo>' -I foo=file://$tarball + nix-build -o $TEST_ROOT/result file://$tarball -nix-build -o $TEST_ROOT/result -E "import (fetchTarball file://$tarball)" + nix-build -o $TEST_ROOT/result '<foo>' -I foo=file://$tarball -nix-instantiate --eval -E '1 + 2' -I fnord=file://no-such-tarball.tar.xz -nix-instantiate --eval -E 'with <fnord/xyzzy>; 1 + 2' -I fnord=file://no-such-tarball.tar.xz -(! nix-instantiate --eval -E '<fnord/xyzzy> 1' -I fnord=file://no-such-tarball.tar.xz) + nix-build -o $TEST_ROOT/result -E "import (fetchTarball file://$tarball)" -nix-instantiate --eval -E '<fnord/config.nix>' -I fnord=file://no-such-tarball.tar.xz -I fnord=. + nix-instantiate --eval -E '1 + 2' -I fnord=file://no-such-tarball.tar$ext + nix-instantiate --eval -E 'with <fnord/xyzzy>; 1 + 2' -I fnord=file://no-such-tarball$ext + (! nix-instantiate --eval -E '<fnord/xyzzy> 1' -I fnord=file://no-such-tarball$ext) -tarball=$TEST_ROOT/tarball.tar.gz -(cd $TEST_ROOT && tar c tarball) | gzip > $tarball + nix-instantiate --eval -E '<fnord/config.nix>' -I fnord=file://no-such-tarball$ext -I fnord=. +} -nix-env -f file://$tarball -qa --out-path | grep -q dependencies - -nix-build -o $TEST_ROOT/result file://$tarball - -nix-build -o $TEST_ROOT/result '<foo>' -I foo=file://$tarball - -nix-build -o $TEST_ROOT/result -E "import (fetchTarball file://$tarball)" - -nix-instantiate --eval -E '1 + 2' -I fnord=file://no-such-tarball.tar.gz -nix-instantiate --eval -E 'with <fnord/xyzzy>; 1 + 2' -I fnord=file://no-such-tarball.tar.gz -(! nix-instantiate --eval -E '<fnord/xyzzy> 1' -I fnord=file://no-such-tarball.tar.gz) - -nix-instantiate --eval -E '<fnord/config.nix>' -I fnord=file://no-such-tarball.tar.gz -I fnord=. +test_tarball '' cat +test_tarball .xz xz +test_tarball .gz gzip |