0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 14:10:33 +03:00

nixos/freenet: refactor, migrate to runTest (#391886)

This commit is contained in:
Pol Dellaiera 2025-04-03 21:03:40 +02:00 committed by GitHub
commit 03bf44b9ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 30 additions and 47 deletions

View file

@ -1,54 +1,39 @@
# NixOS module for Freenet daemon
{
config,
lib,
pkgs,
...
}:
let
let
cfg = config.services.freenet;
varDir = "/var/lib/freenet";
in
{
### configuration
options = {
services.freenet = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable the Freenet daemon";
};
enable = lib.mkEnableOption "Freenet daemon";
nice = lib.mkOption {
type = lib.types.int;
default = 10;
description = "Set the nice level for the Freenet daemon";
};
};
};
### implementation
config = lib.mkIf cfg.enable {
systemd.services.freenet = {
description = "Freenet daemon";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.freenet}/bin/freenet";
serviceConfig.User = "freenet";
serviceConfig.UMask = "0007";
serviceConfig.WorkingDirectory = varDir;
serviceConfig.Nice = cfg.nice;
serviceConfig = {
ExecStart = lib.getExe pkgs.freenet;
User = "freenet";
UMask = "0007";
WorkingDirectory = varDir;
Nice = cfg.nice;
};
};
users.users.freenet = {
@ -62,4 +47,5 @@ in
users.groups.freenet.gid = config.ids.gids.freenet;
};
meta.maintainers = with lib.maintainers; [ nagy ];
}

View file

@ -492,7 +492,7 @@ in
inherit runTest;
forgejoPackage = pkgs.forgejo-lts;
};
freenet = handleTest ./freenet.nix { };
freenet = runTest ./freenet.nix;
freeswitch = handleTest ./freeswitch.nix { };
freetube = discoverTests (import ./freetube.nix);
freshrss = handleTest ./freshrss { };

View file

@ -1,24 +1,21 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
name = "freenet";
meta = with pkgs.lib.maintainers; {
maintainers = [ nagy ];
};
{ lib, ... }:
nodes = {
machine =
{ ... }:
{
services.freenet.enable = true;
};
};
{
name = "freenet";
meta = {
maintainers = with lib.maintainers; [ nagy ];
};
testScript = ''
machine.wait_for_unit("freenet.service")
machine.wait_for_open_port(8888)
machine.wait_until_succeeds("curl -sfL http://localhost:8888/ | grep Freenet")
machine.succeed("systemctl stop freenet")
'';
}
)
nodes = {
machine = {
services.freenet.enable = true;
};
};
testScript = ''
machine.wait_for_unit("freenet.service")
machine.wait_for_open_port(8888)
machine.wait_until_succeeds("curl -sfL http://localhost:8888/ | grep Freenet")
machine.succeed("systemctl stop freenet")
'';
}