1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-18 15:01:08 +01:00

test: add shebangs to shell.nix test scripts

Fix intermittent SIGSEGV (exit code 139) on macOS when running
  nix-shell and shebang tests inside the nix sandbox.

  The foo, bar, and ruby test scripts were created without shebangs,
  which causes intermittent crashes when executed via command
  substitution on macOS. Adding proper shebangs resolves the flakiness.

  Potentially closes: #13106
This commit is contained in:
Agustín Covarrubias 2025-12-12 17:48:18 -03:00
parent ccba158780
commit 7b3d7eb634
No known key found for this signature in database

View file

@ -106,14 +106,16 @@ let
foo = runCommand "foo" { } '' foo = runCommand "foo" { } ''
mkdir -p $out/bin mkdir -p $out/bin
echo 'echo ${fooContents}' > $out/bin/foo echo '#!${shell}' > $out/bin/foo
echo 'echo ${fooContents}' >> $out/bin/foo
chmod a+rx $out/bin/foo chmod a+rx $out/bin/foo
ln -s ${shell} $out/bin/bash ln -s ${shell} $out/bin/bash
''; '';
bar = runCommand "bar" { } '' bar = runCommand "bar" { } ''
mkdir -p $out/bin mkdir -p $out/bin
echo 'echo bar' > $out/bin/bar echo '#!${shell}' > $out/bin/bar
echo 'echo bar' >> $out/bin/bar
chmod a+rx $out/bin/bar chmod a+rx $out/bin/bar
''; '';
@ -126,7 +128,8 @@ let
# ruby "interpreter" that outputs "$@" # ruby "interpreter" that outputs "$@"
ruby = runCommand "ruby" { } '' ruby = runCommand "ruby" { } ''
mkdir -p $out/bin mkdir -p $out/bin
echo 'printf %s "$*"' > $out/bin/ruby echo '#!${shell}' > $out/bin/ruby
echo 'printf %s "$*"' >> $out/bin/ruby
chmod a+rx $out/bin/ruby chmod a+rx $out/bin/ruby
''; '';