summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-05-30 14:53:57 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-05-30 15:18:12 +0200
commitbac123ddd9eaecb9044f7d7c9572f77825a18ad5 (patch)
tree51293a222a745d0cfa4dd00fe5d63956e9baf170 /tests
parent3593c8285dec644f07156496fd8cd84ef70ec665 (diff)
Test the NAR info cache
Diffstat (limited to 'tests')
-rw-r--r--tests/binary-cache.sh15
-rw-r--r--tests/nix-channel.sh13
-rw-r--r--tests/nix-profile.sh13
-rw-r--r--tests/tarball.sh3
-rw-r--r--tests/user-envs.sh3
5 files changed, 18 insertions, 29 deletions
diff --git a/tests/binary-cache.sh b/tests/binary-cache.sh
index b0b91905a..09e25b29f 100644
--- a/tests/binary-cache.sh
+++ b/tests/binary-cache.sh
@@ -12,7 +12,7 @@ nix-push --dest $cacheDir $outPath
# By default, a binary cache doesn't support "nix-env -qas", but does
# support installation.
clearStore
-rm -f $NIX_STATE_DIR/binary-cache*
+clearCacheCache
export _NIX_CACHE_FILE_URLS=1
@@ -25,7 +25,7 @@ nix-store --option binary-caches "file://$cacheDir" -r $outPath
# But with the right configuration, "nix-env -qas" should also work.
clearStore
-rm -f $NIX_STATE_DIR/binary-cache*
+clearCacheCache
echo "WantMassQuery: 1" >> $cacheDir/nix-cache-info
nix-env --option binary-caches "file://$cacheDir" -f dependencies.nix -qas \* | grep -- "--S"
@@ -55,8 +55,7 @@ mv $nar.good $nar
# Test whether this unsigned cache is rejected if the user requires signed caches.
clearStore
-
-rm -f $NIX_STATE_DIR/binary-cache*
+clearCacheCache
if nix-store --option binary-caches "file://$cacheDir" --option signed-binary-caches '*' -r $outPath; then
echo "unsigned binary cache incorrectly accepted"
@@ -107,16 +106,14 @@ nix-push --dest $cacheDir --key-file $TEST_ROOT/sk1 $outPath
# Downloading should fail if we don't provide a key.
clearStore
-
-rm -f $NIX_STATE_DIR/binary-cache*
+clearCacheCache
(! nix-store -r $outPath --option binary-caches "file://$cacheDir" --option signed-binary-caches '*' )
# And it should fail if we provide an incorrect key.
clearStore
-
-rm -f $NIX_STATE_DIR/binary-cache*
+clearCacheCache
(! nix-store -r $outPath --option binary-caches "file://$cacheDir" --option signed-binary-caches '*' --option binary-cache-public-keys "$badKey")
@@ -133,7 +130,7 @@ for i in $cacheDir/*.narinfo; do
mv $i.tmp $i
done
-rm -f $NIX_STATE_DIR/binary-cache*
+clearCacheCache
(! nix-store -r $outPath --option binary-caches "file://$cacheDir" --option signed-binary-caches '*' --option binary-cache-public-keys "$publicKey")
diff --git a/tests/nix-channel.sh b/tests/nix-channel.sh
index c538afd60..2ec986dd4 100644
--- a/tests/nix-channel.sh
+++ b/tests/nix-channel.sh
@@ -2,18 +2,15 @@ source common.sh
clearProfiles
-rm -f $TEST_ROOT/.nix-channels
-
-# Override location of ~/.nix-channels.
-export HOME=$TEST_ROOT
+rm -f $TEST_HOME/.nix-channels $TEST_HOME/.nix-profile
# Test add/list/remove.
nix-channel --add http://foo/bar xyzzy
nix-channel --list | grep -q http://foo/bar
nix-channel --remove xyzzy
-[ -e $TEST_ROOT/.nix-channels ]
-[ "$(cat $TEST_ROOT/.nix-channels)" = '' ]
+[ -e $TEST_HOME/.nix-channels ]
+[ "$(cat $TEST_HOME/.nix-channels)" = '' ]
# Create a channel.
rm -rf $TEST_ROOT/foo
@@ -41,10 +38,8 @@ grep -q 'item.*attrPath="foo".*name="dependencies"' $TEST_ROOT/meta.xml
nix-env -i dependencies
[ -e $TEST_ROOT/var/nix/profiles/default/foobar ]
-
-
clearProfiles
-rm -f $TEST_ROOT/.nix-channels
+rm -f $TEST_HOME/.nix-channels
# Test updating from a tarball
nix-channel --add file://$TEST_ROOT/foo/nixexprs.tar.bz2 foo
diff --git a/tests/nix-profile.sh b/tests/nix-profile.sh
index db1edd73e..2cc3910ba 100644
--- a/tests/nix-profile.sh
+++ b/tests/nix-profile.sh
@@ -1,11 +1,10 @@
source common.sh
-home=$TEST_ROOT/home
user=$(whoami)
-rm -rf $home
-mkdir -p $home
-HOME=$home USER=$user $SHELL -e -c ". ../scripts/nix-profile.sh"
-HOME=$home USER=$user $SHELL -e -c ". ../scripts/nix-profile.sh" # test idempotency
+rm -rf $TEST_HOME
+mkdir -p $TEST_HOME
+USER=$user $SHELL -e -c ". ../scripts/nix-profile.sh"
+USER=$user $SHELL -e -c ". ../scripts/nix-profile.sh" # test idempotency
-[ -L $home/.nix-profile ]
-[ -e $home/.nix-channels ]
+[ -L $TEST_HOME/.nix-profile ]
+[ -e $TEST_HOME/.nix-channels ]
diff --git a/tests/tarball.sh b/tests/tarball.sh
index 254c4b626..329e73b91 100644
--- a/tests/tarball.sh
+++ b/tests/tarball.sh
@@ -2,8 +2,7 @@ source common.sh
clearStore
-export HOME=$TEST_ROOT/home
-rm -rf $TEST_ROOT/home
+rm -rf $TEST_HOME
tarroot=$TEST_ROOT/tarball
rm -rf $tarroot
diff --git a/tests/user-envs.sh b/tests/user-envs.sh
index 5e4fcb7bc..526c1267c 100644
--- a/tests/user-envs.sh
+++ b/tests/user-envs.sh
@@ -6,8 +6,7 @@ clearProfiles
# Query installed: should be empty.
test "$(nix-env -p $profiles/test -q '*' | wc -l)" -eq 0
-export HOME=$TEST_ROOT/home
-mkdir -p $HOME
+mkdir -p $TEST_HOME
nix-env --switch-profile $profiles/test
# Query available: should contain several.