mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-09 16:18:34 +01:00
etcd: refactor tests for all versions
This commit is contained in:
parent
9b09e0ee62
commit
68768c9564
|
|
@ -516,8 +516,7 @@ in
|
|||
ergochat = runTest ./ergochat.nix;
|
||||
esphome = runTest ./esphome.nix;
|
||||
etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; };
|
||||
etcd = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./etcd/etcd.nix;
|
||||
etcd-cluster = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./etcd/etcd-cluster.nix;
|
||||
etcd = import ./etcd/default.nix { inherit pkgs runTest; };
|
||||
etebase-server = runTest ./etebase-server.nix;
|
||||
etesync-dav = runTest ./etesync-dav.nix;
|
||||
evcc = runTest ./evcc.nix;
|
||||
|
|
|
|||
43
nixos/tests/etcd/default.nix
Normal file
43
nixos/tests/etcd/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
pkgs,
|
||||
runTest,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
testEtcd =
|
||||
path: oPkgs:
|
||||
runTest (
|
||||
let
|
||||
etcdPkgs = pkgs // oPkgs;
|
||||
in
|
||||
pkgs.lib.recursiveUpdate {
|
||||
meta = {
|
||||
maintainers = etcdPkgs.etcd.meta.maintainers;
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
};
|
||||
} (import path etcdPkgs)
|
||||
);
|
||||
testEtcdPkg = pkg: path: testEtcd path { etcd = pkg; };
|
||||
testEtcd_3_4 = testEtcdPkg pkgs.etcd_3_4;
|
||||
testEtcd_3_5 = testEtcdPkg pkgs.etcd_3_5;
|
||||
testEtcd_3_6 = testEtcdPkg pkgs.etcd_3_6;
|
||||
in
|
||||
|
||||
{
|
||||
"3_4" = {
|
||||
multi-node = testEtcd_3_4 ./multi-node.nix;
|
||||
single-node = testEtcd_3_4 ./single-node.nix;
|
||||
};
|
||||
"3_5" = {
|
||||
multi-node = testEtcd_3_5 ./multi-node.nix;
|
||||
single-node = testEtcd_3_5 ./single-node.nix;
|
||||
};
|
||||
"3_6" = {
|
||||
multi-node = testEtcd_3_6 ./multi-node.nix;
|
||||
single-node = testEtcd_3_6 ./single-node.nix;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
# This test runs simple etcd cluster
|
||||
{ pkgs, etcd, ... }:
|
||||
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
runWithOpenSSL =
|
||||
file: cmd:
|
||||
|
|
@ -77,6 +76,7 @@ let
|
|||
services = {
|
||||
etcd = {
|
||||
enable = true;
|
||||
package = etcd;
|
||||
keyFile = etcd_key;
|
||||
certFile = etcd_cert;
|
||||
trustedCaFile = ca_pem;
|
||||
|
|
@ -99,10 +99,9 @@ let
|
|||
networking.firewall.allowedTCPPorts = [ 2380 ];
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "etcd-cluster";
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ offline ];
|
||||
{
|
||||
name = "etcd-multi-node";
|
||||
|
||||
nodes = {
|
||||
node1 =
|
||||
|
|
@ -170,4 +169,5 @@ in
|
|||
node1.succeed("etcdctl put /foo/bar 'Hello degraded world'")
|
||||
node1.succeed("etcdctl get /foo/bar | grep 'Hello degraded world'")
|
||||
'';
|
||||
|
||||
}
|
||||
|
|
@ -1,11 +1,13 @@
|
|||
# This test runs simple etcd node
|
||||
{ lib, ... }:
|
||||
{ etcd, ... }:
|
||||
|
||||
{
|
||||
name = "etcd";
|
||||
meta.maintainers = with lib.maintainers; [ offline ];
|
||||
name = "etcd-single-node";
|
||||
|
||||
nodes.node = {
|
||||
services.etcd.enable = true;
|
||||
services.etcd = {
|
||||
enable = true;
|
||||
package = etcd;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
|
|
@ -19,4 +21,5 @@
|
|||
node.succeed("etcdctl put /foo/bar 'Hello world'")
|
||||
node.succeed("etcdctl get /foo/bar | grep 'Hello world'")
|
||||
'';
|
||||
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
|
|
@ -36,6 +37,8 @@ buildGoModule rec {
|
|||
install -Dm755 bin/* bin/functional/cmd/* -t $out/bin
|
||||
'';
|
||||
|
||||
passthru.tests = nixosTests.etcd."3_4";
|
||||
|
||||
meta = {
|
||||
description = "Distributed reliable key-value store for the most critical data of a distributed system";
|
||||
downloadPage = "https://github.com/etcd-io/etcd/";
|
||||
|
|
|
|||
|
|
@ -101,11 +101,7 @@ symlinkJoin {
|
|||
deps = {
|
||||
inherit etcdserver etcdutl etcdctl;
|
||||
};
|
||||
|
||||
tests = {
|
||||
inherit (nixosTests) etcd etcd-cluster;
|
||||
k3s = k3s.passthru.tests.etcd;
|
||||
};
|
||||
tests = nixosTests.etcd."3_5";
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -132,11 +132,7 @@ symlinkJoin {
|
|||
deps = {
|
||||
inherit etcdserver etcdutl etcdctl;
|
||||
};
|
||||
# Fix-Me: Tests for etcd 3.6 needs work.
|
||||
# tests = {
|
||||
# inherit (nixosTests) etcd etcd-cluster;
|
||||
# k3s = k3s.passthru.tests.etcd;
|
||||
# };
|
||||
tests = nixosTests.etcd."3_6";
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue