redo-apenwarr: fix tests in sandboxed darwin

From https://github.com/apenwarr/redo/blob/7f00abc36be15f398fa3ecf9f4e5283509c34a00/t/105-sympath/all.do#L16-L17 -
redo's testsuite uses /etc/passwd as a sample absolute-path dependency that won't change. Under darwin, this gets caught by sandboxing:

> do      t/105-sympath/all
> do        ../../../../../../private/etc/passwd
> do: ../../../../../../private/etc/passwd: no .do file (/nix/var/nix/builds/nix-15278-2435295101/source)

Fix tests by replacing /etc/passwd with another arbitrarily-chosen absolute path which we know we can read
This commit is contained in:
Jonathan del Strother
2026-06-07 12:37:33 +01:00
parent cde18dc534
commit 5a938581cb
@@ -48,6 +48,11 @@ stdenv.mkDerivation (finalAttrs: {
# See https://github.com/apenwarr/redo/pull/47
substituteInPlace minimal/do \
--replace-fail 'cd "$dodir"' 'cd "''${dodir:-.}"'
# the tests refer to /etc/passwd (as an arbitrarily-chosen absolute-path file that won't change),
# but that fails under sandboxing. Replace it with another arbrarily-chosen file that won't change:
substituteInPlace t/105-sympath/all.do \
--replace-fail "/etc/passwd" "${coreutils}/bin/pwd"
'';
inherit doCheck;