From 3780435a0e3166ff898b33b8eb9a057ffa16ce67 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 7 Feb 2018 14:57:44 -0600 Subject: [PATCH] tests: Add (failing) tests for reported --dry-run issues. --- tests/build-dry.sh | 49 ++++++++++++++++++++++++++++++++++++++++++++++ tests/local.mk | 1 + 2 files changed, 50 insertions(+) create mode 100644 tests/build-dry.sh diff --git a/tests/build-dry.sh b/tests/build-dry.sh new file mode 100644 index 000000000..9a2a70d5f --- /dev/null +++ b/tests/build-dry.sh @@ -0,0 +1,49 @@ +source common.sh + +################################################### +# Check that --dry-run isn't confused with read-only mode +# https://github.com/NixOS/nix/issues/1795 + +clearStore +clearCache + +# Ensure this builds successfully first +nix build -f dependencies.nix + +clearStore +clearCache + +# Try --dry-run using old command first +nix-build dependencies.nix --dry-run 2>&1 | grep "will be built" +# Now new command: +nix build -f dependencies.nix --dry-run 2>&1 | grep "will be built" + +clearStore +clearCache + +# Try --dry-run using new command first +nix build -f dependencies.nix --dry-run 2>&1 | grep "will be built" +# Now old command: +nix-build dependencies.nix --dry-run 2>&1 | grep "will be built" + + +################################################### +# Check --dry-run doesn't create links with --dry-run +# https://github.com/NixOS/nix/issues/1849 +clearStore +clearCache + +RESULT=$TEST_ROOT/result-link +rm -f $RESULT + +nix-build dependencies.nix -o $RESULT --dry-run + +[[ ! -h $RESULT ]] || fail "nix-build --dry-run created output link" + +nix build -f dependencies.nix -o $RESULT --dry-run + +[[ ! -h $RESULT ]] || fail "nix build --dry-run created output link" + +nix build -f dependencies.nix -o $RESULT + +[[ -h $RESULT ]] diff --git a/tests/local.mk b/tests/local.mk index e90b9f7da..0035dca2d 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -13,6 +13,7 @@ nix_tests = \ check-reqs.sh pass-as-file.sh tarball.sh restricted.sh \ placeholders.sh nix-shell.sh \ linux-sandbox.sh \ + build-dry.sh \ build-remote.sh \ nar-access.sh \ structured-attrs.sh \