From c85cf60c833b99bc3b84aa0f5f2d20c5d6a39cc3 Mon Sep 17 00:00:00 2001
From: Joachim Fasting <joachifm@fastmail.fm>
Date: Sat, 16 Sep 2017 11:47:21 +0200
Subject: [PATCH] nixos/tests: move sysctl test to misc

---
 nixos/release-combined.nix |  1 -
 nixos/release.nix          |  1 -
 nixos/tests/misc.nix       |  9 +++++++++
 nixos/tests/sysctl.nix     | 25 -------------------------
 4 files changed, 9 insertions(+), 27 deletions(-)
 delete mode 100644 nixos/tests/sysctl.nix

diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index a7ceb104b57..f5b988501f9 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -119,7 +119,6 @@ in rec {
         (all nixos.tests.sddm.default)
         (all nixos.tests.simple)
         (all nixos.tests.slim)
-        nixos.tests.sysctl.x86_64-linux # i686 fails
         (all nixos.tests.udisks2)
         (all nixos.tests.xfce)
 
diff --git a/nixos/release.nix b/nixos/release.nix
index 38c446c1f8a..4eeefad9cab 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -313,7 +313,6 @@ in rec {
   tests.slim = callTest tests/slim.nix {};
   tests.smokeping = callTest tests/smokeping.nix {};
   tests.snapper = callTest tests/snapper.nix {};
-  tests.sysctl = callTest tests/sysctl.nix {};
   tests.taskserver = callTest tests/taskserver.nix {};
   tests.tomcat = callTest tests/tomcat.nix {};
   tests.udisks2 = callTest tests/udisks2.nix {};
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index 1b24551009c..222b60ab24a 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -25,6 +25,7 @@ import ./make-test.nix ({ pkgs, ...} : {
         };
       users.users.sybil = { isNormalUser = true; group = "wheel"; };
       security.sudo = { enable = true; wheelNeedsPassword = false; };
+      boot.kernel.sysctl."vm.swappiness" = 1;
     };
 
   testScript =
@@ -117,5 +118,13 @@ import ./make-test.nix ({ pkgs, ...} : {
       subtest "sudo", sub {
           $machine->succeed("su - sybil -c 'sudo true'");
       };
+
+      # Test sysctl
+      subtest "sysctl", sub {
+          $machine->waitForUnit("systemd-sysctl.service");
+          $machine->succeed('[ `sysctl -ne vm.swappiness` = 1 ]');
+          $machine->execute('sysctl vm.swappiness=60');
+          $machine->succeed('[ `sysctl -ne vm.swappiness` = 60 ]');
+      };
     '';
 })
diff --git a/nixos/tests/sysctl.nix b/nixos/tests/sysctl.nix
deleted file mode 100644
index d7220cabb22..00000000000
--- a/nixos/tests/sysctl.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-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'");
-    '';
-})