lix/tests/functional
Rebecca Turner 0cee56db1a
Fix logging.sh test on macOS
On macOS in the `nix develop` shell, `make
tests/functional/logging.sh.test` errors:

    ++(logging.sh:18) mktemp
    +(logging.sh:18) builder=/var/folders/z5/fclwwdms3r1gq4k4p3pkvvc00000gn/T/tmp.StuabKUhMh
    +(logging.sh:19) echo -e '#!/bin/sh\nmkdir $out'
    +++(logging.sh:22) mktemp -d
    ++(logging.sh:22) nix-build -E 'with import ./config.nix; mkDerivation { name = "fnord"; builder = /var/folders/z5/fclwwdms3r1gq4k4p3pkvvc00000gn/T/tmp.StuabKUhMh; }' --out-link /var/folders/z5/fclwwdms3r1gq4k4p3pkvvc00000gn/T/tmp.oaKcy0NXqC/result
    error:
           … while calling the 'derivationStrict' builtin
             at <nix/derivation-internal.nix>:9:12:
                8|
                9|   strict = derivationStrict drvAttrs;
                 |            ^
               10|

           … while evaluating derivation 'fnord'
             whose name attribute is located at «string»:1:42

           … while evaluating attribute 'args' of derivation 'fnord'
             at /Users/wiggles/nix/tests/functional/config.nix:23:7:
               22|       builder = shell;
               23|       args = ["-e" args.builder or (builtins.toFile "builder-${args.name}.sh" ''
                 |       ^
               24|         if [ -e "$NIX_ATTRS_SH_FILE" ]; then source $NIX_ATTRS_SH_FILE; fi;

           error: path '/var' is a symlink
    +(logging.sh:22) outp=
    ++(logging.sh:22) onError
    ++(/Users/wiggles/nix/tests/functional/common/vars-and-functions.sh:237) set +x
    logging.sh: test failed at:
      main in logging.sh:22

This is because `mktemp` returns a path like
`/var/folders/z5/fclwwdms3r1gq4k4p3pkvvc00000gn/T/tmp.qDY24l6bIM`,
where `/var` is a symlink to `/private/var`.

Then, we attempt to use that path as a `builder`, which errors because
symlinks are impure or whatever.

Anyways, we can fix this by using `realpath "$(mktemp)"` instead of
`mktemp` directly.

NB: This error doesn't seem to happen when I run the tests through `nix
flake check`. I'm not sure if Nix does something to `TMP` in that case.
2023-12-18 14:04:25 -08:00
..
ca Fix building CA derivations with and eval store 2023-12-11 12:17:36 -05:00
common Refactor bash test build system a bit 2023-11-10 11:02:37 -05:00
config Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
dyn-drv Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
flakes Add test cases for flake urls with fragments 2023-12-11 16:05:34 +01:00
lang Remove some blank lines from stack traces 2023-12-15 23:57:26 -08:00
nested-sandboxing Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
plugins Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
test-libstoreconsumer Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
add.sh Add a new nix store add command 2023-11-15 19:21:17 +01:00
bad.tar.xz Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
common.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Rename nix show-config to nix config show 2023-11-28 14:28:19 +01:00
db-migration.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -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 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 Fix building CA derivations with and eval store 2023-12-11 12:17:36 -05:00
eval.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
eval.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
experimental-features.sh Rename nix show-config to nix config show 2023-11-28 14:28:19 +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
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 Fetch specific Git revisions 2023-11-20 17:25:40 +01:00
fetchGitRefs.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchGitSubmodules.sh Git fetcher: Improve submodule handling 2023-10-31 14:52:21 +01:00
fetchGitVerification.sh Merge remote-tracking branch 'origin/master' into libgit2 2023-11-09 16:48:41 +01:00
fetchMercurial.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchPath.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchTree-file.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fetchurl.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
fixed.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -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 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-concurrent2.builder.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
gc-non-blocking.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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.sh hash.sh: Make failure tests more tolerant of additional output 2023-12-06 23:43:42 +01:00
hermetic.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Put functional tests in tests/functional 2023-10-06 09:05:56 -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 Allow CLI to pass environment variables to FOD builder (#8830) 2023-10-11 11:58:42 +00:00
impure-eval.sh Functional Test for builtins.storeDir and builtins.currentSystem 2023-12-14 19:47:10 -05:00
init.sh config: add included files into parsedContents before applying 2023-10-25 11:39:18 +02: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 Fix boost::bad_format_string exception in builtins.addErrorContext (#9291) 2023-11-06 19:13:40 +00:00
legacy-ssh-store.sh updated store ping to store info in files 2023-10-18 00:14:11 +05:30
linux-sandbox-cert-test.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
linux-sandbox.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
local-store.sh updated store ping to store info in files 2023-10-18 00:14:11 +05:30
local.mk Functional Test for builtins.storeDir and builtins.currentSystem 2023-12-14 19:47:10 -05: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-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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nix-profile.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
nix-shell.sh tests: test nix-shell shebang quoting 2023-10-23 17:32:50 +02:00
nix_path.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 updated store ping to store info in files 2023-10-18 00:14:11 +05:30
repair.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
repl.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
shell.nix Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
shell.sh Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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 Store info command help updates 2023-10-17 09:39:59 +05:30
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 Put functional tests in tests/functional 2023-10-06 09:05:56 -04: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
tarball.sh fix: make sure tar reproducibility flags are set 2023-10-24 22:14:35 +02: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.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 nix-env --query: fix --json ignoring --drv-path 2023-11-09 22:31:32 +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