From e2c0ba929b2a3e6dc327d1ba3dcd387d9542add1 Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Sun, 23 Aug 2026 00:32:44 -0400 Subject: [PATCH 1/2] nixosTests.redis: migrate to runTest Signed-off-by: Ethan Carter Edwards --- nixos/tests/all-tests.nix | 5 ++++- nixos/tests/redis.nix | 11 ++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 077989af66f8..eca1fa01e28f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1501,7 +1501,10 @@ in readeck = runTest ./readeck.nix; realm = runTest ./realm.nix; rebuilderd = runTest ./rebuilderd.nix; - redis = handleTest ./redis.nix { }; + redis = import ./redis.nix { + inherit pkgs runTest; + inherit (pkgs) lib; + }; redlib = runTest ./redlib.nix; redmine = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./redmine.nix { }; refind = runTest ./refind.nix; diff --git a/nixos/tests/redis.nix b/nixos/tests/redis.nix index 4ff35a509145..a7ac035bfb7f 100644 --- a/nixos/tests/redis.nix +++ b/nixos/tests/redis.nix @@ -1,12 +1,9 @@ { - system ? builtins.currentSystem, - config ? { }, - pkgs ? import ../../.. { inherit system config; }, - - lib ? pkgs.lib, + pkgs, + lib, + runTest, }: let - makeTest = import ./make-test-python.nix; mkTestName = pkg: "${pkg.pname}_${builtins.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor pkg.version)}"; redisPackages = { @@ -17,7 +14,7 @@ let package, name ? mkTestName package, }: - makeTest { + runTest { inherit name; meta.maintainers = lib.teams.redis.members; From 0ccb58b2d9535b93a50bfff15cea7ac9b585019e Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Sun, 23 Aug 2026 00:40:11 -0400 Subject: [PATCH 2/2] redis, valkey: simplify nixosTests.redis, make more general Inspiration from: https://github.com/NixOS/nixpkgs/pull/486325 ! Signed-off-by: Ethan Carter Edwards --- nixos/tests/all-tests.nix | 10 ++- nixos/tests/redis.nix | 138 ++++++++++++++--------------- pkgs/by-name/va/valkey/package.nix | 2 +- 3 files changed, 73 insertions(+), 77 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index eca1fa01e28f..734ea865dafe 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1501,9 +1501,9 @@ in readeck = runTest ./readeck.nix; realm = runTest ./realm.nix; rebuilderd = runTest ./rebuilderd.nix; - redis = import ./redis.nix { - inherit pkgs runTest; - inherit (pkgs) lib; + redis = runTest { + imports = [ ./redis.nix ]; + _module.args.package = pkgs.redis; }; redlib = runTest ./redlib.nix; redmine = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./redmine.nix { }; @@ -1867,6 +1867,10 @@ in utmp = runTest ./utmp.nix; uwsgi = runTest ./uwsgi.nix; v2ray = runTest ./v2ray.nix; + valkey = runTest { + imports = [ ./redis.nix ]; + _module.args.package = pkgs.valkey; + }; varnish80 = runTest { imports = [ ./varnish.nix ]; _module.args.package = pkgs.varnish80; diff --git a/nixos/tests/redis.nix b/nixos/tests/redis.nix index a7ac035bfb7f..f0f0e790b731 100644 --- a/nixos/tests/redis.nix +++ b/nixos/tests/redis.nix @@ -1,81 +1,73 @@ { pkgs, lib, - runTest, + package, + ... }: let mkTestName = pkg: "${pkg.pname}_${builtins.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor pkg.version)}"; - redisPackages = { - inherit (pkgs) redis valkey; - }; - makeRedisTest = - { - package, - name ? mkTestName package, - }: - runTest { - inherit name; - meta.maintainers = lib.teams.redis.members; - - nodes = { - machine = - { lib, ... }: - - { - services = { - redis = { - inherit package; - servers."".enable = true; - servers."test".enable = true; - }; - }; - - users.users = lib.listToAttrs ( - map - ( - suffix: - lib.nameValuePair "member${suffix}" { - createHome = false; - description = "A member of the redis${suffix} group"; - isNormalUser = true; - extraGroups = [ "redis${suffix}" ]; - } - ) - [ - "" - "-test" - ] - ); - }; - }; - - testScript = - { nodes, ... }: - let - inherit (nodes.machine.services) redis; - in - '' - start_all() - machine.wait_for_unit("redis") - machine.wait_for_unit("redis-test") - - # The unnamed Redis server still opens a port for backward-compatibility - machine.wait_for_open_port(6379) - - machine.wait_for_file("${redis.servers."".unixSocket}") - machine.wait_for_file("${redis.servers."test".unixSocket}") - - # The unix socket is accessible to the redis group - machine.succeed('su member -c "${pkgs.redis}/bin/redis-cli ping | grep PONG"') - machine.succeed('su member-test -c "${pkgs.redis}/bin/redis-cli ping | grep PONG"') - - machine.succeed("${pkgs.redis}/bin/redis-cli ping | grep PONG") - machine.succeed("${pkgs.redis}/bin/redis-cli -s ${redis.servers."".unixSocket} ping | grep PONG") - machine.succeed("${pkgs.redis}/bin/redis-cli -s ${ - redis.servers."test".unixSocket - } ping | grep PONG") - ''; - }; in -lib.mapAttrs (_: package: makeRedisTest { inherit package; }) redisPackages +{ + name = mkTestName package; + meta.maintainers = lib.teams.redis.members; + + nodes = { + machine = + { lib, ... }: + + { + services = { + redis = { + inherit package; + servers."".enable = true; + servers."test".enable = true; + }; + }; + + users.users = lib.listToAttrs ( + map + ( + suffix: + lib.nameValuePair "member${suffix}" { + createHome = false; + description = "A member of the redis${suffix} group"; + isNormalUser = true; + extraGroups = [ "redis${suffix}" ]; + } + ) + [ + "" + "-test" + ] + ); + }; + }; + + testScript = + { nodes, ... }: + let + inherit (nodes.machine.services) redis; + in + '' + start_all() + machine.wait_for_unit("redis") + machine.wait_for_unit("redis-test") + + # The unnamed Redis server still opens a port for backward-compatibility + machine.wait_for_open_port(6379) + + machine.wait_for_file("${redis.servers."".unixSocket}") + machine.wait_for_file("${redis.servers."test".unixSocket}") + + # The unix socket is accessible to the redis group + machine.succeed('su member -c "${pkgs.redis}/bin/redis-cli ping | grep PONG"') + machine.succeed('su member-test -c "${pkgs.redis}/bin/redis-cli ping | grep PONG"') + + machine.succeed("${pkgs.redis}/bin/redis-cli ping | grep PONG") + machine.succeed("${pkgs.redis}/bin/redis-cli -s ${redis.servers."".unixSocket} ping | grep PONG") + machine.succeed("${pkgs.redis}/bin/redis-cli -s ${ + redis.servers."test".unixSocket + } ping | grep PONG") + ''; +} diff --git a/pkgs/by-name/va/valkey/package.nix b/pkgs/by-name/va/valkey/package.nix index dd9914874764..85720fb2c6ae 100644 --- a/pkgs/by-name/va/valkey/package.nix +++ b/pkgs/by-name/va/valkey/package.nix @@ -112,7 +112,7 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { - redis = nixosTests.redis; + redis = nixosTests.valkey; unitTests = finalAttrs.finalPackage.overrideAttrs { doCheck = true; }; valkey-python = python3Packages.valkey; };