1import ./make-test-python.nix ({ lib, ... }: {
2 name = "user-home-mode";
3 meta = with lib.maintainers; { maintainers = [ fbeffa ]; };
4
5 nodes.machine = {
6 users.users.alice = {
7 initialPassword = "pass1";
8 isNormalUser = true;
9 };
10 users.users.bob = {
11 initialPassword = "pass2";
12 isNormalUser = true;
13 homeMode = "750";
14 };
15 };
16
17 testScript = ''
18 machine.wait_for_unit("multi-user.target")
19 machine.wait_for_unit("getty@tty1.service")
20 machine.wait_until_tty_matches("1", "login: ")
21 machine.send_chars("alice\n")
22 machine.wait_until_tty_matches("1", "Password: ")
23 machine.send_chars("pass1\n")
24 machine.succeed('[ "$(stat -c %a /home/alice)" == "700" ]')
25 machine.succeed('[ "$(stat -c %a /home/bob)" == "750" ]')
26 '';
27})