nixosTests.forgejo{,-lts}: migrate to runTest

This is part of the bigger handleTest deprecation.

See 7e3c66897a.
This commit is contained in:
emilylange
2025-03-24 18:38:09 +01:00
parent 3acdee7793
commit b5a6b91b33
2 changed files with 54 additions and 40 deletions

View File

@@ -437,8 +437,14 @@ in {
fluentd = handleTest ./fluentd.nix {};
fluidd = handleTest ./fluidd.nix {};
fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
forgejo = handleTest ./forgejo.nix { forgejoPackage = pkgs.forgejo; };
forgejo-lts = handleTest ./forgejo.nix { forgejoPackage = pkgs.forgejo-lts; };
forgejo = import ./forgejo.nix {
inherit runTest;
forgejoPackage = pkgs.forgejo;
};
forgejo-lts = import ./forgejo.nix {
inherit runTest;
forgejoPackage = pkgs.forgejo-lts;
};
freenet = handleTest ./freenet.nix {};
freeswitch = handleTest ./freeswitch.nix {};
freetube = discoverTests (import ./freetube.nix);

View File

@@ -1,13 +1,8 @@
{
system ? builtins.currentSystem,
config ? { },
pkgs ? import ../.. { inherit system config; },
forgejoPackage ? pkgs.forgejo,
runTest,
forgejoPackage,
}:
with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
let
## gpg --faked-system-time='20230301T010000!' --quick-generate-key snakeoil ed25519 sign
signingPrivateKey = ''
@@ -24,37 +19,19 @@ let
'';
signingPrivateKeyId = "4D642DE8B678C79D";
actionsWorkflowYaml = ''
run-name: dummy workflow
on:
push:
jobs:
cat:
runs-on: native
steps:
- uses: http://localhost:3000/test/checkout@main
- run: cat testfile
'';
# https://github.com/actions/checkout/releases
checkoutActionSource = pkgs.fetchFromGitHub {
owner = "actions";
repo = "checkout";
rev = "v4.1.1";
hash = "sha256-h2/UIp8IjPo3eE4Gzx52Fb7pcgG/Ww7u31w5fdKVMos=";
};
metricSecret = "fakesecret";
supportedDbTypes = [
"mysql"
"postgres"
"sqlite3"
];
makeForgejoTest =
type:
nameValuePair type (makeTest {
base =
{
lib,
pkgs,
type,
...
}:
{
name = "forgejo-${type}";
meta.maintainers = with maintainers; [
meta.maintainers = with lib.maintainers; [
bendlas
emilylange
];
@@ -141,6 +118,25 @@ let
"${backupDir}/${file}";
remoteUri = "forgejo@server:test/repo";
remoteUriCheckoutAction = "forgejo@server:test/checkout";
actionsWorkflowYaml = ''
run-name: dummy workflow
on:
push:
jobs:
cat:
runs-on: native
steps:
- uses: http://localhost:3000/test/checkout@main
- run: cat testfile
'';
# https://github.com/actions/checkout/releases
checkoutActionSource = pkgs.fetchFromGitHub {
owner = "actions";
repo = "checkout";
rev = "v4.1.1";
hash = "sha256-h2/UIp8IjPo3eE4Gzx52Fb7pcgG/Ww7u31w5fdKVMos=";
};
in
''
import json
@@ -285,7 +281,19 @@ let
assert "Zstandard compressed data" in server.succeed("file ${dumpFile}")
server.copy_from_vm("${dumpFile}")
'';
});
};
in
listToAttrs (map makeForgejoTest supportedDbTypes)
{
mysql = runTest {
imports = [ base ];
_module.args.type = "mysql";
};
sqlite3 = runTest {
imports = [ base ];
_module.args.type = "sqlite3";
};
postgres = runTest {
imports = [ base ];
_module.args.type = "postgres";
};
}