aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/flakes
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-03-07 14:33:43 +0100
committereldritch horrors <pennae@lix.systems>2024-03-07 14:50:43 +0100
commit232f4feacebb5c9ea7072238ae3e565c2c292b70 (patch)
tree7e5856260181413f2a82030202a9ce74bfde6213 /tests/functional/flakes
parent852bc55c870e32f18ca64cb7dcbdf225b137ed3c (diff)
Merge pull request #9324 from 9999years/fix-8854-take-2
Don't attempt to `git add` ignored files (cherry picked from commit 359990dfdc713c80aabd7ea6f7e4528628fbe108) === also added a regression test that isn't upstream to be sure we're actually fixing the bug. Change-Id: I8267a3d0ece9909d8008b7435b90e7b3eee366f6
Diffstat (limited to 'tests/functional/flakes')
-rw-r--r--tests/functional/flakes/develop-r8854.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/functional/flakes/develop-r8854.sh b/tests/functional/flakes/develop-r8854.sh
new file mode 100644
index 000000000..efe129bf4
--- /dev/null
+++ b/tests/functional/flakes/develop-r8854.sh
@@ -0,0 +1,45 @@
+source ../common.sh
+
+# regression test for #8854 (nix develop fails when lockfile is ignored)
+
+clearStore
+rm -rf $TEST_HOME/.cache $TEST_HOME/.config $TEST_HOME/.local
+
+# Create flake under test.
+mkdir -p $TEST_HOME/t
+cp ../shell-hello.nix ../config.nix $TEST_HOME/t
+cat <<EOF >$TEST_HOME/t/flake.nix
+{
+ inputs.nixpkgs.url = "$TEST_HOME/nixpkgs";
+ outputs = {self, nixpkgs}: {
+ packages.$system.hello = (import ./config.nix).mkDerivation {
+ name = "hello";
+ outputs = [ "out" "dev" ];
+ meta.outputsToInstall = [ "out" ];
+ buildCommand = "";
+ };
+ };
+}
+EOF
+
+# Create fake nixpkgs flake.
+mkdir -p $TEST_HOME/nixpkgs
+cp ../config.nix ../shell.nix $TEST_HOME/nixpkgs
+cat <<EOF >$TEST_HOME/nixpkgs/flake.nix
+{
+ outputs = {self}: {
+ legacyPackages.$system.bashInteractive = (import ./shell.nix {}).bashInteractive;
+ };
+}
+EOF
+
+cd $TEST_HOME/t
+
+git init .
+echo flake.lock > .gitignore
+git add config.nix shell-hello.nix flake.nix .gitignore
+
+# flake.lock is ignored, but nix develop should still not fail
+nix develop .#hello <<<"true"
+
+clearStore