diff options
author | Daniel Thwaites <danthwaites30@btinternet.com> | 2022-01-12 19:43:52 +0000 |
---|---|---|
committer | Daniel Thwaites <danthwaites30@btinternet.com> | 2022-01-13 07:56:52 +0000 |
commit | 7dc24c092332a6313309926028656915d676e10e (patch) | |
tree | 66502e94490f2f1bdf587ad553adef6d3ecaf270 | |
parent | 123844971c40d64580af87a2688494ffa511e7e6 (diff) |
nixos/starship: use expect for testing
Accidentally reverted this while fixing merge conflicts on #149423.
-rw-r--r-- | nixos/tests/starship.nix | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/nixos/tests/starship.nix b/nixos/tests/starship.nix index f21da1e6e255c..33e9a72f70000 100644 --- a/nixos/tests/starship.nix +++ b/nixos/tests/starship.nix @@ -13,19 +13,30 @@ import ./make-test-python.nix ({ pkgs, ... }: { }; }; - services.getty.autologinUser = "root"; + environment.systemPackages = map + (shell: pkgs.writeScriptBin "expect-${shell}" '' + #!${pkgs.expect}/bin/expect -f + + spawn env TERM=xterm ${shell} -i + + expect "<starship>" { + send "exit\n" + } timeout { + send_user "\n${shell} failed to display Starship\n" + exit 1 + } + + expect eof + '') + [ "bash" "fish" "zsh" ]; }; testScript = '' start_all() machine.wait_for_unit("default.target") - for shell in ["bash", "fish", "zsh"]: - machine.send_chars(f"script -c {shell} /tmp/{shell}.txt\n") - machine.wait_until_tty_matches(1, f"Script started.*{shell}.txt") - machine.send_chars("exit\n") - machine.wait_until_tty_matches(1, "Script done") - machine.sleep(1) - machine.succeed(f"grep -q '<starship>' /tmp/{shell}.txt") + machine.succeed("expect-bash") + machine.succeed("expect-fish") + machine.succeed("expect-zsh") ''; }) |