summaryrefslogtreecommitdiffstats
path: root/nixos/tests/containers-physical_interfaces.nix
diff options
context:
space:
mode:
authorMartin Milata <martin@martinmilata.cz>2019-12-01 02:29:24 +0100
committerMartin Milata <martin@martinmilata.cz>2019-12-08 18:16:01 +0100
commit6fbb76cf7664aa12170ba77b17687c759a860506 (patch)
tree7cad6e6253d02bea27e8010c85920b07ee6c543a /nixos/tests/containers-physical_interfaces.nix
parentcf5ec7ac6e9741e1ee3e0b2aa428fad83becbd73 (diff)
nixosTests.containers*: port rest to python
Diffstat (limited to 'nixos/tests/containers-physical_interfaces.nix')
-rw-r--r--nixos/tests/containers-physical_interfaces.nix91
1 files changed, 47 insertions, 44 deletions
diff --git a/nixos/tests/containers-physical_interfaces.nix b/nixos/tests/containers-physical_interfaces.nix
index 1e312f59f437..e800751a23c2 100644
--- a/nixos/tests/containers-physical_interfaces.nix
+++ b/nixos/tests/containers-physical_interfaces.nix
@@ -1,5 +1,5 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
name = "containers-physical_interfaces";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ kampfschlaefer ];
@@ -86,48 +86,51 @@ import ./make-test.nix ({ pkgs, ...} : {
};
testScript = ''
- startAll;
-
- subtest "prepare server", sub {
- $server->waitForUnit("default.target");
- $server->succeed("ip link show dev eth1 >&2");
- };
-
- subtest "simple physical interface", sub {
- $server->succeed("nixos-container start server");
- $server->waitForUnit("container\@server");
- $server->succeed("systemctl -M server list-dependencies network-addresses-eth1.service >&2");
-
- # The other tests will ping this container on its ip. Here we just check
- # that the device is present in the container.
- $server->succeed("nixos-container run server -- ip a show dev eth1 >&2");
- };
-
- subtest "physical device in bridge in container", sub {
- $bridged->waitForUnit("default.target");
- $bridged->succeed("nixos-container start bridged");
- $bridged->waitForUnit("container\@bridged");
- $bridged->succeed("systemctl -M bridged list-dependencies network-addresses-br0.service >&2");
- $bridged->succeed("systemctl -M bridged status -n 30 -l network-addresses-br0.service");
- $bridged->succeed("nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1");
- };
-
- subtest "physical device in bond in container", sub {
- $bonded->waitForUnit("default.target");
- $bonded->succeed("nixos-container start bonded");
- $bonded->waitForUnit("container\@bonded");
- $bonded->succeed("systemctl -M bonded list-dependencies network-addresses-bond0 >&2");
- $bonded->succeed("systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2");
- $bonded->succeed("nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1");
- };
-
- subtest "physical device in bond in bridge in container", sub {
- $bridgedbond->waitForUnit("default.target");
- $bridgedbond->succeed("nixos-container start bridgedbond");
- $bridgedbond->waitForUnit("container\@bridgedbond");
- $bridgedbond->succeed("systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2");
- $bridgedbond->succeed("systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service");
- $bridgedbond->succeed("nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1");
- };
+ start_all()
+
+ with subtest("Prepare server"):
+ server.wait_for_unit("default.target")
+ server.succeed("ip link show dev eth1 >&2")
+
+ with subtest("Simple physical interface is up"):
+ server.succeed("nixos-container start server")
+ server.wait_for_unit("container@server")
+ server.succeed(
+ "systemctl -M server list-dependencies network-addresses-eth1.service >&2"
+ )
+
+ # The other tests will ping this container on its ip. Here we just check
+ # that the device is present in the container.
+ server.succeed("nixos-container run server -- ip a show dev eth1 >&2")
+
+ with subtest("Physical device in bridge in container can ping server"):
+ bridged.wait_for_unit("default.target")
+ bridged.succeed("nixos-container start bridged")
+ bridged.wait_for_unit("container@bridged")
+ bridged.succeed(
+ "systemctl -M bridged list-dependencies network-addresses-br0.service >&2",
+ "systemctl -M bridged status -n 30 -l network-addresses-br0.service",
+ "nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1",
+ )
+
+ with subtest("Physical device in bond in container can ping server"):
+ bonded.wait_for_unit("default.target")
+ bonded.succeed("nixos-container start bonded")
+ bonded.wait_for_unit("container@bonded")
+ bonded.succeed(
+ "systemctl -M bonded list-dependencies network-addresses-bond0 >&2",
+ "systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2",
+ "nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1",
+ )
+
+ with subtest("Physical device in bond in bridge in container can ping server"):
+ bridgedbond.wait_for_unit("default.target")
+ bridgedbond.succeed("nixos-container start bridgedbond")
+ bridgedbond.wait_for_unit("container@bridgedbond")
+ bridgedbond.succeed(
+ "systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2",
+ "systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service",
+ "nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1",
+ )
'';
})