anchor.diff:        nodes.client2 = node "192.168.1.2";
         testScript = { ... }:
           ''
  -          startAll;
  -
  -          # Wait for networking to come up
  -          $client1->waitForUnit("network.target");
  -          $client2->waitForUnit("network.target");
  -
  -          # Test bonding
  -          $client1->waitUntilSucceeds("ping -c 2 192.168.1.1");
  -          $client1->waitUntilSucceeds("ping -c 2 192.168.1.2");
  -
  -          $client2->waitUntilSucceeds("ping -c 2 192.168.1.1");
  -          $client2->waitUntilSucceeds("ping -c 2 192.168.1.2");
  +          start_all()
  +
  +          with subtest("Wait for networking to come up"):
  +              client1.wait_for_unit("network.target")
  +              client2.wait_for_unit("network.target")
  +
  +          with subtest("Test bonding"):
  +              client1.wait_until_succeeds("ping -c 2 192.168.1.1")
  +              client1.wait_until_succeeds("ping -c 2 192.168.1.2")
  +
  +              client2.wait_until_succeeds("ping -c 2 192.168.1.1")
  +              client2.wait_until_succeeds("ping -c 2 192.168.1.2")
           '';
       };
       bridge = let
  
positive.code:       };
  
        testScript = ''
          my $targetList = <<'END';
          tap0: tap persist user 0
          tun0: tun persist user 0
          END
  
          # Wait for networking to come up
          $machine->start;
          $machine->waitForUnit("network-online.target");
  
          # Test interfaces set up
          my $list = $machine->succeed("ip tuntap list | sort");
          "$list" eq "$targetList" or die(
            "The list of virtual interfaces does not match the expected one:\n",
            "Result:\n", "$list\n",
            "Expected:\n", "$targetList\n"
          );
  
          # Test interfaces clean up
          $machine->succeed("systemctl stop network-addresses-tap0");
          $machine->sleep(10);
          $machine->succeed("systemctl stop network-addresses-tun0");
          $machine->sleep(10);
          my $residue = $machine->succeed("ip tuntap list");
          $residue eq "" or die(
            "Some virtual interface has not been properly cleaned:\n",
            "$residue\n"
          );
        '';
      };
      privacy = {
  
negative.code:       nodes.client2 = node "192.168.1.2";
        testScript = { ... }:
          ''
            start_all()
  
            with subtest("Wait for networking to be configured"):
                client1.wait_for_unit("network.target")
                client2.wait_for_unit("network.target")
  
            with subtest("Test vlan is setup"):
                client1.succeed("ip addr show dev vlan >&2")
                client2.succeed("ip addr show dev vlan >&2")
          '';
      };
      virtual = {
  