diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 0feb98b52673..a02c12f93e92 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1604,7 +1604,10 @@ in readeck = runTest ./readeck.nix; realm = runTest ./realm.nix; rebuilderd = runTest ./rebuilderd.nix; - redis = handleTest ./redis.nix { }; + redis = runTest { + imports = [ ./redis.nix ]; + _module.args.package = pkgs.redis; + }; redlib = runTest ./redlib.nix; redmine = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./redmine.nix { }; refind = runTest ./refind.nix; @@ -1983,6 +1986,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 = pkgsLinux.varnish80; diff --git a/nixos/tests/redis.nix b/nixos/tests/redis.nix index 4ff35a509145..f0f0e790b731 100644 --- a/nixos/tests/redis.nix +++ b/nixos/tests/redis.nix @@ -1,84 +1,73 @@ { - system ? builtins.currentSystem, - config ? { }, - pkgs ? import ../../.. { inherit system config; }, - - lib ? pkgs.lib, + pkgs, + lib, + package, + ... }: let - makeTest = import ./make-test-python.nix; mkTestName = pkg: "${pkg.pname}_${builtins.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor pkg.version)}"; - redisPackages = { - inherit (pkgs) redis valkey; - }; - makeRedisTest = - { - package, - name ? mkTestName package, - }: - makeTest { - 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 e0f1f46002b0..2ebe9558beb6 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; };