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

authored by Pol Dellaiera and committed by GitHub 03bf44b9 6846ab20

+29 -46
+10 -24
nixos/modules/services/networking/freenet.nix
··· 1 - # NixOS module for Freenet daemon 2 { 3 config, 4 lib, 5 pkgs, 6 ... 7 }: 8 - let 9 10 cfg = config.services.freenet; 11 varDir = "/var/lib/freenet"; 12 - 13 in 14 - 15 { 16 - 17 - ### configuration 18 - 19 options = { 20 - 21 services.freenet = { 22 - 23 - enable = lib.mkOption { 24 - type = lib.types.bool; 25 - default = false; 26 - description = "Enable the Freenet daemon"; 27 - }; 28 29 nice = lib.mkOption { 30 type = lib.types.int; 31 default = 10; 32 description = "Set the nice level for the Freenet daemon"; 33 }; 34 - 35 }; 36 - 37 }; 38 - 39 - ### implementation 40 41 config = lib.mkIf cfg.enable { 42 - 43 systemd.services.freenet = { 44 description = "Freenet daemon"; 45 after = [ "network.target" ]; 46 wantedBy = [ "multi-user.target" ]; 47 - serviceConfig.ExecStart = "${pkgs.freenet}/bin/freenet"; 48 - serviceConfig.User = "freenet"; 49 - serviceConfig.UMask = "0007"; 50 - serviceConfig.WorkingDirectory = varDir; 51 - serviceConfig.Nice = cfg.nice; 52 }; 53 54 users.users.freenet = { ··· 62 users.groups.freenet.gid = config.ids.gids.freenet; 63 }; 64 65 }
··· 1 { 2 config, 3 lib, 4 pkgs, 5 ... 6 }: 7 8 + let 9 cfg = config.services.freenet; 10 varDir = "/var/lib/freenet"; 11 in 12 { 13 options = { 14 services.freenet = { 15 + enable = lib.mkEnableOption "Freenet daemon"; 16 17 nice = lib.mkOption { 18 type = lib.types.int; 19 default = 10; 20 description = "Set the nice level for the Freenet daemon"; 21 }; 22 }; 23 }; 24 25 config = lib.mkIf cfg.enable { 26 systemd.services.freenet = { 27 description = "Freenet daemon"; 28 after = [ "network.target" ]; 29 wantedBy = [ "multi-user.target" ]; 30 + serviceConfig = { 31 + ExecStart = lib.getExe pkgs.freenet; 32 + User = "freenet"; 33 + UMask = "0007"; 34 + WorkingDirectory = varDir; 35 + Nice = cfg.nice; 36 + }; 37 }; 38 39 users.users.freenet = { ··· 47 users.groups.freenet.gid = config.ids.gids.freenet; 48 }; 49 50 + meta.maintainers = with lib.maintainers; [ nagy ]; 51 }
+1 -1
nixos/tests/all-tests.nix
··· 492 inherit runTest; 493 forgejoPackage = pkgs.forgejo-lts; 494 }; 495 - freenet = handleTest ./freenet.nix { }; 496 freeswitch = handleTest ./freeswitch.nix { }; 497 freetube = discoverTests (import ./freetube.nix); 498 freshrss = handleTest ./freshrss { };
··· 492 inherit runTest; 493 forgejoPackage = pkgs.forgejo-lts; 494 }; 495 + freenet = runTest ./freenet.nix; 496 freeswitch = handleTest ./freeswitch.nix { }; 497 freetube = discoverTests (import ./freetube.nix); 498 freshrss = handleTest ./freshrss { };
+18 -21
nixos/tests/freenet.nix
··· 1 - import ./make-test-python.nix ( 2 - { pkgs, ... }: 3 - { 4 - name = "freenet"; 5 - meta = with pkgs.lib.maintainers; { 6 - maintainers = [ nagy ]; 7 - }; 8 9 - nodes = { 10 - machine = 11 - { ... }: 12 - { 13 - services.freenet.enable = true; 14 - }; 15 }; 16 17 - testScript = '' 18 - machine.wait_for_unit("freenet.service") 19 - machine.wait_for_open_port(8888) 20 - machine.wait_until_succeeds("curl -sfL http://localhost:8888/ | grep Freenet") 21 - machine.succeed("systemctl stop freenet") 22 - ''; 23 - } 24 - )
··· 1 + { lib, ... }: 2 3 + { 4 + name = "freenet"; 5 + meta = { 6 + maintainers = with lib.maintainers; [ nagy ]; 7 + }; 8 + 9 + nodes = { 10 + machine = { 11 + services.freenet.enable = true; 12 }; 13 + }; 14 15 + testScript = '' 16 + machine.wait_for_unit("freenet.service") 17 + machine.wait_for_open_port(8888) 18 + machine.wait_until_succeeds("curl -sfL http://localhost:8888/ | grep Freenet") 19 + machine.succeed("systemctl stop freenet") 20 + ''; 21 + }