lix/tests/functional/flakes
Maximilian Bosch 040e783232 flake: don't refetch unmodified inputs by recursive follows
Closes #460

I managed to trigger the issue by having the following inputs (shortened):

    authentik-nix.url = "github:nix-community/authentik-nix";
    authentik-nix.inputs.poetry2nix.inputs.nixpkgs.follows = "nixpkgs";

When evaluating this using

    nix-eval-jobs --flake .#hydraJobs

I got the following error:

    error: cannot update unlocked flake input 'authentik-nix/poetry2nix' in pure mode

The issue we have here is that `authentik-nix/poetry2nix` was written
into the `overrideMap` which caused Nix to assume it's a new input and
tried to refetch it (#460) or errored out in pure mode
(nix-eval-jobs / Hydra).

The testcase unfortunately only involves checking for the output log
and makes sure that something *is* logged on the first fetch so that
the test doesn't rot when the logging changes since I didn't
manage to trigger the error above with the reproducer from #460. In
fact, I only managed to trigger the `cannot update unlocked flake input`
error in this context with `nix-eval-jobs`.

Change-Id: Ifd00091eec9a0067ed4bb3e5765a15d027328807
2024-08-19 19:57:12 +00:00
..
flake-metadata nix flake metadata: print modified dates for input flakes 2024-08-04 20:41:19 -07:00
absolute-paths.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
build-paths.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
bundle.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
check.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
circular.sh treewide: Stop using URL literals 2024-08-17 15:48:10 +00:00
common.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
config.sh libexpr/flake: allow automatic rejection of configuration options from flakes 2024-06-30 19:28:14 +02:00
develop-r8854.sh Merge pull request #9324 from 9999years/fix-8854-take-2 2024-03-07 14:50:43 +01:00
develop.sh Merge pull request #8043 from bobvanderlinden/pr-shell-env 2024-03-04 07:59:32 +01:00
flake-in-submodule.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
flake-metadata.sh nix flake metadata: print modified dates for input flakes 2024-08-04 20:41:19 -07:00
flake-registry.sh tests/flake-registry: Fix occasional deadlocks 2024-06-12 15:34:23 -07:00
flakes.sh treewide: Stop using URL literals 2024-08-17 15:48:10 +00:00
follow-paths.sh flake: don't refetch unmodified inputs by recursive follows 2024-08-19 19:57:12 +00:00
init.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
inputs.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
mercurial.sh tests: actually run mercurial tests 2024-05-04 16:48:07 +02:00
run.sh Add pre-commit checks 2024-03-29 22:57:40 -07:00
search-root.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
show.sh nix: remove explosions if you have a window size less than four 2024-08-10 16:11:58 -07:00
subdir-flake.sh Reapply "libfetchers: make attribute / URL query handling consistent" 2024-08-01 15:41:30 -07:00
unlocked-override.sh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00