summary refs log tree commit diff
path: root/nixos/tests/nano.nix
diff options
context:
space:
mode:
authorTim Steinbach <tim@nequissimus.com>2020-11-16 13:59:36 -0500
committerTim Steinbach <tim@nequissimus.com>2020-11-16 14:00:34 -0500
commit0338f728c01329427c407ccd0bf6e527eee2358c (patch)
tree3eef26cec0308fd09a1f929ba33e498aa53854a1 /nixos/tests/nano.nix
parent701df1a3dc5b2a60ab348a3c06600250d0382457 (diff)
downloadnixpkgs-0338f728c01329427c407ccd0bf6e527eee2358c.tar
nixpkgs-0338f728c01329427c407ccd0bf6e527eee2358c.tar.gz
nixpkgs-0338f728c01329427c407ccd0bf6e527eee2358c.tar.bz2
nixpkgs-0338f728c01329427c407ccd0bf6e527eee2358c.tar.lz
nixpkgs-0338f728c01329427c407ccd0bf6e527eee2358c.tar.xz
nixpkgs-0338f728c01329427c407ccd0bf6e527eee2358c.tar.zst
nixpkgs-0338f728c01329427c407ccd0bf6e527eee2358c.zip
nano: Add test
Diffstat (limited to 'nixos/tests/nano.nix')
-rw-r--r--nixos/tests/nano.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/nixos/tests/nano.nix b/nixos/tests/nano.nix
new file mode 100644
index 00000000000..9e0a9e147f2
--- /dev/null
+++ b/nixos/tests/nano.nix
@@ -0,0 +1,44 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "nano";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ nequissimus ];
+  };
+
+  machine = { lib, ... }: {
+    environment.systemPackages = [ pkgs.nano ];
+  };
+
+  testScript = { ... }: ''
+    start_all()
+
+    with subtest("Create user and log in"):
+        machine.wait_for_unit("multi-user.target")
+        machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
+        machine.succeed("useradd -m alice")
+        machine.succeed("(echo foobar; echo foobar) | passwd alice")
+        machine.wait_until_tty_matches(1, "login: ")
+        machine.send_chars("alice\n")
+        machine.wait_until_tty_matches(1, "login: alice")
+        machine.wait_until_succeeds("pgrep login")
+        machine.wait_until_tty_matches(1, "Password: ")
+        machine.send_chars("foobar\n")
+        machine.wait_until_succeeds("pgrep -u alice bash")
+        machine.screenshot("prompt")
+
+    with subtest("Use nano"):
+        machine.send_chars("nano /tmp/foo")
+        machine.send_key("ret")
+        machine.sleep(2)
+        machine.send_chars("42")
+        machine.sleep(1)
+        machine.send_key("ctrl-x")
+        machine.sleep(1)
+        machine.send_key("y")
+        machine.sleep(1)
+        machine.screenshot("nano")
+        machine.sleep(1)
+        machine.send_key("ret")
+        machine.wait_for_file("/tmp/foo")
+        assert "42" in machine.succeed("cat /tmp/foo")
+  '';
+})