aboutsummaryrefslogtreecommitdiff
path: root/nixos/tests/containers-extra_veth.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-extra_veth.nix
parentcf5ec7ac6e9741e1ee3e0b2aa428fad83becbd73 (diff)
nixosTests.containers*: port rest to python
Diffstat (limited to 'nixos/tests/containers-extra_veth.nix')
-rw-r--r--nixos/tests/containers-extra_veth.nix71
1 files changed, 31 insertions, 40 deletions
diff --git a/nixos/tests/containers-extra_veth.nix b/nixos/tests/containers-extra_veth.nix
index b3d3bce87579..7d30b3f76cd7 100644
--- a/nixos/tests/containers-extra_veth.nix
+++ b/nixos/tests/containers-extra_veth.nix
@@ -1,7 +1,7 @@
# Test for NixOS' container support.
-import ./make-test.nix ({ pkgs, ...} : {
- name = "containers-bridge";
+import ./make-test-python.nix ({ pkgs, ...} : {
+ name = "containers-extra_veth";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ kampfschlaefer ];
};
@@ -52,52 +52,43 @@ import ./make-test.nix ({ pkgs, ...} : {
testScript =
''
- $machine->waitForUnit("default.target");
- $machine->succeed("nixos-container list") =~ /webserver/ or die;
+ machine.wait_for_unit("default.target")
+ assert "webserver" in machine.succeed("nixos-container list")
- # Status of the webserver container.
- $machine->succeed("nixos-container status webserver") =~ /up/ or die;
+ with subtest("Status of the webserver container is up"):
+ assert "up" in machine.succeed("nixos-container status webserver")
- # Debug
- #$machine->succeed("nixos-container run webserver -- ip link >&2");
+ with subtest("Ensure that the veths are inside the container"):
+ assert "state UP" in machine.succeed(
+ "nixos-container run webserver -- ip link show veth1"
+ )
+ assert "state UP" in machine.succeed(
+ "nixos-container run webserver -- ip link show veth2"
+ )
- # Ensure that the veths are inside the container
- $machine->succeed("nixos-container run webserver -- ip link show veth1") =~ /state UP/ or die;
- $machine->succeed("nixos-container run webserver -- ip link show veth2") =~ /state UP/ or die;
+ with subtest("Ensure the presence of the extra veths"):
+ assert "state UP" in machine.succeed("ip link show veth1")
+ assert "state UP" in machine.succeed("ip link show veth2")
- # Debug
- #$machine->succeed("ip link >&2");
+ with subtest("Ensure the veth1 is part of br1 on the host"):
+ assert "master br1" in machine.succeed("ip link show veth1")
- # Ensure the presence of the extra veths
- $machine->succeed("ip link show veth1") =~ /state UP/ or die;
- $machine->succeed("ip link show veth2") =~ /state UP/ or die;
+ with subtest("Ping on main veth"):
+ machine.succeed("ping -n -c 1 192.168.0.100")
+ machine.succeed("ping -n -c 1 fc00::2")
- # Ensure the veth1 is part of br1 on the host
- $machine->succeed("ip link show veth1") =~ /master br1/ or die;
+ with subtest("Ping on the first extra veth"):
+ machine.succeed("ping -n -c 1 192.168.1.100 >&2")
- # Debug
- #$machine->succeed("ip -4 a >&2");
- #$machine->succeed("ip -4 r >&2");
- #$machine->succeed("nixos-container run webserver -- ip link >&2");
- #$machine->succeed("nixos-container run webserver -- ip -4 a >&2");
- #$machine->succeed("nixos-container run webserver -- ip -4 r >&2");
+ with subtest("Ping on the second extra veth"):
+ machine.succeed("ping -n -c 1 192.168.2.100 >&2")
- # Ping on main veth
- $machine->succeed("ping -n -c 1 192.168.0.100");
- $machine->succeed("ping -n -c 1 fc00::2");
+ with subtest("Container can be stopped"):
+ machine.succeed("nixos-container stop webserver")
+ machine.fail("ping -n -c 1 192.168.1.100 >&2")
+ machine.fail("ping -n -c 1 192.168.2.100 >&2")
- # Ping on the first extra veth
- $machine->succeed("ping -n -c 1 192.168.1.100 >&2");
-
- # Ping on the second extra veth
- $machine->succeed("ping -n -c 1 192.168.2.100 >&2");
-
- # Stop the container.
- $machine->succeed("nixos-container stop webserver");
- $machine->fail("ping -n -c 1 192.168.1.100 >&2");
- $machine->fail("ping -n -c 1 192.168.2.100 >&2");
-
- # Destroying a declarative container should fail.
- $machine->fail("nixos-container destroy webserver");
+ with subtest("Destroying a declarative container should fail"):
+ machine.fail("nixos-container destroy webserver")
'';
})