From c98d54a3e9ffd3b159cdeeb28d7bc87305fbd472 Mon Sep 17 00:00:00 2001 From: Christian Kampka <christian@kampka.net> Date: Fri, 13 Dec 2019 21:47:15 +0100 Subject: [PATCH] zsh-history: Add tests --- nixos/tests/all-tests.nix | 1 + nixos/tests/zsh-history.nix | 35 +++++++++++++++++++++++++ pkgs/shells/zsh/zsh-history/default.nix | 6 ++++- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/zsh-history.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 39ee3206d806..5407a071cadd 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -294,5 +294,6 @@ in xss-lock = handleTest ./xss-lock.nix {}; yabar = handleTest ./yabar.nix {}; yggdrasil = handleTest ./yggdrasil.nix {}; + zsh-history = handleTest ./zsh-history.nix {}; zookeeper = handleTest ./zookeeper.nix {}; } diff --git a/nixos/tests/zsh-history.nix b/nixos/tests/zsh-history.nix new file mode 100644 index 000000000000..4380ec9adfd2 --- /dev/null +++ b/nixos/tests/zsh-history.nix @@ -0,0 +1,35 @@ +import ./make-test-python.nix ({ pkgs, ...} : { + name = "zsh-history"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ kampka ]; + }; + + nodes.default = { ... }: { + programs = { + zsh.enable = true; + }; + environment.systemPackages = [ pkgs.zsh-history ]; + programs.zsh.interactiveShellInit = '' + source ${pkgs.zsh-history.out}/share/zsh/init.zsh + ''; + users.users.root.shell = "${pkgs.zsh}/bin/zsh"; + }; + + testScript = '' + start_all() + default.wait_for_unit("multi-user.target") + default.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + + # Login + default.wait_until_tty_matches(1, "login: ") + default.send_chars("root\n") + default.wait_until_tty_matches(1, "root@default>") + + # Generate some history + default.send_chars("echo foobar\n") + default.wait_until_tty_matches(1, "foobar") + + # Ensure that command was recorded in history + default.succeed("/run/current-system/sw/bin/history list | grep -q foobar") + ''; +}) diff --git a/pkgs/shells/zsh/zsh-history/default.nix b/pkgs/shells/zsh/zsh-history/default.nix index 98e97d78465a..ece3c87cb664 100644 --- a/pkgs/shells/zsh/zsh-history/default.nix +++ b/pkgs/shells/zsh/zsh-history/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles }: +{ lib, fetchFromGitHub, buildGoModule, installShellFiles, nixosTests }: buildGoModule rec { pname = "zsh-history"; @@ -29,4 +29,8 @@ buildGoModule rec { platforms = platforms.unix; maintainers = with maintainers; [ kampka ]; }; + + passthru.tests = { + zsh-history-shell-integration = nixosTests.zsh-history; + }; }