From b5a6b91b330fff5ec7d0d377f86f13ff26268006 Mon Sep 17 00:00:00 2001 From: emilylange Date: Mon, 24 Mar 2025 18:38:09 +0100 Subject: [PATCH] nixosTests.forgejo{,-lts}: migrate to runTest This is part of the bigger handleTest deprecation. See 7e3c66897a1c857dd68844fe7227dd078666fb11. --- nixos/tests/all-tests.nix | 10 ++++- nixos/tests/forgejo.nix | 84 +++++++++++++++++++++------------------ 2 files changed, 54 insertions(+), 40 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index ca3b04135b4f..6de87703f908 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -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); diff --git a/nixos/tests/forgejo.nix b/nixos/tests/forgejo.nix index 392b380b21c9..38ef6cc57ed4 100644 --- a/nixos/tests/forgejo.nix +++ b/nixos/tests/forgejo.nix @@ -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"; + }; +}