aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/flakes.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/flakes.sh b/tests/flakes.sh
index 26ffd6a9f..7b827a418 100644
--- a/tests/flakes.sh
+++ b/tests/flakes.sh
@@ -59,6 +59,25 @@ EOF
git -C $flake2 add flake.nix
git -C $flake2 commit -m 'Initial'
+cat > $flake3/flake.nix <<EOF
+{
+ name = "flake3";
+
+ epoch = 2019;
+
+ requires = [ "flake2" ];
+
+ description = "Fnord";
+
+ provides = deps: rec {
+ packages.xyzzy = deps.flake2.provides.packages.bar;
+ };
+}
+EOF
+
+git -C $flake3 add flake.nix
+git -C $flake3 commit -m 'Initial'
+
cat > $registry <<EOF
{
"flakes": {
@@ -110,8 +129,15 @@ nix build -o $TEST_ROOT/result --flake-registry $registry $flake2:bar
[[ -e $flake2/flake.lock ]]
git -C $flake2 commit flake.lock -m 'Add flake.lock'
+# Rerunning the build should not change the lockfile.
+nix build -o $TEST_ROOT/result --flake-registry $registry $flake2:bar
+[[ -z $(git -C $flake2 diff) ]]
+
# Now we should be able to build the flake in pure mode.
nix build -o $TEST_ROOT/result --flake-registry $registry flake2:bar
# Or without a registry.
nix build -o $TEST_ROOT/result file://$flake2:bar
+
+# Test whether indirect dependencies work.
+nix build -o $TEST_ROOT/result --flake-registry $registry $flake3:xyzzy