mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
etcd: refactor tests for all versions
This commit is contained in:
committed by
superherointj
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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user