at 25.11-pre 1.1 kB view raw
1import ./make-test-python.nix ( 2 { lib, pkgs, ... }: 3 let 4 pythonShebang = pkgs.writeScript "python-shebang" '' 5 #!/usr/bin/python 6 print("OK") 7 ''; 8 9 bashShebang = pkgs.writeScript "bash-shebang" '' 10 #!/usr/bin/bash 11 echo "OK" 12 ''; 13 in 14 { 15 name = "envfs"; 16 nodes.machine.services.envfs.enable = true; 17 18 testScript = '' 19 start_all() 20 machine.wait_until_succeeds("mountpoint -q /usr/bin/") 21 machine.succeed( 22 "PATH=${pkgs.coreutils}/bin /usr/bin/cp --version", 23 # check fallback paths 24 "PATH= /usr/bin/sh --version", 25 "PATH= /usr/bin/env --version", 26 "PATH= test -e /usr/bin/sh", 27 "PATH= test -e /usr/bin/env", 28 # also picks up PATH that was set after execve 29 "! /usr/bin/hello", 30 "PATH=${pkgs.hello}/bin /usr/bin/hello", 31 ) 32 33 out = machine.succeed("PATH=${pkgs.python3}/bin ${pythonShebang}") 34 print(out) 35 assert out == "OK\n" 36 37 out = machine.succeed("PATH=${pkgs.bash}/bin ${bashShebang}") 38 print(out) 39 assert out == "OK\n" 40 ''; 41 } 42)