aboutsummaryrefslogtreecommitdiffstats
path: root/tests/fixtures.sh
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-12 02:33:43 +0000
committertv <tv@krebsco.de>2026-11-12 02:33:43 +0000
commit408fcc6584ca598533a0f8c9012d60450db148a8 (patch)
treec5681ad8830b8ee9939f2e6eb35bec210f7e8f59 /tests/fixtures.sh
parent55f41b5f04efee81b4ab48899214bc59448af325 (diff)
populate: place overrides on sources with generated flakes correctly
An override below an input drawn from a source that has a generated flake itself got placed on that generated flake, which has no such input, so Nix ignored it with a warning. Generated flakes have their source as input of the same name, so the override goes below that. An edge case overrides an input of a source with a generated flake.
Diffstat (limited to 'tests/fixtures.sh')
-rwxr-xr-xtests/fixtures.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/fixtures.sh b/tests/fixtures.sh
index 9813c8f..8222b13 100755
--- a/tests/fixtures.sh
+++ b/tests/fixtures.sh
@@ -216,6 +216,23 @@ cat > /fixtures/rel/flake.nix <<'NIX'
NIX
(cd /fixtures/rel && nix flake lock && git init -q && commit rel)
+# two, c1, c2: a flake with two inputs, and two flakes to draw them from.
+mkdir /fixtures/two /fixtures/c1 /fixtures/c2
+cat > /fixtures/two/flake.nix <<NIX
+{
+ inputs.p.url = "$url/inner.tar.gz";
+ inputs.q.url = "$url/inner.tar.gz";
+ outputs = { p, q, ... }: { greeting = "two:\${p.who}+\${q.who}"; };
+}
+NIX
+(cd /fixtures/two && nix flake lock)
+cat > /fixtures/c1/flake.nix <<'NIX'
+{ outputs = _: { who = "c1"; }; }
+NIX
+cat > /fixtures/c2/flake.nix <<'NIX'
+{ outputs = _: { who = "c2"; }; }
+NIX
+
# noflake: a directory without flake.nix.
mkdir /fixtures/noflake
echo noflake > /fixtures/noflake/README