Merge branch 'fix/dry-run-partially' of https://github.com/dtzWill/nix

This commit is contained in:
Eelco Dolstra 2018-02-22 12:18:20 +01:00
commit de4c03d201
No known key found for this signature in database
GPG Key ID: 8170B4726D7198DE
3 changed files with 55 additions and 0 deletions

View File

@ -52,6 +52,8 @@ struct CmdBuild : MixDryRun, InstallablesCommand
{
auto buildables = build(store, dryRun ? DryRun : Build, installables);
if (dryRun) return;
for (size_t i = 0; i < buildables.size(); ++i) {
auto & b(buildables[i]);

52
tests/build-dry.sh Normal file
View File

@ -0,0 +1,52 @@
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"
# TODO: XXX: FIXME: #1793
# Disable this part of the test until the problem is resolved:
if [ -n "$ISSUE_1795_IS_FIXED" ]; then
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"
fi
###################################################
# 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 ]]

View File

@ -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 \