mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-03 21:40:12 +00:00
redis, valkey: migrate to runTest, simplify (#555612)
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user