From 92139c204542aaa10b719eeeca9a7e200df901aa Mon Sep 17 00:00:00 2001 From: i-do-cpp <62053234+i-do-cpp@users.noreply.github.com> Date: Sun, 12 Sep 2021 08:06:34 +0200 Subject: [PATCH] installers/tools: add test for system.disableInstallerTools option This test ensures the installer tools are actually unavailable with the option set to true. --- nixos/tests/all-tests.nix | 1 + nixos/tests/disable-installer-tools.nix | 29 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 nixos/tests/disable-installer-tools.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index dab99dd8d043..606440479f78 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -98,6 +98,7 @@ in deluge = handleTest ./deluge.nix {}; dendrite = handleTest ./dendrite.nix {}; dhparams = handleTest ./dhparams.nix {}; + disable-installer-tools = handleTest ./disable-installer-tools.nix {}; discourse = handleTest ./discourse.nix {}; dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {}; dnscrypt-wrapper = handleTestOn ["x86_64-linux"] ./dnscrypt-wrapper {}; diff --git a/nixos/tests/disable-installer-tools.nix b/nixos/tests/disable-installer-tools.nix new file mode 100644 index 000000000000..23c15faa8d33 --- /dev/null +++ b/nixos/tests/disable-installer-tools.nix @@ -0,0 +1,29 @@ +import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: + +{ + name = "disable-installer-tools"; + + machine = + { pkgs, lib, ... }: + { + system.disableInstallerTools = true; + boot.enableContainers = false; + environment.defaultPackages = []; + }; + + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + + with subtest("nixos installer tools should not be included"): + machine.fail("which nixos-rebuild") + machine.fail("which nixos-install") + machine.fail("which nixos-generate-config") + machine.fail("which nixos-enter") + machine.fail("which nixos-version") + machine.fail("which nixos-build-vms") + + with subtest("perl should not be included"): + machine.fail("which perl") + ''; +})