1import ./make-test-python.nix (
2 { pkgs, ... }:
3 {
4 name = "environment";
5 meta = with pkgs.lib.maintainers; {
6 maintainers = [ nequissimus ];
7 };
8
9 nodes.machine =
10 { pkgs, lib, ... }:
11 lib.mkMerge [
12 {
13 boot.kernelPackages = pkgs.linuxPackages;
14 environment.etc.plainFile.text = ''
15 Hello World
16 '';
17 environment.etc."folder/with/file".text = ''
18 Foo Bar!
19 '';
20
21 environment.sessionVariables = {
22 TERMINFO_DIRS = "/run/current-system/sw/share/terminfo";
23 NIXCON = "awesome";
24 SHOULD_NOT_BE_SET = "oops";
25 };
26 }
27 {
28 environment.sessionVariables = {
29 SHOULD_NOT_BE_SET = lib.mkForce null;
30 };
31 }
32 ];
33
34 testScript = ''
35 machine.succeed('[ -L "/etc/plainFile" ]')
36 assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
37 machine.succeed('[ -d "/etc/folder" ]')
38 machine.succeed('[ -d "/etc/folder/with" ]')
39 machine.succeed('[ -L "/etc/folder/with/file" ]')
40 assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
41
42 assert "/run/current-system/sw/share/terminfo" in machine.succeed(
43 "echo ''${TERMINFO_DIRS}"
44 )
45 assert "awesome" in machine.succeed("echo ''${NIXCON}")
46 machine.fail("printenv SHOULD_NOT_BE_SET")
47 '';
48 }
49)