From b5b6abac33177e2a186feda59e7a39b0e0548703 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Fri, 17 Oct 2025 17:31:07 +0900 Subject: [PATCH] nixos/tests/dictd: init --- nixos/tests/all-tests.nix | 1 + nixos/tests/dictd.nix | 29 +++++++++++++++++++++++++++++ pkgs/servers/dict/default.nix | 3 +++ 3 files changed, 33 insertions(+) create mode 100644 nixos/tests/dictd.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 1f1f5ae5e043..933135a19533 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -449,6 +449,7 @@ in devpi-server = runTest ./devpi-server.nix; dex-oidc = runTest ./dex-oidc.nix; dhparams = runTest ./dhparams.nix; + dictd = runTest ./dictd.nix; disable-installer-tools = runTest ./disable-installer-tools.nix; discourse = runTest { imports = [ ./discourse.nix ]; diff --git a/nixos/tests/dictd.nix b/nixos/tests/dictd.nix new file mode 100644 index 000000000000..83faf870711f --- /dev/null +++ b/nixos/tests/dictd.nix @@ -0,0 +1,29 @@ +{ lib, pkgs, ... }: +{ + name = "dictd"; + meta.maintainers = with lib.maintainers; [ + h7x4 + ]; + + nodes.machine = + { pkgs, ... }: + { + services.dictd = { + enable = true; + DBs = with pkgs.dictdDBs; [ + jpn2eng + eng2jpn + ]; + }; + }; + + testScript = '' + machine.wait_for_unit("dictd.service") + machine.wait_for_open_port(2628) + + machine.succeed("dict --serverinfo | grep 'On machine: up'") + machine.succeed("dict --dbs | grep '${pkgs.dictdDBs.jpn2eng.name}'") + machine.succeed("dict -d '${pkgs.dictdDBs.jpn2eng.name}' 例え | grep example") + machine.succeed("dict -d '${pkgs.dictdDBs.eng2jpn.name}' example | grep 例え") + ''; +} diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix index d3c74dfab9be..0deed5dcc609 100644 --- a/pkgs/servers/dict/default.nix +++ b/pkgs/servers/dict/default.nix @@ -8,6 +8,7 @@ libmaa, zlib, libtool, + nixosTests, }: stdenv.mkDerivation rec { @@ -47,6 +48,8 @@ stdenv.mkDerivation rec { install -Dm444 -t $out/share/doc/${pname} NEWS README ''; + passthru.tests.nixos = nixosTests.dictd; + meta = { description = "Dict protocol server and client"; homepage = "http://www.dict.org";