From 81b7e1bde81c633354fb1cd89ddca908128d85fd Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Fri, 25 Apr 2025 22:20:13 +0200 Subject: tests/sharkey-image: Rename to `sharkey-cpu` Image upload still fails, even with this test passing. --- tests/by-name/sh/sharkey-cpu/test.nix | 82 ++++++++++++++++++++++++++++++++ tests/by-name/sh/sharkey-images/test.nix | 82 -------------------------------- 2 files changed, 82 insertions(+), 82 deletions(-) create mode 100644 tests/by-name/sh/sharkey-cpu/test.nix delete mode 100644 tests/by-name/sh/sharkey-images/test.nix (limited to 'tests/by-name/sh') diff --git a/tests/by-name/sh/sharkey-cpu/test.nix b/tests/by-name/sh/sharkey-cpu/test.nix new file mode 100644 index 0000000..d4f9332 --- /dev/null +++ b/tests/by-name/sh/sharkey-cpu/test.nix @@ -0,0 +1,82 @@ +{ + nixos-lib, + pkgsUnstable, + nixpkgs-unstable, + vhackPackages, + pkgs, + extraModules, + nixLib, + ... +}: +nixos-lib.runTest { + hostPkgs = pkgs; # the Nixpkgs package set used outside the VMs + + name = "sharkey-images"; + + node = { + specialArgs = {inherit pkgsUnstable extraModules vhackPackages nixpkgs-unstable nixLib;}; + + # Use the nixpkgs as constructed by the `nixpkgs.*` options + pkgs = null; + }; + + nodes = { + server = {config, ...}: { + imports = + extraModules + ++ [ + ../../../../modules + ]; + + vhack = { + persist.enable = true; + nginx.enable = true; + sharkey = { + enable = true; + fqdn = "sharkey.server"; + }; + }; + systemd.services = { + # Avoid an error from this service. + "acme-sharkey.server".serviceConfig.ExecStart = pkgs.lib.mkForce "${pkgs.lib.getExe' pkgs.coreutils "true"}"; + + # Test, that sharkey's hardening still allows access to the CPUs. + sharkey.serviceConfig.ExecStart = let + nodejs = pkgs.lib.getExe pkgsUnstable.nodejs; + script = pkgs.writeTextFile { + name = "script.js"; + text = '' + import * as os from 'node:os'; + + console.log(os.cpus()[0].model) + console.log(os.cpus().length) + ''; + }; + in + pkgs.lib.mkForce "${nodejs} ${script}"; + }; + }; + }; + + testScript = {nodes, ...}: + /* + python + */ + '' + from time import sleep + + start_all() + server.wait_for_unit("sharkey.service") + + # Give the service time to start. + sleep(3) + + with subtest("All services running"): + import json + def all_services_running(host): + (status, output) = host.systemctl("list-units --state=failed --plain --no-pager --output=json") + host_failed = json.loads(output) + assert len(host_failed) == 0, f"Expected zero failing services, but found: {json.dumps(host_failed, indent=4)}" + all_services_running(server) + ''; +} diff --git a/tests/by-name/sh/sharkey-images/test.nix b/tests/by-name/sh/sharkey-images/test.nix deleted file mode 100644 index d4f9332..0000000 --- a/tests/by-name/sh/sharkey-images/test.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ - nixos-lib, - pkgsUnstable, - nixpkgs-unstable, - vhackPackages, - pkgs, - extraModules, - nixLib, - ... -}: -nixos-lib.runTest { - hostPkgs = pkgs; # the Nixpkgs package set used outside the VMs - - name = "sharkey-images"; - - node = { - specialArgs = {inherit pkgsUnstable extraModules vhackPackages nixpkgs-unstable nixLib;}; - - # Use the nixpkgs as constructed by the `nixpkgs.*` options - pkgs = null; - }; - - nodes = { - server = {config, ...}: { - imports = - extraModules - ++ [ - ../../../../modules - ]; - - vhack = { - persist.enable = true; - nginx.enable = true; - sharkey = { - enable = true; - fqdn = "sharkey.server"; - }; - }; - systemd.services = { - # Avoid an error from this service. - "acme-sharkey.server".serviceConfig.ExecStart = pkgs.lib.mkForce "${pkgs.lib.getExe' pkgs.coreutils "true"}"; - - # Test, that sharkey's hardening still allows access to the CPUs. - sharkey.serviceConfig.ExecStart = let - nodejs = pkgs.lib.getExe pkgsUnstable.nodejs; - script = pkgs.writeTextFile { - name = "script.js"; - text = '' - import * as os from 'node:os'; - - console.log(os.cpus()[0].model) - console.log(os.cpus().length) - ''; - }; - in - pkgs.lib.mkForce "${nodejs} ${script}"; - }; - }; - }; - - testScript = {nodes, ...}: - /* - python - */ - '' - from time import sleep - - start_all() - server.wait_for_unit("sharkey.service") - - # Give the service time to start. - sleep(3) - - with subtest("All services running"): - import json - def all_services_running(host): - (status, output) = host.systemctl("list-units --state=failed --plain --no-pager --output=json") - host_failed = json.loads(output) - assert len(host_failed) == 0, f"Expected zero failing services, but found: {json.dumps(host_failed, indent=4)}" - all_services_running(server) - ''; -} -- cgit 1.4.1