1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2024-09-19 23:03:53 -04:00
nix/tests/functional
Théophane Hufschmitt 930bb21893 Run the builds in a daemon-controled directory
Instead of running the builds under
`$TMPDIR/{unique-build-directory-owned-by-the-build-user}`, run them
under `$TMPDIR/{unique-build-directory-owned-by-the-daemon}/{subdir-owned-by-the-build-user}`
where the build directory is only readable and traversable by the daemon user.

This achieves two things:

1. It prevents builders from making their build directory world-readable
   (or even writeable), which would allow the outside world to interact
   with them.
2. It prevents external processes running as the build user (either
   because that somehow leaked, maybe as a consequence of 1., or because
   `build-users` isn't in use) from gaining access to the build
   directory.

(cherry picked from commit 1d3696f0fb)
2024-06-21 17:07:41 +02:00
..
ca Fix building CA derivations with and eval store 2023-12-11 12:17:36 -05:00
common Shellcheck some test scripts 2024-05-28 12:32:22 -04: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 Fix shellcheck issue 2024-06-03 09:36:48 -04:00
git-hashing Fix git-hashing/simple.sh 2024-03-23 22:08:52 -04:00
lang Require drvPath attribute to end with .drv 2024-05-22 12:50:24 -04: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 housekeeping: shellcheck test/functional/add.sh 2024-06-02 13:41:51 -07:00
bash-profile.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
binary-cache.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
brotli.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-delete.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-dry.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote-content-addressed-floating.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote-input-addressed.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote-trustless-after.sh Shellcheck some test scripts 2024-05-28 12:32:22 -04:00
build-remote-trustless-should-fail-0.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote-trustless-should-pass-0.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote-trustless-should-pass-1.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote-trustless-should-pass-2.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote-trustless-should-pass-3.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote-trustless.sh Shellcheck some test scripts 2024-05-28 12:32:22 -04:00
build-remote-with-mounted-ssh-ng.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
build-remote.sh Shellcheck some test scripts 2024-05-28 12:32:22 -04:00
build.sh Fix empty outputsToInstall for InstallableAttrPath 2024-06-02 14:26:18 +03:00
ca-shell.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
case-hack.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
check-reqs.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
check-reqs.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
check.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
check.sh Run the builds in a daemon-controled directory 2024-06-21 17:07:41 +02:00
chroot-store.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
common.sh Shellcheck some test scripts 2024-05-28 12:32:22 -04:00
completions.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
compression-levels.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
compute-levels.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
config.nix.in Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
config.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
db-migration.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
debugger.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04: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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
derivation-json.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
dummy Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
dump-db.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
eval-store.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
eval.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
eval.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
experimental-features.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
export-graph.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
export-graph.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
export.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
extra-sandbox-profile.nix libstore: check additionalSandboxProfile 2024-05-06 17:37:08 +02:00
extra-sandbox-profile.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
failing.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchClosure.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fetchGit.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fetchGitRefs.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fetchGitSubmodules.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fetchGitVerification.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fetchMercurial.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fetchPath.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fetchTree-file.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fetchurl.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
filter-source.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
filter-source.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fmt.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
fmt.simple.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fod-failing.nix nix3-build: show all FOD errors with --keep-going 2024-05-17 18:48:52 +02:00
function-trace.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
gc-auto.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
gc-concurrent2.builder.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-non-blocking.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
gc-runtime.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-runtime.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
gc.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
hash-check.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
hash-convert.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
hash-path.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
help.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04: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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
impure-derivations.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
impure-derivations.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04: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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
impure-eval.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
install-darwin.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
lang-test-infra.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
lang.sh builtins.warn: Require string argument 2024-06-03 16:24:21 +02:00
legacy-ssh-store.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
linux-sandbox-cert-test.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
linux-sandbox.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
local.mk Merge pull request #10564 from edolstra/remove-forceErrors 2024-06-03 15:30:01 +02:00
logging.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
misc.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
multiple-outputs.nix Fix empty outputsToInstall for InstallableAttrPath 2024-06-02 14:26:18 +03:00
multiple-outputs.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nar-access.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nar-access.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nested-sandboxing.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nix-build-examples.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nix-build.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nix-channel.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nix-collect-garbage-d.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nix-copy-ssh.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nix-daemon-untrusting.sh Arbitrarily bring back some nix-daemon calls 2024-01-13 11:27:04 -08:00
nix-profile.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nix-shell.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
nix_path.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
optimise-store.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
output-normalization.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
path-from-hash-part.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
path-info.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
path.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
placeholders.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
plugins.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
post-hook.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
pure-eval.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
pure-eval.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
readfile-context.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
readfile-context.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
recursive.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
recursive.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
referrers.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
remote-store.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
repair.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
repl.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
restricted.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
restricted.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
search.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
search.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
secure-drv-outputs.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
secure-drv-outputs.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
selfref-gc.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 env shell: Move from nix shell, add shorthand alias 2024-05-30 19:41:58 +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 ValidPathInfo JSON format should use null not omit field 2024-06-03 08:21:22 -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 add regression test for nix edit 2024-05-31 12:58:47 +02:00
simple.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
ssh-relay.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
store-info.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04: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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
substitute-with-invalid-ca.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
suggestions.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
supplementary-groups.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
test-infra.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
test-libstoreconsumer.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
timeout.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
timeout.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
toString-path.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
undefined-variable.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
user-envs-migration.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -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 Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
why-depends.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00
zstd.sh Ensure all functional scripts are (a) executable (b) have shebang 2024-05-28 12:46:24 -04:00