nixosTests.stunnel: handleTest -> runTest

This commit is contained in:
Sizhe Zhao 2025-07-10 22:53:22 +08:00
parent 2fcd5fedf9
commit c49b710acc
No known key found for this signature in database
GPG Key ID: ED1807251A7DA08F
2 changed files with 14 additions and 17 deletions

View File

@ -1319,7 +1319,7 @@ in
stratis = handleTest ./stratis { }; stratis = handleTest ./stratis { };
strongswan-swanctl = runTest ./strongswan-swanctl.nix; strongswan-swanctl = runTest ./strongswan-swanctl.nix;
stub-ld = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./stub-ld.nix { }; stub-ld = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./stub-ld.nix { };
stunnel = handleTest ./stunnel.nix { }; stunnel = import ./stunnel.nix { inherit runTest; };
sudo = runTest ./sudo.nix; sudo = runTest ./sudo.nix;
sudo-rs = runTest ./sudo-rs.nix; sudo-rs = runTest ./sudo-rs.nix;
sunshine = runTest ./sunshine.nix; sunshine = runTest ./sunshine.nix;

View File

@ -1,11 +1,4 @@
{ { runTest }:
system ? builtins.currentSystem,
config ? { },
pkgs ? import ../.. { inherit system config; },
}:
with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
let let
stunnelCommon = { stunnelCommon = {
@ -20,7 +13,12 @@ let
}; };
}; };
makeCert = makeCert =
{ config, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
systemd.services.create-test-cert = { systemd.services.create-test-cert = {
wantedBy = [ "sysinit.target" ]; wantedBy = [ "sysinit.target" ];
@ -32,14 +30,14 @@ let
unitConfig.DefaultDependencies = false; unitConfig.DefaultDependencies = false;
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
script = '' script = ''
${pkgs.openssl}/bin/openssl req -batch -x509 -newkey rsa -nodes -out /test-cert.pem -keyout /test-key.pem -subj /CN=${config.networking.hostName} ${lib.getExe pkgs.openssl} req -batch -x509 -newkey rsa -nodes -out /test-cert.pem -keyout /test-key.pem -subj /CN=${config.networking.hostName}
( umask 077; cat /test-key.pem /test-cert.pem > /test-key-and-cert.pem ) ( umask 077; cat /test-key.pem /test-cert.pem > /test-key-and-cert.pem )
chown stunnel /test-key.pem /test-key-and-cert.pem chown stunnel /test-key.pem /test-key-and-cert.pem
''; '';
}; };
}; };
serverCommon = serverCommon =
{ pkgs, ... }: { lib, pkgs, ... }:
{ {
networking.firewall.allowedTCPPorts = [ 443 ]; networking.firewall.allowedTCPPorts = [ 443 ];
services.stunnel.servers.https = { services.stunnel.servers.https = {
@ -51,7 +49,7 @@ let
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
script = '' script = ''
cd /etc/webroot cd /etc/webroot
${pkgs.python3}/bin/python -m http.server 80 ${lib.getExe' pkgs.python3 "python"} -m http.server 80
''; '';
}; };
}; };
@ -61,10 +59,9 @@ let
server_cert = ${src}.succeed("cat /test-cert.pem") server_cert = ${src}.succeed("cat /test-cert.pem")
${dest}.succeed("echo %s > ${filename}" % quote(server_cert)) ${dest}.succeed("echo %s > ${filename}" % quote(server_cert))
''; '';
in in
{ {
basicServer = makeTest { basicServer = runTest {
name = "basicServer"; name = "basicServer";
nodes = { nodes = {
@ -92,7 +89,7 @@ in
''; '';
}; };
serverAndClient = makeTest { serverAndClient = runTest {
name = "serverAndClient"; name = "serverAndClient";
nodes = { nodes = {
@ -150,7 +147,7 @@ in
''; '';
}; };
mutualAuth = makeTest { mutualAuth = runTest {
name = "mutualAuth"; name = "mutualAuth";
nodes = rec { nodes = rec {