diff options
author | Tim Steinbach <NeQuissimus@users.noreply.github.com> | 2017-09-06 15:04:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-06 15:04:10 -0400 |
commit | 7faad2dce829d7db50dbfe3a6466e79c6022e7e6 (patch) | |
tree | 639de03e823b028fe918835b878858c809324ad9 /nixos/tests | |
parent | a54b2e3ba226c9fa3e7f4ec72fbada8e0859a300 (diff) | |
parent | b4ccef2163d07e5f35bc802c357d2d2167409a3a (diff) | |
download | nixlib-7faad2dce829d7db50dbfe3a6466e79c6022e7e6.tar nixlib-7faad2dce829d7db50dbfe3a6466e79c6022e7e6.tar.gz nixlib-7faad2dce829d7db50dbfe3a6466e79c6022e7e6.tar.bz2 nixlib-7faad2dce829d7db50dbfe3a6466e79c6022e7e6.tar.lz nixlib-7faad2dce829d7db50dbfe3a6466e79c6022e7e6.tar.xz nixlib-7faad2dce829d7db50dbfe3a6466e79c6022e7e6.tar.zst nixlib-7faad2dce829d7db50dbfe3a6466e79c6022e7e6.zip |
Merge pull request #29040 from NeQuissimus/tests_sys
More basic system tests
Diffstat (limited to 'nixos/tests')
-rw-r--r-- | nixos/tests/env.nix | 35 | ||||
-rw-r--r-- | nixos/tests/kernel-params.nix | 24 | ||||
-rw-r--r-- | nixos/tests/sysctl.nix | 25 |
3 files changed, 84 insertions, 0 deletions
diff --git a/nixos/tests/env.nix b/nixos/tests/env.nix new file mode 100644 index 000000000000..c6b0424e97b9 --- /dev/null +++ b/nixos/tests/env.nix @@ -0,0 +1,35 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "environment"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ nequissimus ]; + }; + + machine = { config, lib, pkgs, ... }: + { + boot.kernelPackages = pkgs.linuxPackages; + environment.etc."plainFile".text = '' + Hello World + ''; + environment.etc."folder/with/file".text = '' + Foo Bar! + ''; + + environment.sessionVariables = { + TERMINFO_DIRS = "/run/current-system/sw/share/terminfo"; + NIXCON = "awesome"; + }; + }; + + testScript = + '' + $machine->succeed('[ -L "/etc/plainFile" ]'); + $machine->succeed('cat "/etc/plainFile" | grep "Hello World"'); + $machine->succeed('[ -d "/etc/folder" ]'); + $machine->succeed('[ -d "/etc/folder/with" ]'); + $machine->succeed('[ -L "/etc/folder/with/file" ]'); + $machine->succeed('cat "/etc/plainFile" | grep "Hello World"'); + + $machine->succeed('echo ''${TERMINFO_DIRS} | grep "/run/current-system/sw/share/terminfo"'); + $machine->succeed('echo ''${NIXCON} | grep "awesome"'); + ''; +}) diff --git a/nixos/tests/kernel-params.nix b/nixos/tests/kernel-params.nix new file mode 100644 index 000000000000..14a393356911 --- /dev/null +++ b/nixos/tests/kernel-params.nix @@ -0,0 +1,24 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "kernel-params"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ nequissimus ]; + }; + + machine = { config, lib, pkgs, ... }: + { + boot.kernelPackages = pkgs.linuxPackages; + boot.kernelParams = [ + "nohibernate" + "page_poison=1" + "vsyscall=none" + ]; + }; + + testScript = + '' + $machine->fail("cat /proc/cmdline | grep page_poison=0"); + $machine->succeed("cat /proc/cmdline | grep nohibernate"); + $machine->succeed("cat /proc/cmdline | grep page_poison=1"); + $machine->succeed("cat /proc/cmdline | grep vsyscall=none"); + ''; +}) diff --git a/nixos/tests/sysctl.nix b/nixos/tests/sysctl.nix new file mode 100644 index 000000000000..d7220cabb22c --- /dev/null +++ b/nixos/tests/sysctl.nix @@ -0,0 +1,25 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "sysctl"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ nequissimus ]; + }; + + machine = { config, lib, pkgs, ... }: + { + boot.kernelPackages = pkgs.linuxPackages; + boot.kernel.sysctl = { + "kernel.dmesg_restrict" = true; # Restrict dmesg access + "net.core.bpf_jit_enable" = false; # Turn off bpf JIT + "user.max_user_namespaces" = 0; # Disable user namespaces + "vm.swappiness" = 2; # Low swap usage + }; + }; + + testScript = + '' + $machine->succeed("sysctl kernel.dmesg_restrict | grep 'kernel.dmesg_restrict = 1'"); + $machine->succeed("sysctl net.core.bpf_jit_enable | grep 'net.core.bpf_jit_enable = 0'"); + $machine->succeed("sysctl user.max_user_namespaces | grep 'user.max_user_namespaces = 0'"); + $machine->succeed("sysctl vm.swappiness | grep 'vm.swappiness = 2'"); + ''; +}) |