nixos/tests/envoy: migrate to runTests

Changed files
+57 -56
nixos
+4 -1
nixos/tests/all-tests.nix
···
enlightenment = handleTest ./enlightenment.nix { };
env = handleTest ./env.nix { };
envfs = handleTest ./envfs.nix { };
-
envoy = handleTest ./envoy.nix { };
+
envoy = runTest {
+
imports = [ ./envoy.nix ];
+
_module.args.envoyPackage = pkgs.envoy;
+
};
ergo = handleTest ./ergo.nix { };
ergochat = handleTest ./ergochat.nix { };
eris-server = handleTest ./eris-server.nix { };
+53 -55
nixos/tests/envoy.nix
···
-
import ./make-test-python.nix (
-
{ pkgs, lib, ... }:
-
{
-
name = "envoy";
-
meta = with pkgs.lib.maintainers; {
-
maintainers = [ cameronnemo ];
-
};
+
{ envoyPackage, lib, ... }:
+
{
+
name = envoyPackage.pname;
-
nodes.machine =
-
{ pkgs, ... }:
-
{
-
services.envoy.enable = true;
-
services.envoy.settings = {
-
admin = {
-
access_log_path = "/dev/null";
-
address = {
-
socket_address = {
-
protocol = "TCP";
-
address = "127.0.0.1";
-
port_value = 80;
-
};
-
};
-
};
-
static_resources = {
-
listeners = [ ];
-
clusters = [ ];
+
meta = with lib.maintainers; {
+
maintainers = [ cameronnemo ];
+
};
+
+
nodes.machine = {
+
services.envoy.enable = true;
+
services.envoy.package = envoyPackage;
+
services.envoy.settings = {
+
admin = {
+
access_log_path = "/dev/null";
+
address = {
+
socket_address = {
+
protocol = "TCP";
+
address = "127.0.0.1";
+
port_value = 80;
};
};
-
specialisation = {
-
withoutConfigValidation.configuration =
-
{ ... }:
-
{
-
services.envoy = {
-
requireValidConfig = false;
-
settings.admin.access_log_path = lib.mkForce "/var/log/envoy/access.log";
-
};
-
};
-
};
};
+
static_resources = {
+
listeners = [ ];
+
clusters = [ ];
+
};
+
};
+
specialisation = {
+
withoutConfigValidation.configuration =
+
{ ... }:
+
{
+
services.envoy = {
+
requireValidConfig = false;
+
settings.admin.access_log_path = lib.mkForce "/var/log/envoy/access.log";
+
};
+
};
+
};
+
};
-
testScript =
-
{ nodes, ... }:
-
let
-
specialisations = "${nodes.machine.system.build.toplevel}/specialisation";
-
in
-
''
-
machine.start()
+
testScript =
+
{ nodes, ... }:
+
let
+
specialisations = "${nodes.machine.system.build.toplevel}/specialisation";
+
in
+
''
+
machine.start()
-
with subtest("envoy.service starts and responds with ready"):
-
machine.wait_for_unit("envoy.service")
-
machine.wait_for_open_port(80)
-
machine.wait_until_succeeds("curl -fsS localhost:80/ready")
+
with subtest("envoy.service starts and responds with ready"):
+
machine.wait_for_unit("envoy.service")
+
machine.wait_for_open_port(80)
+
machine.wait_until_succeeds("curl -fsS localhost:80/ready")
-
with subtest("envoy.service works with config path not available at eval time"):
-
machine.succeed('${specialisations}/withoutConfigValidation/bin/switch-to-configuration test')
-
machine.wait_for_unit("envoy.service")
-
machine.wait_for_open_port(80)
-
machine.wait_until_succeeds("curl -fsS localhost:80/ready")
-
machine.succeed('test -f /var/log/envoy/access.log')
-
'';
-
}
-
)
+
with subtest("envoy.service works with config path not available at eval time"):
+
machine.succeed('${specialisations}/withoutConfigValidation/bin/switch-to-configuration test')
+
machine.wait_for_unit("envoy.service")
+
machine.wait_for_open_port(80)
+
machine.wait_until_succeeds("curl -fsS localhost:80/ready")
+
machine.succeed('test -f /var/log/envoy/access.log')
+
'';
+
}