nix/tests/functional
Valentin Gagarin 33ca905cdb tests: simplify initialisation and wiring
pararameterisation is not actually needed the way things are currently
set up, and it confused me when trying to understand what the code does.

all but one test sources vars-and-functions.sh, which nominally only
defines variables, but in practice is always coupled with the actual
initialisation. while the cleaner way of making this more legible would
be to source variables and initialisation separately, this would produce
a huge diff.

the change requires a few small fixes to keep the tests working:

- only create test home directory during initialisation

  that vars-and-functions.sh wrote to the file system seems not write

- fix creation of the test directory

  due to statefulness, the test home directory was implicitly creating
  the test root, too. decoupling that made it apparent that this was
  probably not intentional, and certainly confusing.

- only source vars-and-functions.sh if init.sh is not needed

  there is one test case that only needs a helper function but no
  initialisation side effects

- remove some unnecessary cleanups and split parts of re-used test code

  there were confusing bits in how initialisation code was repurposed,
  which break if trying to refactor the outer layers naively...
2024-05-13 15:19:49 +02:00
..
ca Fix building CA derivations with and eval store 2023-12-11 12:17:36 -05:00
common tests: simplify initialisation and wiring 2024-05-13 15:19:49 +02:00
config Add functional tests for include directive in nix config file 2024-04-02 18:10:36 -07:00
dyn-drv Print value on type error 2024-01-22 08:56:02 -08:00
flakes Update tests/functional/flakes/flakes.sh 2024-04-30 18:10:16 +02:00
git-hashing Fix git-hashing/simple.sh 2024-03-23 22:08:52 -04:00
lang Merge pull request #10305 from hercules-ci/addErrorContext-is-great 2024-03-29 09:10:09 +01:00
local-overlay-store tests: simplify initialisation and wiring 2024-05-13 15:19:49 +02:00
nested-sandboxing Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
plugins Allow for ergnomically putting Unix-only files in subdirs by creating INLCUDE_$(pkg) vars 2024-03-27 12:01:59 -04:00
test-libstoreconsumer Allow for ergnomically putting Unix-only files in subdirs by creating INLCUDE_$(pkg) vars 2024-03-27 12:01:59 -04:00
add.sh nix hash path, and preperatory refactors 2024-02-21 12:11:25 -05:00
bash-profile.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
big-derivation-attr.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
binary-cache-build-remote.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
binary-cache.sh path-info: print correct path when using nix path-info --store file://... --all --json 2024-04-05 21:29:55 +02:00
brotli.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-delete.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-dry.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-hook-ca-fixed.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-hook-ca-floating.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-hook.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-content-addressed-fixed.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-content-addressed-floating.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-input-addressed.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-trustless-after.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-trustless-should-fail-0.sh tests: avoid a chroot store without sandbox support 2023-12-03 17:18:58 -08:00
build-remote-trustless-should-pass-0.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-trustless-should-pass-1.sh Arbitrarily bring back some nix-daemon calls 2024-01-13 11:27:04 -08:00
build-remote-trustless-should-pass-2.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-trustless-should-pass-3.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-trustless.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build-remote-with-mounted-ssh-ng.sh mounted-ssh-ng store: integration tests 2023-11-21 13:35:12 -05:00
build-remote.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
build.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
ca-shell.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
case-hack.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
case.nar Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
check-refs.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
check-refs.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
check-reqs.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
check-reqs.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
check.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
check.sh Add build-dir setting 2024-03-25 19:48:59 +01:00
chroot-store.sh Add regression test for #10331, #10267 2024-03-29 13:20:50 +01:00
common.sh tests: simplify initialisation and wiring 2024-05-13 15:19:49 +02:00
completions.sh fix: segfault in positional arg completion 2023-10-31 15:33:57 +01:00
compression-levels.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
compute-levels.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
config.nix.in Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
config.sh Support unit prefixes in configuration settings 2024-05-08 21:11:09 +02:00
db-migration.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
debugger.sh fix debugger crashing while printing envs 2024-02-04 17:12:04 +01:00
dependencies.builder0.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
dependencies.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
dependencies.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
derivation-json.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
dummy Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
dump-db.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
eval-store.sh Build IFD in the build store when using eval-store. 2023-12-23 21:33:56 -05:00
eval.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
eval.sh Add --arg-from-stdin to read an argument from stdin 2024-03-01 14:39:42 +01:00
experimental-features.sh Don't send settings that depend on disabled experimental features to the daemon 2024-02-20 15:28:42 +01:00
export-graph.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
export-graph.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
export.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
extra-sandbox-profile.nix libstore: check additionalSandboxProfile 2024-05-06 17:37:08 +02:00
extra-sandbox-profile.sh libstore: check additionalSandboxProfile 2024-05-06 17:37:08 +02:00
failing.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchClosure.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchGit.sh git fetcher: use resolveRef for getting revision of reference 2024-03-14 14:04:51 +01:00
fetchGitRefs.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchGitSubmodules.sh Fix fetchGit nested submodules 2024-04-22 16:41:40 +02:00
fetchGitVerification.sh Merge remote-tracking branch 'origin/master' into libgit2 2023-11-09 16:48:41 +01:00
fetchMercurial.sh Remove the "locked" flag from the fetcher cache 2024-04-15 13:03:27 +02:00
fetchPath.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchTree-file.sh PosixSourceAccessor: Support roots that are not directories 2024-02-20 12:51:15 +01:00
fetchurl.sh <nix/fetchurl.nix>: Restore support for "impure = true" 2024-02-13 14:14:20 +01:00
filter-source.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
filter-source.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fixed.builder1.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fixed.builder2.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fixed.nix Make outputHashAlgo accept "nar", stay in sync 2024-04-09 16:17:23 -04:00
fixed.sh Make outputHashAlgo accept "nar", stay in sync 2024-04-09 16:17:23 -04:00
fmt.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fmt.simple.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
function-trace.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-auto.sh Support unit prefixes in configuration settings 2024-05-08 21:11:09 +02:00
gc-concurrent2.builder.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-concurrent.builder.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-concurrent.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-concurrent.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-non-blocking.sh gc-non-blocking.sh: Add explanation 2024-01-12 12:38:55 +01:00
gc-runtime.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-runtime.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
hash-check.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
hash-convert.sh Split hash.sh test in two 2024-02-13 09:44:14 -05:00
hash-path.sh nix hash path, and preperatory refactors 2024-02-21 12:11:25 -05:00
help.sh less scary jq 2024-03-04 19:25:28 +01:00
hermetic.nix Activate hermetic.nix variation only for new layered store tests 2024-02-29 10:06:53 -05:00
ifd.nix remote-store test: Break out IFD expression into a separate file 2023-12-23 17:15:09 -05:00
import-derivation.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
import-derivation.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
impure-derivations.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
impure-derivations.sh <nix/fetchurl.nix>: Restore support for "impure = true" 2024-02-13 14:14:20 +01:00
impure-env.nix Allow CLI to pass environment variables to FOD builder (#8830) 2023-10-11 11:58:42 +00:00
impure-env.sh Revert "Revert "Merge pull request #9546 from NixOS/nixos-23.11"" 2024-02-29 14:52:31 -05:00
impure-eval.sh Functional Test for builtins.storeDir and builtins.currentSystem 2023-12-14 19:47:10 -05:00
install-darwin.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
lang-test-infra.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
lang.sh tests: simplify initialisation and wiring 2024-05-13 15:19:49 +02:00
legacy-ssh-store.sh Improve the config check output for stores that don't know about trust 2024-04-08 11:02:39 +02:00
linux-sandbox-cert-test.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
linux-sandbox.sh Test the inclusion of transitive symlinks in the sandbox 2024-04-12 16:10:22 +02:00
local.mk tests: simplify initialisation and wiring 2024-05-13 15:19:49 +02:00
logging.sh Fix logging.sh test on macOS 2023-12-18 14:04:25 -08:00
misc.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
multiple-outputs.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
multiple-outputs.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nar-access.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nar-access.sh Fix nar-access test on macOS 2023-11-03 11:03:58 +01:00
nested-sandboxing.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nix_path.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nix-build-examples.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nix-build.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nix-channel.sh Resolve symlinks in a few more places 2024-01-30 15:35:31 +01:00
nix-collect-garbage-d.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nix-copy-ssh-common.sh Test nix copy --substitute-on-destination 2023-12-13 15:22:19 -05:00
nix-copy-ssh-ng.sh Test nix copy --substitute-on-destination 2023-12-13 15:22:19 -05:00
nix-copy-ssh.sh Test nix copy --substitute-on-destination 2023-12-13 15:22:19 -05:00
nix-daemon-untrusting.sh Arbitrarily bring back some nix-daemon calls 2024-01-13 11:27:04 -08:00
nix-profile.sh Merge pull request #10166 from bobvanderlinden/profile-regex-all 2024-03-08 15:59:24 +01:00
nix-shell.sh print-dev-env: Avoid using unbound shellHook variable 2024-02-04 13:57:13 +08:00
optimise-store.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
output-normalization.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
parallel.builder.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
parallel.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
parallel.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
pass-as-file.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
path-from-hash-part.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
path-info.sh Make nix path-info --json return an object not array 2023-11-06 11:06:31 -05:00
path.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
placeholders.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
plugins.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
post-hook.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
pure-eval.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
pure-eval.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
push-to-store-old.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
push-to-store.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
read-only-store.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
readfile-context.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
readfile-context.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
recursive.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
recursive.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
referrers.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
remote-store.sh tests: simplify initialisation and wiring 2024-05-13 15:19:49 +02:00
repair.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
repl.sh flakes: test to ensure we get an error if --file isn't used 2024-03-22 21:58:39 -04:00
restricted.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
restricted.sh Use expectStderr 2023-12-06 14:05:32 +01:00
search.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
search.sh nix search: Disallow empty regex 2023-12-21 22:13:43 +01:00
secure-drv-outputs.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
secure-drv-outputs.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
selfref-gc.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
shell-hello.nix nix shell: Test that store paths cannot link outside of the store 2024-04-11 11:06:35 +02:00
shell.nix Do not rely on $stdenv/setup to set output variables 2024-04-10 19:50:19 +03:00
shell.sh nix shell: Test that store paths cannot link outside of the store 2024-04-11 11:06:35 +02:00
shell.shebang.nix tests: test nix-shell shebang quoting 2023-10-23 17:32:50 +02:00
shell.shebang.rb Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
shell.shebang.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
signing.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
simple-failing.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
simple.builder.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
simple.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
simple.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
ssh-relay.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
store-info.sh Use nix daemon in the test suite 2023-12-18 11:29:55 -08:00
structured-attrs-shell.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
structured-attrs.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
structured-attrs.sh Do not rely on $stdenv/setup to set output variables 2024-04-10 19:50:19 +03:00
substitute-with-invalid-ca.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
suggestions.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
supplementary-groups.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
symlink-derivation.nix Fix the access of symlinks to host files in the sandbox 2024-04-12 15:57:53 +02:00
tarball.sh Remove bad.tar.xz check, since libarchive doesn't care 2024-02-20 12:51:15 +01:00
test-infra.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
test-libstoreconsumer.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
timeout.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
timeout.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
toString-path.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
undefined-variable.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
user-envs-migration.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
user-envs-test-case.sh tests: simplify initialisation and wiring 2024-05-13 15:19:49 +02:00
user-envs.builder.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
user-envs.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
user-envs.sh tests: simplify initialisation and wiring 2024-05-13 15:19:49 +02:00
why-depends.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
zstd.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00