notes: 2.3.0 -> 2.3.1 (#352950)
[NixPkgs.git] / nixos / tests / envfs.nix
blob3f9cd1edb595afbc75f36bdaf9664ec886edb755
1 import ./make-test-python.nix ({ lib, pkgs, ... }:
2 let
3   pythonShebang = pkgs.writeScript "python-shebang" ''
4     #!/usr/bin/python
5     print("OK")
6   '';
8   bashShebang = pkgs.writeScript "bash-shebang" ''
9     #!/usr/bin/bash
10     echo "OK"
11   '';
14   name = "envfs";
15   nodes.machine.services.envfs.enable = true;
17   testScript = ''
18     start_all()
19     machine.wait_until_succeeds("mountpoint -q /usr/bin/")
20     machine.succeed(
21         "PATH=${pkgs.coreutils}/bin /usr/bin/cp --version",
22         # check fallback paths
23         "PATH= /usr/bin/sh --version",
24         "PATH= /usr/bin/env --version",
25         "PATH= test -e /usr/bin/sh",
26         "PATH= test -e /usr/bin/env",
27         # no stat
28         "! test -e /usr/bin/cp",
29         # also picks up PATH that was set after execve
30         "! /usr/bin/hello",
31         "PATH=${pkgs.hello}/bin /usr/bin/hello",
32     )
34     out = machine.succeed("PATH=${pkgs.python3}/bin ${pythonShebang}")
35     print(out)
36     assert out == "OK\n"
38     out = machine.succeed("PATH=${pkgs.bash}/bin ${bashShebang}")
39     print(out)
40     assert out == "OK\n"
41   '';