diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/binary-cache.sh | 6 | ||||
-rw-r--r-- | tests/common.sh.in | 7 | ||||
-rw-r--r-- | tests/config.nix | 2 | ||||
-rw-r--r-- | tests/dump-db.sh | 3 | ||||
-rw-r--r-- | tests/init.sh | 5 | ||||
-rw-r--r-- | tests/lang/eval-okay-partition.exp | 1 | ||||
-rw-r--r-- | tests/lang/eval-okay-partition.nix | 5 | ||||
-rw-r--r-- | tests/local.mk | 5 | ||||
-rw-r--r-- | tests/nix-channel.sh | 2 | ||||
-rw-r--r-- | tests/nix-push.sh | 12 | ||||
-rw-r--r-- | tests/placeholders.sh | 22 | ||||
-rw-r--r-- | tests/referrers.sh | 2 | ||||
-rw-r--r-- | tests/remote-store.sh | 2 | ||||
-rw-r--r-- | tests/repair.sh | 2 | ||||
-rw-r--r-- | tests/user-envs.sh | 5 |
15 files changed, 47 insertions, 34 deletions
diff --git a/tests/binary-cache.sh b/tests/binary-cache.sh index 96cab6ad4269..4ce428f643e5 100644 --- a/tests/binary-cache.sh +++ b/tests/binary-cache.sh @@ -6,7 +6,7 @@ clearCache # Create the binary cache. outPath=$(nix-build dependencies.nix --no-out-link) -nix-push --dest $cacheDir $outPath +nix copy --recursive --to file://$cacheDir $outPath basicTests() { @@ -58,7 +58,7 @@ unset _NIX_FORCE_HTTP_BINARY_CACHE_STORE # Test whether Nix notices if the NAR doesn't match the hash in the NAR info. clearStore -nar=$(ls $cacheDir/*.nar.xz | head -n1) +nar=$(ls $cacheDir/nar/*.nar.xz | head -n1) mv $nar $nar.good mkdir -p $TEST_ROOT/empty nix-store --dump $TEST_ROOT/empty | xz > $nar @@ -117,7 +117,7 @@ badKey="$(cat $TEST_ROOT/pk2)" res=($(nix-store --generate-binary-cache-key foo.nixos.org-1 $TEST_ROOT/sk3 $TEST_ROOT/pk3)) otherKey="$(cat $TEST_ROOT/pk3)" -nix-push --dest $cacheDir --key-file $TEST_ROOT/sk1 $outPath +nix copy --recursive --to file://$cacheDir?secret-key=$TEST_ROOT/sk1 $outPath # Downloading should fail if we don't provide a key. diff --git a/tests/common.sh.in b/tests/common.sh.in index 097d94bb1eea..316d5f6896bb 100644 --- a/tests/common.sh.in +++ b/tests/common.sh.in @@ -12,7 +12,6 @@ fi export NIX_LOCALSTATE_DIR=$TEST_ROOT/var export NIX_LOG_DIR=$TEST_ROOT/var/log/nix export NIX_STATE_DIR=$TEST_ROOT/var/nix -export NIX_DB_DIR=$TEST_ROOT/db export NIX_CONF_DIR=$TEST_ROOT/etc export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests export _NIX_TEST_SHARED=$TEST_ROOT/shared @@ -51,12 +50,10 @@ clearStore() { chmod -R +w "$NIX_STORE_DIR" rm -rf "$NIX_STORE_DIR" mkdir "$NIX_STORE_DIR" - rm -rf "$NIX_DB_DIR" - mkdir "$NIX_DB_DIR" + rm -rf "$NIX_STATE_DIR" + mkdir "$NIX_STATE_DIR" nix-store --init clearProfiles - rm -f "$NIX_STATE_DIR"/gcroots/auto/* - rm -f "$NIX_STATE_DIR"/gcroots/ref } clearCache() { diff --git a/tests/config.nix b/tests/config.nix index 6244a15fa48a..76388fdd5b95 100644 --- a/tests/config.nix +++ b/tests/config.nix @@ -13,7 +13,7 @@ rec { derivation ({ inherit system; builder = shell; - args = ["-e" args.builder]; + args = ["-e" args.builder or (builtins.toFile "builder.sh" "eval \"$buildCommand\"")]; PATH = path; } // removeAttrs args ["builder" "meta"]) // { meta = args.meta or {}; }; diff --git a/tests/dump-db.sh b/tests/dump-db.sh index 57c8c401600d..d6eea42aa04e 100644 --- a/tests/dump-db.sh +++ b/tests/dump-db.sh @@ -8,8 +8,7 @@ deps="$(nix-store -qR $TEST_ROOT/result)" nix-store --dump-db > $TEST_ROOT/dump -rm -rf $NIX_DB_DIR -mkdir $NIX_DB_DIR +rm -rf $NIX_STATE_DIR/db nix-store --load-db < $TEST_ROOT/dump diff --git a/tests/init.sh b/tests/init.sh index 5be999e4b1be..4571b75b859e 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -1,7 +1,5 @@ source common.sh -echo "NIX_STORE_DIR=$NIX_STORE_DIR NIX_DB_DIR=$NIX_DB_DIR" - test -n "$TEST_ROOT" if test -d "$TEST_ROOT"; then chmod -R u+w "$TEST_ROOT" @@ -13,7 +11,6 @@ mkdir "$NIX_STORE_DIR" mkdir "$NIX_LOCALSTATE_DIR" mkdir -p "$NIX_LOG_DIR"/drvs mkdir "$NIX_STATE_DIR" -mkdir "$NIX_DB_DIR" mkdir "$NIX_CONF_DIR" cat > "$NIX_CONF_DIR"/nix.conf <<EOF @@ -28,6 +25,6 @@ EOF nix-store --init # Did anything happen? -test -e "$NIX_DB_DIR"/db.sqlite +test -e "$NIX_STATE_DIR"/db/db.sqlite echo 'Hello World' > ./dummy diff --git a/tests/lang/eval-okay-partition.exp b/tests/lang/eval-okay-partition.exp new file mode 100644 index 000000000000..cd8b8b020c05 --- /dev/null +++ b/tests/lang/eval-okay-partition.exp @@ -0,0 +1 @@ +{ right = [ 0 2 4 6 8 10 100 102 104 106 108 110 ]; wrong = [ 1 3 5 7 9 101 103 105 107 109 ]; } diff --git a/tests/lang/eval-okay-partition.nix b/tests/lang/eval-okay-partition.nix new file mode 100644 index 000000000000..846d2ce49486 --- /dev/null +++ b/tests/lang/eval-okay-partition.nix @@ -0,0 +1,5 @@ +with import ./lib.nix; + +builtins.partition + (x: x / 2 * 2 == x) + (builtins.concatLists [ (range 0 10) (range 100 110) ]) diff --git a/tests/local.mk b/tests/local.mk index 3d25327bd590..2ca52144baee 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -3,14 +3,15 @@ check: nix_tests = \ init.sh hash.sh lang.sh add.sh simple.sh dependencies.sh \ - build-hook.sh nix-push.sh gc.sh gc-concurrent.sh \ + build-hook.sh gc.sh gc-concurrent.sh \ referrers.sh user-envs.sh logging.sh nix-build.sh misc.sh fixed.sh \ gc-runtime.sh check-refs.sh filter-source.sh \ remote-store.sh export.sh export-graph.sh \ timeout.sh secure-drv-outputs.sh nix-channel.sh \ multiple-outputs.sh import-derivation.sh fetchurl.sh optimise-store.sh \ binary-cache.sh nix-profile.sh repair.sh dump-db.sh case-hack.sh \ - check-reqs.sh pass-as-file.sh tarball.sh restricted.sh + check-reqs.sh pass-as-file.sh tarball.sh restricted.sh \ + placeholders.sh # parallel.sh install-tests += $(foreach x, $(nix_tests), tests/$(x)) diff --git a/tests/nix-channel.sh b/tests/nix-channel.sh index 2ec986dd415b..553ada51d9f7 100644 --- a/tests/nix-channel.sh +++ b/tests/nix-channel.sh @@ -15,7 +15,7 @@ nix-channel --remove xyzzy # Create a channel. rm -rf $TEST_ROOT/foo mkdir -p $TEST_ROOT/foo -nix-push --dest $TEST_ROOT/foo --manifest --bzip2 $(nix-store -r $(nix-instantiate dependencies.nix)) +nix copy --recursive --to file://$TEST_ROOT/foo?compression="bzip2" $(nix-store -r $(nix-instantiate dependencies.nix)) rm -rf $TEST_ROOT/nixexprs mkdir -p $TEST_ROOT/nixexprs cp config.nix dependencies.nix dependencies.builder*.sh $TEST_ROOT/nixexprs/ diff --git a/tests/nix-push.sh b/tests/nix-push.sh deleted file mode 100644 index 8ea59516c62c..000000000000 --- a/tests/nix-push.sh +++ /dev/null @@ -1,12 +0,0 @@ -source common.sh - -clearStore - -drvPath=$(nix-instantiate dependencies.nix) -outPath=$(nix-store -r $drvPath) - -echo "pushing $drvPath" - -mkdir -p $TEST_ROOT/cache - -nix-push --dest $TEST_ROOT/cache --manifest $drvPath --bzip2 diff --git a/tests/placeholders.sh b/tests/placeholders.sh new file mode 100644 index 000000000000..071cfe2dc893 --- /dev/null +++ b/tests/placeholders.sh @@ -0,0 +1,22 @@ +source common.sh + +clearStore + +nix-build --no-out-link -E ' + with import ./config.nix; + + mkDerivation { + name = "placeholders"; + outputs = [ "out" "bin" "dev" ]; + buildCommand = " + echo foo1 > $out + echo foo2 > $bin + echo foo3 > $dev + [[ $(cat ${placeholder "out"}) = foo1 ]] + [[ $(cat ${placeholder "bin"}) = foo2 ]] + [[ $(cat ${placeholder "dev"}) = foo3 ]] + "; + } +' + +echo XYZZY diff --git a/tests/referrers.sh b/tests/referrers.sh index 5c1ef20cfeb4..8ab8e5ddfe87 100644 --- a/tests/referrers.sh +++ b/tests/referrers.sh @@ -30,7 +30,7 @@ echo "collecting garbage..." ln -sfn $reference "$NIX_STATE_DIR"/gcroots/ref nix-store --gc -if [ -n "$(type -p sqlite3)" -a "$(sqlite3 $NIX_DB_DIR/db.sqlite 'select count(*) from Refs')" -ne 0 ]; then +if [ -n "$(type -p sqlite3)" -a "$(sqlite3 $NIX_STATE_DIR/db/db.sqlite 'select count(*) from Refs')" -ne 0 ]; then echo "referrers not cleaned up" exit 1 fi diff --git a/tests/remote-store.sh b/tests/remote-store.sh index b3908717a40e..f2f2806d022d 100644 --- a/tests/remote-store.sh +++ b/tests/remote-store.sh @@ -4,7 +4,7 @@ clearStore startDaemon -$SHELL ./user-envs.sh +storeCleared=1 $SHELL ./user-envs.sh nix-store --dump-db > $TEST_ROOT/d1 NIX_REMOTE= nix-store --dump-db > $TEST_ROOT/d2 diff --git a/tests/repair.sh b/tests/repair.sh index 92f2f8fe60a5..782838704da7 100644 --- a/tests/repair.sh +++ b/tests/repair.sh @@ -46,7 +46,7 @@ fi # --verify can fix it. clearCache -nix-push --dest $cacheDir $path +nix copy --recursive --to file://$cacheDir $path chmod u+w $path2 rm -rf $path2 diff --git a/tests/user-envs.sh b/tests/user-envs.sh index 526c1267cefe..c4192fdc59b2 100644 --- a/tests/user-envs.sh +++ b/tests/user-envs.sh @@ -1,6 +1,9 @@ source common.sh -clearStore +if [ -z "$storeCleared" ]; then + clearStore +fi + clearProfiles # Query installed: should be empty. |