From fe2d0f488d44cac9af1684c9cccd278da587fb5c Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sat, 6 Sep 2025 11:55:15 +0200 Subject: [PATCH] test/case: simplify AsciiDoc image references This commit greatly simplifies AsciiDoc image references in generated Readme.adoc files. The two focused use-cases that remain after this change are working references in: - Generated output/images/test-report.pdf - Viewing test's Readme.adoc from GitHub Previously we aimed to have working images also when the test's Readme was included in the parent directory's Readme.adoc. This, however, is not supported as of this commit. It seems unlikely also to ever be a supported feature of AsciiDoc on GitHub, for details, see the following issue: Signed-off-by: Joachim Wiberg --- test/case/ietf_hardware/usb/usb.adoc | 19 ++---- .../usb_two_ports/usb_two_ports.adoc | 19 ++---- test/case/ietf_interfaces/bridge.yaml | 3 + .../bridge_basic/bridge_basic.adoc | 19 ++---- .../bridge_fwd_dual_dut.adoc | 19 ++---- .../bridge_fwd_sgl_dut.adoc | 19 ++---- .../bridge_stp_basic/bridge_stp_basic.adoc | 19 ++---- .../bridge_veth/bridge_veth.adoc | 19 ++---- .../bridge_vlan/bridge_vlan.adoc | 31 ++-------- test/case/ietf_interfaces/bridge_vlan/test.py | 2 +- .../bridge_vlan_separation.adoc | 19 ++---- .../dual_bridge/dual_bridge.adoc | 22 +++---- test/case/ietf_interfaces/dual_bridge/test.py | 9 ++- .../iface_enable_disable.adoc | 19 ++---- .../iface_phys_address.adoc | 19 ++---- .../case/ietf_interfaces/ifalias/ifalias.adoc | 19 ++---- .../igmp_basic/igmp_basic.adoc | 19 ++---- .../ietf_interfaces/igmp_vlan/igmp_vlan.adoc | 19 ++---- .../ipv4_address/ipv4_address.adoc | 19 ++---- .../ipv4_autoconf/ipv4_autoconf.adoc | 19 ++---- .../ipv6_address/ipv6_address.adoc | 19 ++---- .../ietf_interfaces/lag_basic/lag_basic.adoc | 31 ++-------- test/case/ietf_interfaces/lag_basic/test.py | 2 +- .../lag_failure/lag_failure.adoc | 31 ++-------- test/case/ietf_interfaces/lag_failure/test.py | 2 +- .../routing_basic/routing_basic.adoc | 19 ++---- .../speed_duplex_copper.adoc | 19 ++---- .../static_multicast_filters.adoc | 19 ++---- .../ietf_interfaces/tunnel_basic/Readme.adoc | 4 ++ .../tunnel_basic/gre_basic.adoc | 19 ++---- .../tunnel_basic/gretap_basic.adoc | 19 ++---- .../tunnel_basic/vxlan_basic.adoc | 19 ++---- .../tunnel_bridged/Readme.adoc | 2 + .../tunnel_bridged/gretap_bridged.adoc | 19 ++---- .../tunnel_bridged/vxlan_bridged.adoc | 19 ++---- .../verify_all_interface_types.adoc | 19 ++---- .../veth_delete/veth_delete.adoc | 19 ++---- .../vlan_iface_termination.adoc | 19 ++---- .../ietf_interfaces/vlan_ping/vlan_ping.adoc | 19 ++---- .../ietf_interfaces/vlan_qos/vlan_qos.adoc | 19 ++---- .../ietf_routing/ospf_basic/ospf_basic.adoc | 19 ++---- test/case/ietf_routing/ospf_bfd/ospf_bfd.adoc | 19 ++---- .../ospf_default_route_advertise.adoc | 19 ++---- .../ospf_multiarea/ospf_multiarea.adoc | 19 ++---- .../ospf_unnumbered_interface.adoc | 19 ++---- .../route_pref_255/route_pref_255.adoc | 19 ++---- .../route_pref_dhcp/route_pref_dhcp.adoc | 19 ++---- .../route_pref_ospf/route_pref_ospf.adoc | 19 ++---- .../static_routing/static_routing.adoc | 19 ++---- test/case/ietf_syslog/basic/basic.adoc | 19 ++---- test/case/ietf_syslog/remote/remote.adoc | 19 ++---- .../add_delete_user/add_delete_user.adoc | 19 ++---- test/case/ietf_system/hostname/hostname.adoc | 19 ++---- .../ietf_system/ntp_client/ntp_client.adoc | 19 ++---- test/case/ietf_system/timezone/timezone.adoc | 19 ++---- .../timezone_utc_offset.adoc | 19 ++---- test/case/ietf_system/upgrade/upgrade.adoc | 19 ++---- .../ietf_system/user_admin/user_admin.adoc | 19 ++---- .../container_basic/container_basic.adoc | 19 ++---- .../container_bridge/container_bridge.adoc | 19 ++---- .../container_enabled/container_enabled.adoc | 20 ++----- .../container_environment.adoc | 35 ++++------- .../container_firewall_basic.adoc | 19 ++---- .../container_host_commands.adoc | 19 ++---- .../container_phys/container_phys.adoc | 19 ++---- .../container_veth/container_veth.adoc | 19 ++---- .../container_volume/container_volume.adoc | 19 ++---- .../infix_dhcp/client_basic/client_basic.adoc | 19 ++---- .../infix_dhcp/client_basic/dhcp_basic.adoc | 25 -------- .../client_default_gw/client_default_gw.adoc | 19 ++---- .../client_routes/client_routes.adoc | 19 ++---- .../infix_dhcp/server_basic/server_basic.adoc | 19 ++---- .../infix_dhcp/server_host/server_host.adoc | 19 ++---- .../server_subnets/server_subnets.adoc | 31 ++-------- test/case/infix_dhcp/server_subnets/test.py | 2 +- .../lldp_admin_status/lldp_admin_status.adoc | 19 ++---- .../lldp_enable_disable.adoc | 19 ++---- .../lldp_ieee_group_forward.adoc | 19 ++---- .../mdns/mdns_allow_deny/mdns_allow_deny.adoc | 19 ++---- .../mdns_enable_disable.adoc | 19 ++---- .../ssh_key_authentication.adoc | 19 ++---- .../ssh_server_config/ssh_server_config.adoc | 19 ++---- .../misc/operational_all/operational_all.adoc | 19 ++---- .../ospf_container/ospf_container.adoc | 39 ++---------- test/spec/generate_spec.py | 60 ++++++------------- 85 files changed, 421 insertions(+), 1203 deletions(-) delete mode 100644 test/case/infix_dhcp/client_basic/dhcp_basic.adoc diff --git a/test/case/ietf_hardware/usb/usb.adoc b/test/case/ietf_hardware/usb/usb.adoc index 67fe2468..6b5b0ebc 100644 --- a/test/case/ietf_hardware/usb/usb.adoc +++ b/test/case/ietf_hardware/usb/usb.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_hardware/usb] + === USB configuration ==== Description This test checks if the configuration is consistent with hardware state, @@ -11,18 +13,9 @@ If this pass you can be certain that the configuration of the USB port is handled correctly. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_hardware/usb/topology.svg[USB configuration topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::usb/topology.svg[USB configuration topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[USB configuration topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[USB configuration topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Unlock all USB ports . Verify that all USB ports are unlocked @@ -36,5 +29,3 @@ endif::topdoc[] . Verify USB port remain unlocked after reboot -<<< - diff --git a/test/case/ietf_hardware/usb_two_ports/usb_two_ports.adoc b/test/case/ietf_hardware/usb_two_ports/usb_two_ports.adoc index 74584330..49fbf02e 100644 --- a/test/case/ietf_hardware/usb_two_ports/usb_two_ports.adoc +++ b/test/case/ietf_hardware/usb_two_ports/usb_two_ports.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_hardware/usb_two_ports] + === USB configuration with two USB ports ==== Description Test that the USB locked/unlocked configuration is consistent when having two USB ports. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_hardware/usb_two_ports/topology.svg[USB configuration with two USB ports topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::usb_two_ports/topology.svg[USB configuration with two USB ports topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[USB configuration with two USB ports topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[USB configuration with two USB ports topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Lock the first USB port and unlock the second USB port . Verify that the correct port is locked and the correct one is unlocked @@ -23,5 +16,3 @@ endif::topdoc[] . Verify that the correct port is locked and the correct one is unlocked -<<< - diff --git a/test/case/ietf_interfaces/bridge.yaml b/test/case/ietf_interfaces/bridge.yaml index 7d28f375..0eb215b7 100644 --- a/test/case/ietf_interfaces/bridge.yaml +++ b/test/case/ietf_interfaces/bridge.yaml @@ -15,6 +15,9 @@ - name: bridge_basic case: bridge_basic/test.py +- name: dual_bridge + case: dual_bridge/test.py + - name: bridge_veth case: bridge_veth/test.py diff --git a/test/case/ietf_interfaces/bridge_basic/bridge_basic.adoc b/test/case/ietf_interfaces/bridge_basic/bridge_basic.adoc index a9851ece..ebb51830 100644 --- a/test/case/ietf_interfaces/bridge_basic/bridge_basic.adoc +++ b/test/case/ietf_interfaces/bridge_basic/bridge_basic.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_basic] + === Bridge basic ==== Description Test basic connectivity to a bridge @@ -11,22 +13,11 @@ Test basic connectivity to a bridge .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/bridge_basic/topology.svg[Bridge basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::bridge_basic/topology.svg[Bridge basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Bridge basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Bridge basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure single bridge with a single physical port, bridge @ IP 10.0.0.2 . Verify ping 10.0.0.2 is possible from host:data -<<< - diff --git a/test/case/ietf_interfaces/bridge_fwd_dual_dut/bridge_fwd_dual_dut.adoc b/test/case/ietf_interfaces/bridge_fwd_dual_dut/bridge_fwd_dual_dut.adoc index ec99b4fb..5bf4755f 100644 --- a/test/case/ietf_interfaces/bridge_fwd_dual_dut/bridge_fwd_dual_dut.adoc +++ b/test/case/ietf_interfaces/bridge_fwd_dual_dut/bridge_fwd_dual_dut.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_fwd_dual_dut] + === Bridge forwarding dual DUTs ==== Description Ping through two bridges on two different DUTs. @@ -23,22 +25,11 @@ Ping through two bridges on two different DUTs. .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/bridge_fwd_dual_dut/topology.svg[Bridge forwarding dual DUTs topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::bridge_fwd_dual_dut/topology.svg[Bridge forwarding dual DUTs topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Bridge forwarding dual DUTs topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Bridge forwarding dual DUTs topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure a bridge with triple physical port . Verify ping 10.0.0.3 and 10.0.0.4 from host:data11 -<<< - diff --git a/test/case/ietf_interfaces/bridge_fwd_sgl_dut/bridge_fwd_sgl_dut.adoc b/test/case/ietf_interfaces/bridge_fwd_sgl_dut/bridge_fwd_sgl_dut.adoc index a54fc271..10a64222 100644 --- a/test/case/ietf_interfaces/bridge_fwd_sgl_dut/bridge_fwd_sgl_dut.adoc +++ b/test/case/ietf_interfaces/bridge_fwd_sgl_dut/bridge_fwd_sgl_dut.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_fwd_sgl_dut] + === Bridge forwarding single DUTs ==== Description Tests forwarding through a DUT with two bridged interfaces on one DUT. @@ -23,22 +25,11 @@ Tests forwarding through a DUT with two bridged interfaces on one DUT. .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/bridge_fwd_sgl_dut/topology.svg[Bridge forwarding single DUTs topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::bridge_fwd_sgl_dut/topology.svg[Bridge forwarding single DUTs topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Bridge forwarding single DUTs topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Bridge forwarding single DUTs topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure a bridge with dual physical port . Verify ping from host:data1 to 10.0.0.2 -<<< - diff --git a/test/case/ietf_interfaces/bridge_stp_basic/bridge_stp_basic.adoc b/test/case/ietf_interfaces/bridge_stp_basic/bridge_stp_basic.adoc index bcbde6d5..a217fc8a 100644 --- a/test/case/ietf_interfaces/bridge_stp_basic/bridge_stp_basic.adoc +++ b/test/case/ietf_interfaces/bridge_stp_basic/bridge_stp_basic.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_stp_basic] + === Bridge STP Basic ==== Description First, verify that a fully connected mesh of 4 DUTs is pruned to a @@ -12,18 +14,9 @@ that a spanning tree rooted at A is formed, with B, C, and D all directly connected to A. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/bridge_stp_basic/topology.svg[Bridge STP Basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::bridge_stp_basic/topology.svg[Bridge STP Basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Bridge STP Basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Bridge STP Basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure a bridge with spanning tree eneabled on dut a, b, c, and d . Add an IP address to each host interface in the 10.0.0.0/24 subnet @@ -35,5 +28,3 @@ endif::topdoc[] . Verify that host:a can reach host:{b,c,d} -<<< - diff --git a/test/case/ietf_interfaces/bridge_veth/bridge_veth.adoc b/test/case/ietf_interfaces/bridge_veth/bridge_veth.adoc index 935e2aa8..cb2c82d7 100644 --- a/test/case/ietf_interfaces/bridge_veth/bridge_veth.adoc +++ b/test/case/ietf_interfaces/bridge_veth/bridge_veth.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_veth] + === Bridge with a physical port and a veth ==== Description This tests the possibility to add software added interfaces, in this case @@ -13,22 +15,11 @@ PING --> br0 .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/bridge_veth/topology.svg[Bridge with a physical port and a veth topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::bridge_veth/topology.svg[Bridge with a physical port and a veth topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Bridge with a physical port and a veth topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Bridge with a physical port and a veth topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure bridged eth port and veth pair with IP 10.0.0.2 . Verify ping from host:data to 10.0.0.2 -<<< - diff --git a/test/case/ietf_interfaces/bridge_vlan/bridge_vlan.adoc b/test/case/ietf_interfaces/bridge_vlan/bridge_vlan.adoc index 913f75e5..71fee0ae 100644 --- a/test/case/ietf_interfaces/bridge_vlan/bridge_vlan.adoc +++ b/test/case/ietf_interfaces/bridge_vlan/bridge_vlan.adoc @@ -1,38 +1,19 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_vlan] + === Bridge VLAN ==== Description Verify VLAN filtering bridge, with a VLAN trunk to a neighboring device, which in turn untags one VLAN outisde a non-VLAN filtering bridge. .Logical network setup -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/bridge_vlan/bridge-vlan.svg[] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::bridge_vlan/bridge-vlan.svg[] -endif::testgroup[] -ifndef::testgroup[] -image::bridge-vlan.svg[] -endif::testgroup[] -endif::topdoc[] +image::bridge-vlan.svg[align=center, scaledwidth=75%] ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/bridge_vlan/topology.svg[Bridge VLAN topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::bridge_vlan/topology.svg[Bridge VLAN topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Bridge VLAN topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Bridge VLAN topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure DUTs . Verify ping from host:data to 10.0.0.2 and 10.0.0.3 -<<< - diff --git a/test/case/ietf_interfaces/bridge_vlan/test.py b/test/case/ietf_interfaces/bridge_vlan/test.py index 5a2e58c4..d722ff0e 100755 --- a/test/case/ietf_interfaces/bridge_vlan/test.py +++ b/test/case/ietf_interfaces/bridge_vlan/test.py @@ -6,7 +6,7 @@ Verify VLAN filtering bridge, with a VLAN trunk to a neighboring device, which in turn untags one VLAN outisde a non-VLAN filtering bridge. .Logical network setup -image::bridge-vlan.svg[] +image::bridge-vlan.svg[align=center, scaledwidth=75%] """ import infamy diff --git a/test/case/ietf_interfaces/bridge_vlan_separation/bridge_vlan_separation.adoc b/test/case/ietf_interfaces/bridge_vlan_separation/bridge_vlan_separation.adoc index 2d3816c9..d3120cc3 100644 --- a/test/case/ietf_interfaces/bridge_vlan_separation/bridge_vlan_separation.adoc +++ b/test/case/ietf_interfaces/bridge_vlan_separation/bridge_vlan_separation.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/bridge_vlan_separation] + === Bridge VLAN separation ==== Description Test that two VLANs are correctly separated in the bridge @@ -22,18 +24,9 @@ Test that two VLANs are correctly separated in the bridge .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/bridge_vlan_separation/topology.svg[Bridge VLAN separation topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::bridge_vlan_separation/topology.svg[Bridge VLAN separation topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Bridge VLAN separation topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Bridge VLAN separation topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure DUTs . Verify ping 10.0.0.3 from host:data10 @@ -45,5 +38,3 @@ endif::topdoc[] . Verify broadcast is NOT received on host:data11 and host:data21 -<<< - diff --git a/test/case/ietf_interfaces/dual_bridge/dual_bridge.adoc b/test/case/ietf_interfaces/dual_bridge/dual_bridge.adoc index 00d08f40..e66019af 100644 --- a/test/case/ietf_interfaces/dual_bridge/dual_bridge.adoc +++ b/test/case/ietf_interfaces/dual_bridge/dual_bridge.adoc @@ -1,6 +1,9 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/dual_bridge] + === Dual bridges on one device ==== Description -Verify that it is possible to ping through a bridge to another bridge via VETH interfaces. +Verify that it is possible to ping through a bridge to another bridge +via a VETH pair connected to both. .... PING --> br0 br1 10.0.0.2 @@ -9,22 +12,11 @@ PC - target:data veth0a - veth0b .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/dual_bridge/topology.svg[Dual bridges on one device topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::dual_bridge/topology.svg[Dual bridges on one device topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Dual bridges on one device topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Dual bridges on one device topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure two bridges linked and a veth pair . Verify ping from host:data to 10.0.0.2 -<<< - diff --git a/test/case/ietf_interfaces/dual_bridge/test.py b/test/case/ietf_interfaces/dual_bridge/test.py index 93cbdfa7..49782c27 100755 --- a/test/case/ietf_interfaces/dual_bridge/test.py +++ b/test/case/ietf_interfaces/dual_bridge/test.py @@ -1,16 +1,15 @@ #!/usr/bin/env python3 -# +"""Dual bridges on one device -""" -Dual bridges on one device - -Verify that it is possible to ping through a bridge to another bridge via VETH interfaces. +Verify that it is possible to ping through a bridge to another bridge +via a VETH pair connected to both. .... PING --> br0 br1 10.0.0.2 / \\ / PC - target:data veth0a - veth0b .... + """ import infamy diff --git a/test/case/ietf_interfaces/iface_enable_disable/iface_enable_disable.adoc b/test/case/ietf_interfaces/iface_enable_disable/iface_enable_disable.adoc index 7b76870c..b88560bd 100644 --- a/test/case/ietf_interfaces/iface_enable_disable/iface_enable_disable.adoc +++ b/test/case/ietf_interfaces/iface_enable_disable/iface_enable_disable.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/iface_enable_disable] + === Interface status ==== Description Verify interface status properly propagate changes when an interface @@ -6,18 +8,9 @@ is disabled and then re-enabled. Both admin-status and oper-status are verified. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/iface_enable_disable/topology.svg[Interface status topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::iface_enable_disable/topology.svg[Interface status topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Interface status topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Interface status topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure bridge and associated interfaces in target1 . Disable interface in target2 @@ -27,5 +20,3 @@ endif::topdoc[] . Verify it is possible to ping the interface -<<< - diff --git a/test/case/ietf_interfaces/iface_phys_address/iface_phys_address.adoc b/test/case/ietf_interfaces/iface_phys_address/iface_phys_address.adoc index de35542d..1e982623 100644 --- a/test/case/ietf_interfaces/iface_phys_address/iface_phys_address.adoc +++ b/test/case/ietf_interfaces/iface_phys_address/iface_phys_address.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/iface_phys_address] + === Custom MAC address on interface ==== Description Verify support for setting and removing a custom MAC address on interfaces. @@ -5,18 +7,9 @@ Both static MAC address and derived from the chassis MAC with, or without, an offset applied. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/iface_phys_address/topology.svg[Custom MAC address on interface topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::iface_phys_address/topology.svg[Custom MAC address on interface topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Custom MAC address on interface topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Custom MAC address on interface topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set target:data static MAC address '02:01:00:c0:ff:ee' . Verify target:data has MAC address '02:01:00:c0:ff:ee' @@ -30,5 +23,3 @@ endif::topdoc[] . Verify target:data MAC address is reset to default -<<< - diff --git a/test/case/ietf_interfaces/ifalias/ifalias.adoc b/test/case/ietf_interfaces/ifalias/ifalias.adoc index 6fa679e9..e00264df 100644 --- a/test/case/ietf_interfaces/ifalias/ifalias.adoc +++ b/test/case/ietf_interfaces/ifalias/ifalias.adoc @@ -1,25 +1,16 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/ifalias] + === Interface Description (ifAlias) ==== Description Verify interface description (ifAlias) can be set on an interface and then be read back from the operational datastore. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/ifalias/topology.svg[Interface Description (ifAlias) topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ifalias/topology.svg[Interface Description (ifAlias) topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Interface Description (ifAlias) topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Interface Description (ifAlias) topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set up interface target:data with description . Verify description can be read back from operational -<<< - diff --git a/test/case/ietf_interfaces/igmp_basic/igmp_basic.adoc b/test/case/ietf_interfaces/igmp_basic/igmp_basic.adoc index ce8554c8..56e41145 100644 --- a/test/case/ietf_interfaces/igmp_basic/igmp_basic.adoc +++ b/test/case/ietf_interfaces/igmp_basic/igmp_basic.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/igmp_basic] + === IGMP basic ==== Description Verify that all multicast get flooded when no IGMP join exists in the system and @@ -17,18 +19,9 @@ the flooding stops as soon a join arrives HOST ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/igmp_basic/topology.svg[IGMP basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::igmp_basic/topology.svg[IGMP basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[IGMP basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[IGMP basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure device . Start multicast sender on host:data0, group 224.1.1.1 @@ -38,5 +31,3 @@ endif::topdoc[] . Verify that the group 224.1.1.1 is no longer received on host:data3 -<<< - diff --git a/test/case/ietf_interfaces/igmp_vlan/igmp_vlan.adoc b/test/case/ietf_interfaces/igmp_vlan/igmp_vlan.adoc index 230f2ece..6cfa8056 100644 --- a/test/case/ietf_interfaces/igmp_vlan/igmp_vlan.adoc +++ b/test/case/ietf_interfaces/igmp_vlan/igmp_vlan.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/igmp_vlan] + === IGMP VLAN ==== Description Test tagged IGMP control traffic and that VLAN separation is respected for multicast @@ -20,18 +22,9 @@ Test tagged IGMP control traffic and that VLAN separation is respected for multi .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/igmp_vlan/topology.svg[IGMP VLAN topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::igmp_vlan/topology.svg[IGMP VLAN topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[IGMP VLAN topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[IGMP VLAN topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure device . Start multicast sender on host:data11, group 224.2.2.2 @@ -45,5 +38,3 @@ endif::topdoc[] . Verify group 224.1.1.1 is forwarded to host:data12 -<<< - diff --git a/test/case/ietf_interfaces/ipv4_address/ipv4_address.adoc b/test/case/ietf_interfaces/ipv4_address/ipv4_address.adoc index 4e75f8d0..a28556c6 100644 --- a/test/case/ietf_interfaces/ipv4_address/ipv4_address.adoc +++ b/test/case/ietf_interfaces/ipv4_address/ipv4_address.adoc @@ -1,20 +1,13 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/ipv4_address] + === Interface with IPv4 ==== Description Test that it is possible to set and remove the IPv4 address on an interface ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/ipv4_address/topology.svg[Interface with IPv4 topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ipv4_address/topology.svg[Interface with IPv4 topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Interface with IPv4 topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Interface with IPv4 topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure IPv4 address 10.10.10.20/24 on target:mgmt . Verify '10.10.10.20/24' exists on target:mgmt @@ -22,5 +15,3 @@ endif::topdoc[] . Verify target:mgmt no longer has the address 10.10.10.20 -<<< - diff --git a/test/case/ietf_interfaces/ipv4_autoconf/ipv4_autoconf.adoc b/test/case/ietf_interfaces/ipv4_autoconf/ipv4_autoconf.adoc index f64cc6de..3ee10250 100644 --- a/test/case/ietf_interfaces/ipv4_autoconf/ipv4_autoconf.adoc +++ b/test/case/ietf_interfaces/ipv4_autoconf/ipv4_autoconf.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/ipv4_autoconf] + === IPv4 link-local ==== Description Verifies that link-local (IPv4LL/ZeroConf) address assignment work as @@ -5,18 +7,9 @@ expected. Checks random address, the request-address setting, and address removal on autoconf disable. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/ipv4_autoconf/topology.svg[IPv4 link-local topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ipv4_autoconf/topology.svg[IPv4 link-local topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[IPv4 link-local topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[IPv4 link-local topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure interface target:data with IPv4 ZeroConf IP . Verify link-local address exist on target:data @@ -26,5 +19,3 @@ endif::topdoc[] . Verify link-local addresses has been removed from target:data -<<< - diff --git a/test/case/ietf_interfaces/ipv6_address/ipv6_address.adoc b/test/case/ietf_interfaces/ipv6_address/ipv6_address.adoc index 511e19ef..d2b7e021 100644 --- a/test/case/ietf_interfaces/ipv6_address/ipv6_address.adoc +++ b/test/case/ietf_interfaces/ipv6_address/ipv6_address.adoc @@ -1,25 +1,16 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/ipv6_address] + === Interface IPv6 autoconf for bridges ==== Description Verify IPv6 autoconf on a bridge is properly set up for global prefix. See issue #473 for details. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/ipv6_address/topology.svg[Interface IPv6 autoconf for bridges topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ipv6_address/topology.svg[Interface IPv6 autoconf for bridges topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Interface IPv6 autoconf for bridges topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Interface IPv6 autoconf for bridges topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Setting up bridge with IPv6 SLAAC for global prefix on target:data . Verify using sysctl that 'net.ipv6.conf.br0.autoconf' is 1 on target -<<< - diff --git a/test/case/ietf_interfaces/lag_basic/lag_basic.adoc b/test/case/ietf_interfaces/lag_basic/lag_basic.adoc index f5d73866..903b6ce7 100644 --- a/test/case/ietf_interfaces/lag_basic/lag_basic.adoc +++ b/test/case/ietf_interfaces/lag_basic/lag_basic.adoc @@ -1,37 +1,20 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/lag_basic] + === Ling Aggregation Basic ==== Description Verify communication over a link aggregate in static and LACP operating modes during basic failure scenarios. .Internal network setup, PC verifies connectivity with dut2 via dut1 -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/lag_basic/lag-basic.svg[Internal networks] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::lag_basic/lag-basic.svg[Internal networks] -endif::testgroup[] -ifndef::testgroup[] -image::lag-basic.svg[Internal networks] -endif::testgroup[] -endif::topdoc[] +image::lag-basic.svg[align=center, scaledwidth=75%] The host verifies connectivity with dut2 via dut1 over the aggregate for each test step using the `mon` interface. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/lag_basic/topology.svg[Ling Aggregation Basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::lag_basic/topology.svg[Ling Aggregation Basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Ling Aggregation Basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Ling Aggregation Basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Set up LACP link aggregate, lag0, on dut1 and dut2 . Verify failure modes for lacp mode @@ -39,5 +22,3 @@ endif::topdoc[] . Verify failure modes for static mode -<<< - diff --git a/test/case/ietf_interfaces/lag_basic/test.py b/test/case/ietf_interfaces/lag_basic/test.py index 7bb01045..0e646462 100755 --- a/test/case/ietf_interfaces/lag_basic/test.py +++ b/test/case/ietf_interfaces/lag_basic/test.py @@ -5,7 +5,7 @@ Verify communication over a link aggregate in static and LACP operating modes during basic failure scenarios. .Internal network setup, PC verifies connectivity with dut2 via dut1 -image::lag-basic.svg[Internal networks] +image::lag-basic.svg[align=center, scaledwidth=75%] The host verifies connectivity with dut2 via dut1 over the aggregate for each test step using the `mon` interface. diff --git a/test/case/ietf_interfaces/lag_failure/lag_failure.adoc b/test/case/ietf_interfaces/lag_failure/lag_failure.adoc index c0caa57c..8e42e5e9 100644 --- a/test/case/ietf_interfaces/lag_failure/lag_failure.adoc +++ b/test/case/ietf_interfaces/lag_failure/lag_failure.adoc @@ -1,42 +1,23 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/lag_failure] + === LACP Aggregate w/ Degraded Link ==== Description Verify communication over an LACP link aggregate when individual member links stop forwarding traffic, without carrier loss. .Logical network setup, link breakers (lb1 & lb2) here managed by host PC -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/lag_failure/lag-failure.svg[] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::lag_failure/lag-failure.svg[] -endif::testgroup[] -ifndef::testgroup[] -image::lag-failure.svg[] -endif::testgroup[] -endif::topdoc[] +image::lag-failure.svg[align=center, scaledwidth=75%] The host verifies connectivity with dut2 via dut1 over the aggregate for each failure mode step using the `mon` interface. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/lag_failure/topology.svg[LACP Aggregate w/ Degraded Link topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::lag_failure/topology.svg[LACP Aggregate w/ Degraded Link topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[LACP Aggregate w/ Degraded Link topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[LACP Aggregate w/ Degraded Link topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Set up link aggregate, lag0, between dut1 and dut2 . Initial connectivity check ... . Verify failure modes -<<< - diff --git a/test/case/ietf_interfaces/lag_failure/test.py b/test/case/ietf_interfaces/lag_failure/test.py index a5ee002b..fa86381f 100755 --- a/test/case/ietf_interfaces/lag_failure/test.py +++ b/test/case/ietf_interfaces/lag_failure/test.py @@ -5,7 +5,7 @@ Verify communication over an LACP link aggregate when individual member links stop forwarding traffic, without carrier loss. .Logical network setup, link breakers (lb1 & lb2) here managed by host PC -image::lag-failure.svg[] +image::lag-failure.svg[align=center, scaledwidth=75%] The host verifies connectivity with dut2 via dut1 over the aggregate for each failure mode step using the `mon` interface. diff --git a/test/case/ietf_interfaces/routing_basic/routing_basic.adoc b/test/case/ietf_interfaces/routing_basic/routing_basic.adoc index 0e6179ec..aea73537 100644 --- a/test/case/ietf_interfaces/routing_basic/routing_basic.adoc +++ b/test/case/ietf_interfaces/routing_basic/routing_basic.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/routing_basic] + === Routing basic ==== Description Verify routing between interfaces is possible. That enable/disable routing in configuration has the expected result. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/routing_basic/topology.svg[Routing basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::routing_basic/topology.svg[Routing basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Routing basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Routing basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Setup host . Enable forwarding on target:data1 and target:data2 @@ -25,5 +18,3 @@ endif::topdoc[] . Verify ping does not work host:data1 to 10.0.0.10 and host:data2 to 192.168.0.10 -<<< - diff --git a/test/case/ietf_interfaces/speed_duplex_copper/speed_duplex_copper.adoc b/test/case/ietf_interfaces/speed_duplex_copper/speed_duplex_copper.adoc index 4e8d6c20..6b7c48f5 100644 --- a/test/case/ietf_interfaces/speed_duplex_copper/speed_duplex_copper.adoc +++ b/test/case/ietf_interfaces/speed_duplex_copper/speed_duplex_copper.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/speed_duplex_copper] + === Interface Speed Duplex (Copper) ==== Description Verify that the interface operates at the expected speed/duplex in two scenarios: @@ -7,18 +9,9 @@ Verify that the interface operates at the expected speed/duplex in two scenarios to the highest common speed/duplex. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/speed_duplex_copper/topology.svg[Interface Speed Duplex (Copper) topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::speed_duplex_copper/topology.svg[Interface Speed Duplex (Copper) topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Interface Speed Duplex (Copper) topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Interface Speed Duplex (Copper) topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Enable target interface . Verify fixed 10/full @@ -34,5 +27,3 @@ endif::topdoc[] . Verify auto-negotiation to 10/half + 10/full + 100/half + 100/full + 1000/full -<<< - diff --git a/test/case/ietf_interfaces/static_multicast_filters/static_multicast_filters.adoc b/test/case/ietf_interfaces/static_multicast_filters/static_multicast_filters.adoc index e0b3b694..e916fb9e 100644 --- a/test/case/ietf_interfaces/static_multicast_filters/static_multicast_filters.adoc +++ b/test/case/ietf_interfaces/static_multicast_filters/static_multicast_filters.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/static_multicast_filters] + === Static multicast filters ==== Description Verify that static multicast filters work (remember that snooping needs to @@ -19,18 +21,9 @@ enabled when using static multicast filters) .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/static_multicast_filters/topology.svg[Static multicast filters topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::static_multicast_filters/topology.svg[Static multicast filters topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Static multicast filters topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Static multicast filters topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure device without static filter . Start multicast sender on host:data1, group 224.1.1.1 @@ -45,5 +38,3 @@ endif::topdoc[] . Verify that the MAC group is no longer forwarded to host:data3 -<<< - diff --git a/test/case/ietf_interfaces/tunnel_basic/Readme.adoc b/test/case/ietf_interfaces/tunnel_basic/Readme.adoc index 79d3c027..5f0d3e9b 100644 --- a/test/case/ietf_interfaces/tunnel_basic/Readme.adoc +++ b/test/case/ietf_interfaces/tunnel_basic/Readme.adoc @@ -1,6 +1,10 @@ include::gre_basic.adoc[] +<<< + include::gretap_basic.adoc[] +<<< + include::vxlan_basic.adoc[] diff --git a/test/case/ietf_interfaces/tunnel_basic/gre_basic.adoc b/test/case/ietf_interfaces/tunnel_basic/gre_basic.adoc index c1ec9746..5daba855 100644 --- a/test/case/ietf_interfaces/tunnel_basic/gre_basic.adoc +++ b/test/case/ietf_interfaces/tunnel_basic/gre_basic.adoc @@ -1,26 +1,17 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_basic] + === GRE point-to-point ==== Description Test setting up gre tunnels using IPv4 and IPv6, and ends with a connectivity test. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/tunnel_basic/topology.svg[GRE point-to-point topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::tunnel_basic/topology.svg[GRE point-to-point topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[GRE point-to-point topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[GRE point-to-point topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure DUTs . Verify connectivity host:data to 10.0.0.2 . Verify connectivity host:data to 2001:db8::c0a8:0a02 -<<< - diff --git a/test/case/ietf_interfaces/tunnel_basic/gretap_basic.adoc b/test/case/ietf_interfaces/tunnel_basic/gretap_basic.adoc index 2ca105f6..3cfcf9ee 100644 --- a/test/case/ietf_interfaces/tunnel_basic/gretap_basic.adoc +++ b/test/case/ietf_interfaces/tunnel_basic/gretap_basic.adoc @@ -1,26 +1,17 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_basic] + === GRETAP point-to-point ==== Description Test setting up gretap tunnels using IPv4 and IPv6, and ends with a connectivity test. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/tunnel_basic/topology.svg[GRETAP point-to-point topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::tunnel_basic/topology.svg[GRETAP point-to-point topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[GRETAP point-to-point topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[GRETAP point-to-point topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure DUTs . Verify connectivity host:data to 10.0.0.2 . Verify connectivity host:data to 2001:db8::c0a8:0a02 -<<< - diff --git a/test/case/ietf_interfaces/tunnel_basic/vxlan_basic.adoc b/test/case/ietf_interfaces/tunnel_basic/vxlan_basic.adoc index b413c0e5..e4d2f720 100644 --- a/test/case/ietf_interfaces/tunnel_basic/vxlan_basic.adoc +++ b/test/case/ietf_interfaces/tunnel_basic/vxlan_basic.adoc @@ -1,26 +1,17 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_basic] + === VXLAN point-to-point ==== Description Test setting up vxlan tunnels using IPv4 and IPv6, and ends with a connectivity test. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/tunnel_basic/topology.svg[VXLAN point-to-point topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::tunnel_basic/topology.svg[VXLAN point-to-point topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[VXLAN point-to-point topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[VXLAN point-to-point topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure DUTs . Verify connectivity host:data to 10.0.0.2 . Verify connectivity host:data to 2001:db8::c0a8:0a02 -<<< - diff --git a/test/case/ietf_interfaces/tunnel_bridged/Readme.adoc b/test/case/ietf_interfaces/tunnel_bridged/Readme.adoc index cab52edf..894975a1 100644 --- a/test/case/ietf_interfaces/tunnel_bridged/Readme.adoc +++ b/test/case/ietf_interfaces/tunnel_bridged/Readme.adoc @@ -1,4 +1,6 @@ include::gretap_bridged.adoc[] +<<< + include::vxlan_bridged.adoc[] diff --git a/test/case/ietf_interfaces/tunnel_bridged/gretap_bridged.adoc b/test/case/ietf_interfaces/tunnel_bridged/gretap_bridged.adoc index 8b24dc12..6764f18b 100644 --- a/test/case/ietf_interfaces/tunnel_bridged/gretap_bridged.adoc +++ b/test/case/ietf_interfaces/tunnel_bridged/gretap_bridged.adoc @@ -1,24 +1,15 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_bridged] + === GRETAP bridged with physical interface ==== Description Test that gretap works as it should and that it possible to bridge it. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/tunnel_bridged/topology.svg[GRETAP bridged with physical interface topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::tunnel_bridged/topology.svg[GRETAP bridged with physical interface topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[GRETAP bridged with physical interface topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[GRETAP bridged with physical interface topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure DUTs . Test connectivity host:data to right:gretap0 at 192.168.10.2 -<<< - diff --git a/test/case/ietf_interfaces/tunnel_bridged/vxlan_bridged.adoc b/test/case/ietf_interfaces/tunnel_bridged/vxlan_bridged.adoc index 92647592..78bb2a6b 100644 --- a/test/case/ietf_interfaces/tunnel_bridged/vxlan_bridged.adoc +++ b/test/case/ietf_interfaces/tunnel_bridged/vxlan_bridged.adoc @@ -1,24 +1,15 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/tunnel_bridged] + === VXLAN bridged with physical interface ==== Description Test that vxlan works as it should and that it possible to bridge it. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/tunnel_bridged/topology.svg[VXLAN bridged with physical interface topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::tunnel_bridged/topology.svg[VXLAN bridged with physical interface topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[VXLAN bridged with physical interface topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[VXLAN bridged with physical interface topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure DUTs . Test connectivity host:data to right:vxlan0 at 192.168.10.2 -<<< - diff --git a/test/case/ietf_interfaces/verify_all_interface_types/verify_all_interface_types.adoc b/test/case/ietf_interfaces/verify_all_interface_types/verify_all_interface_types.adoc index 298a3bec..69437577 100644 --- a/test/case/ietf_interfaces/verify_all_interface_types/verify_all_interface_types.adoc +++ b/test/case/ietf_interfaces/verify_all_interface_types/verify_all_interface_types.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/verify_all_interface_types] + === Verify that all interface types can be created ==== Description This test verifies that all interface types can be created and also @@ -15,18 +17,9 @@ slightly longer than sending the entire configuration at once. .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/verify_all_interface_types/topology.svg[Verify that all interface types can be created topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::verify_all_interface_types/topology.svg[Verify that all interface types can be created topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Verify that all interface types can be created topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Verify that all interface types can be created topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure an empty bridge br-0 . Configure bridge br-X and associated interfaces @@ -44,5 +37,3 @@ endif::topdoc[] . Verify VxLAN interfaces 'vxlan-v4' and 'vxlan-v6' -<<< - diff --git a/test/case/ietf_interfaces/veth_delete/veth_delete.adoc b/test/case/ietf_interfaces/veth_delete/veth_delete.adoc index 1cefb4c0..9cd0999e 100644 --- a/test/case/ietf_interfaces/veth_delete/veth_delete.adoc +++ b/test/case/ietf_interfaces/veth_delete/veth_delete.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/veth_delete] + === Verify that VETH pairs can be deleted ==== Description ``` @@ -9,18 +11,9 @@ Each test step to create, add address, or delete an interace is distinct from any other step. This to trigger a new configuration "generation". ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/veth_delete/topology.svg[Verify that VETH pairs can be deleted topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::veth_delete/topology.svg[Verify that VETH pairs can be deleted topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Verify that VETH pairs can be deleted topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Verify that VETH pairs can be deleted topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Create VETH pair . Verify interfaces 'veth0a' and 'veth0b' exist @@ -31,5 +24,3 @@ endif::topdoc[] . Verify VETH pair have been removed -<<< - diff --git a/test/case/ietf_interfaces/vlan_iface_termination/vlan_iface_termination.adoc b/test/case/ietf_interfaces/vlan_iface_termination/vlan_iface_termination.adoc index cc955c6b..9cd71692 100644 --- a/test/case/ietf_interfaces/vlan_iface_termination/vlan_iface_termination.adoc +++ b/test/case/ietf_interfaces/vlan_iface_termination/vlan_iface_termination.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/vlan_iface_termination] + === VLAN Interface Termination ==== Description Verify that VLANs stacked on top of an interfaces that are also @@ -26,18 +28,9 @@ both `data1` and `data2`, _bridging_ of packets from one to the other must _not_ be allowed. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/vlan_iface_termination/topology.svg[VLAN Interface Termination topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::vlan_iface_termination/topology.svg[VLAN Interface Termination topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[VLAN Interface Termination topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[VLAN Interface Termination topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target . Configure bridge and VLAN interfaces on target . Configure IP addresses and VLAN interfaces on host @@ -47,5 +40,3 @@ endif::topdoc[] . Verify that host:data2 can reach target on VLAN 10 -<<< - diff --git a/test/case/ietf_interfaces/vlan_ping/vlan_ping.adoc b/test/case/ietf_interfaces/vlan_ping/vlan_ping.adoc index 38e45dc7..ade470d4 100644 --- a/test/case/ietf_interfaces/vlan_ping/vlan_ping.adoc +++ b/test/case/ietf_interfaces/vlan_ping/vlan_ping.adoc @@ -1,20 +1,13 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/vlan_ping] + === VLAN ping connectivity ==== Description Very basic test if the VLAN interface configuration works. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/vlan_ping/topology.svg[VLAN ping connectivity topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::vlan_ping/topology.svg[VLAN ping connectivity topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[VLAN ping connectivity topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[VLAN ping connectivity topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set up VLAN interface on host:data with IP 10.0.0.1 . Configure VLAN 10 interface on target:data with IP 10.0.0.2 @@ -24,5 +17,3 @@ endif::topdoc[] . Verify that host:data can no longer reach 10.0.0.2 -<<< - diff --git a/test/case/ietf_interfaces/vlan_qos/vlan_qos.adoc b/test/case/ietf_interfaces/vlan_qos/vlan_qos.adoc index ab485e66..924544d3 100644 --- a/test/case/ietf_interfaces/vlan_qos/vlan_qos.adoc +++ b/test/case/ietf_interfaces/vlan_qos/vlan_qos.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_interfaces/vlan_qos] + === VLAN Interface Ingress/Egress QoS ==== Description Inject different packets from the host and verify that the VLAN priority @@ -15,18 +17,9 @@ correctly to PCP on egress ('from internal priority' or static '0..7'). { "id": 6, "pcp": 6, "ingress": "from-pcp", "egress": "from-priority", "expect": 6 }, ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_interfaces/vlan_qos/topology.svg[VLAN Interface Ingress/Egress QoS topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::vlan_qos/topology.svg[VLAN Interface Ingress/Egress QoS topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[VLAN Interface Ingress/Egress QoS topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[VLAN Interface Ingress/Egress QoS topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Apply initial config without priority mapping . Setup host VLANs @@ -38,5 +31,3 @@ endif::topdoc[] . Verify that packet with id=6 egressed with pcp=6 -<<< - diff --git a/test/case/ietf_routing/ospf_basic/ospf_basic.adoc b/test/case/ietf_routing/ospf_basic/ospf_basic.adoc index d260f6df..772bfb2c 100644 --- a/test/case/ietf_routing/ospf_basic/ospf_basic.adoc +++ b/test/case/ietf_routing/ospf_basic/ospf_basic.adoc @@ -1,26 +1,17 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_basic] + === OSPF Basic ==== Description Very basic OSPF test just test that OSPF sends HELLO packets between the DUTs and that they exchange routes, ending with a simple connectivity check. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/ospf_basic/topology.svg[OSPF Basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ospf_basic/topology.svg[OSPF Basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[OSPF Basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[OSPF Basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure targets . Wait for OSPF routes . Test connectivity from PC:data to 192.168.200.1 -<<< - diff --git a/test/case/ietf_routing/ospf_bfd/ospf_bfd.adoc b/test/case/ietf_routing/ospf_bfd/ospf_bfd.adoc index 70809484..e4e832b9 100644 --- a/test/case/ietf_routing/ospf_bfd/ospf_bfd.adoc +++ b/test/case/ietf_routing/ospf_bfd/ospf_bfd.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_bfd] + === OSPF BFD ==== Description Verify that a router running OSPF, with Bidirectional Forwarding @@ -9,18 +11,9 @@ perspective, is made up of multiple physical links containing media converters without link fault forwarding. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/ospf_bfd/topology.svg[OSPF BFD topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ospf_bfd/topology.svg[OSPF BFD topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[OSPF BFD topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[OSPF BFD topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Setup TPMR between R1fast and R2fast . Configure R1 and R2 @@ -31,5 +24,3 @@ endif::topdoc[] . Verify connectivity from PC:src to PC:dst via slow link -<<< - diff --git a/test/case/ietf_routing/ospf_default_route_advertise/ospf_default_route_advertise.adoc b/test/case/ietf_routing/ospf_default_route_advertise/ospf_default_route_advertise.adoc index 04df9f7b..64aef70f 100644 --- a/test/case/ietf_routing/ospf_default_route_advertise/ospf_default_route_advertise.adoc +++ b/test/case/ietf_routing/ospf_default_route_advertise/ospf_default_route_advertise.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_default_route_advertise] + === OSPF Default route advertise ==== Description Verify _default-route-advertising_ in OSPF, sometimes called 'redistribute origin'. Verify both @@ -28,18 +30,9 @@ unless _always_ is set for _default-route-advertising_. .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/ospf_default_route_advertise/topology.svg[OSPF Default route advertise topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ospf_default_route_advertise/topology.svg[OSPF Default route advertise topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[OSPF Default route advertise topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[OSPF Default route advertise topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure targets . Verify R2 has a default route and 192.168.100.1/32 from OSPF @@ -53,5 +46,3 @@ endif::topdoc[] . Verify connectivity from PC:data2 to 10.10.10.10 -<<< - diff --git a/test/case/ietf_routing/ospf_multiarea/ospf_multiarea.adoc b/test/case/ietf_routing/ospf_multiarea/ospf_multiarea.adoc index bc68de2c..b908f2eb 100644 --- a/test/case/ietf_routing/ospf_multiarea/ospf_multiarea.adoc +++ b/test/case/ietf_routing/ospf_multiarea/ospf_multiarea.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_multiarea] + === OSPF with multiple areas ==== Description This test evaluates various OSPF features across three areas (one NSSA area, with no summary) @@ -23,18 +25,9 @@ explicit router-id. .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/ospf_multiarea/topology.svg[OSPF with multiple areas topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ospf_multiarea/topology.svg[OSPF with multiple areas topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[OSPF with multiple areas topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[OSPF with multiple areas topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure targets . Wait for all neighbors to peer @@ -49,5 +42,3 @@ endif::topdoc[] . Verify that the route to 10.0.0.3 from PC:data4, go through 10.0.24.1 -<<< - diff --git a/test/case/ietf_routing/ospf_unnumbered_interface/ospf_unnumbered_interface.adoc b/test/case/ietf_routing/ospf_unnumbered_interface/ospf_unnumbered_interface.adoc index 8c2ecd31..129074fa 100644 --- a/test/case/ietf_routing/ospf_unnumbered_interface/ospf_unnumbered_interface.adoc +++ b/test/case/ietf_routing/ospf_unnumbered_interface/ospf_unnumbered_interface.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/ospf_unnumbered_interface] + === OSPF unnumbered interfaces ==== Description This test that a configuration expecting unnumbered interfaces @@ -8,18 +10,9 @@ When this test pass, you can expect unnumbered interfaces, interface type configuration and passive to function ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/ospf_unnumbered_interface/topology.svg[OSPF unnumbered interfaces topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ospf_unnumbered_interface/topology.svg[OSPF unnumbered interfaces topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[OSPF unnumbered interfaces topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[OSPF unnumbered interfaces topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure targets . Wait for OSPF routes @@ -28,5 +21,3 @@ endif::topdoc[] . Test connectivity from PC:data to 192.168.200.1 -<<< - diff --git a/test/case/ietf_routing/route_pref_255/route_pref_255.adoc b/test/case/ietf_routing/route_pref_255/route_pref_255.adoc index a5875051..fde49c9e 100644 --- a/test/case/ietf_routing/route_pref_255/route_pref_255.adoc +++ b/test/case/ietf_routing/route_pref_255/route_pref_255.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/route_pref_255] + === Route preference: Static Route Activation and Maximum Distance ==== Description This test configures a device with a static route to a destination with @@ -6,18 +8,9 @@ Then, the routing preference is increased to the maximum value (255), which should prevent the route from becoming active. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/route_pref_255/topology.svg[Route preference: Static Route Activation and Maximum Distance topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::route_pref_255/topology.svg[Route preference: Static Route Activation and Maximum Distance topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Route preference: Static Route Activation and Maximum Distance topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Route preference: Static Route Activation and Maximum Distance topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure targets with active static route . Verify that static route with preference 254 is active @@ -25,5 +18,3 @@ endif::topdoc[] . Verify that high-preference static route (255) does not become active -<<< - diff --git a/test/case/ietf_routing/route_pref_dhcp/route_pref_dhcp.adoc b/test/case/ietf_routing/route_pref_dhcp/route_pref_dhcp.adoc index 7f416eaf..bdbb9ad4 100644 --- a/test/case/ietf_routing/route_pref_dhcp/route_pref_dhcp.adoc +++ b/test/case/ietf_routing/route_pref_dhcp/route_pref_dhcp.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/route_pref_dhcp] + === Route preference: DHCP vs Static ==== Description This test configures a device with both a DHCP-acquired route on a @@ -9,18 +11,9 @@ route takes precedence by adjusting the routing preference value to the one lower than DHCP. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/route_pref_dhcp/topology.svg[Route preference: DHCP vs Static topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::route_pref_dhcp/topology.svg[Route preference: DHCP vs Static topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Route preference: DHCP vs Static topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Route preference: DHCP vs Static topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure targets. Assign higher priority to the dhcp route . Wait for DHCP and static routes @@ -29,5 +22,3 @@ endif::topdoc[] . Verify connectivity from PC:data12 to R2:lo via static route -<<< - diff --git a/test/case/ietf_routing/route_pref_ospf/route_pref_ospf.adoc b/test/case/ietf_routing/route_pref_ospf/route_pref_ospf.adoc index 3e7c7ad7..53ca3cb4 100644 --- a/test/case/ietf_routing/route_pref_ospf/route_pref_ospf.adoc +++ b/test/case/ietf_routing/route_pref_ospf/route_pref_ospf.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/route_pref_ospf] + === Route preference: OSPF vs Static ==== Description This test configures a device with both an OSPF-acquired route on a @@ -9,18 +11,9 @@ Initially, the device should prefer the OSPF route; if the OSPF route becomes unavailable, the static route should take over. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/route_pref_ospf/topology.svg[Route preference: OSPF vs Static topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::route_pref_ospf/topology.svg[Route preference: OSPF vs Static topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Route preference: OSPF vs Static topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Route preference: OSPF vs Static topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Set up TPMR between R1ospf and R2ospf . Configure targets @@ -31,5 +24,3 @@ endif::topdoc[] . Verify connectivity via static route after OSPF failover -<<< - diff --git a/test/case/ietf_routing/static_routing/static_routing.adoc b/test/case/ietf_routing/static_routing/static_routing.adoc index 26b047a8..9dc0b01a 100644 --- a/test/case/ietf_routing/static_routing/static_routing.adoc +++ b/test/case/ietf_routing/static_routing/static_routing.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_routing/static_routing] + === Static routing ==== Description Verify that it is possible to add static routes, both IPv4 and IPv6, and that data forwarding works as expected via an intermediate device. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_routing/static_routing/topology.svg[Static routing topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::static_routing/topology.svg[Static routing topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Static routing topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Static routing topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure targets . Wait for routes @@ -26,5 +19,3 @@ endif::topdoc[] . Verify R2 is no longer reachable on either IPv4 or IPv6 from PC:data -<<< - diff --git a/test/case/ietf_syslog/basic/basic.adoc b/test/case/ietf_syslog/basic/basic.adoc index d57e4067..0d864a38 100644 --- a/test/case/ietf_syslog/basic/basic.adoc +++ b/test/case/ietf_syslog/basic/basic.adoc @@ -1,24 +1,15 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_syslog/basic] + === Syslog Basic ==== Description Add syslog actions to log to local files, then verify new log files have been created. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_syslog/basic/topology.svg[Syslog Basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::basic/topology.svg[Syslog Basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Syslog Basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Syslog Basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure syslog on DUT to log to files '/log/bar.log' (absolute path) and 'foo' (non-absolute). . Verify log files /var/log/foo and /var/log/bar.log have been created -<<< - diff --git a/test/case/ietf_syslog/remote/remote.adoc b/test/case/ietf_syslog/remote/remote.adoc index 9a21eb79..c8e3f712 100644 --- a/test/case/ietf_syslog/remote/remote.adoc +++ b/test/case/ietf_syslog/remote/remote.adoc @@ -1,25 +1,16 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_syslog/remote] + === Remote syslog ==== Description Verify logging to remote, acting as a remote, and RFC5424 log format. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_syslog/remote/topology.svg[Remote syslog topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::remote/topology.svg[Remote syslog topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Remote syslog topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Remote syslog topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to client and server DUTs . Configure client DUT as syslog client with server DUT as remote, and configure server DUT as syslog server . Send security:notice log message from client . Verify reception of client log message, incl. sorting to /log/security on server -<<< - diff --git a/test/case/ietf_system/add_delete_user/add_delete_user.adoc b/test/case/ietf_system/add_delete_user/add_delete_user.adoc index 55378b00..c3bd19dc 100644 --- a/test/case/ietf_system/add_delete_user/add_delete_user.adoc +++ b/test/case/ietf_system/add_delete_user/add_delete_user.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/add_delete_user] + === Add/delete user ==== Description Verify that it is possible to add/delete a user. The user password is hashed with yescrypt. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_system/add_delete_user/topology.svg[Add/delete user topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::add_delete_user/topology.svg[Add/delete user topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Add/delete user topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Add/delete user topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Add new user 'newuser01' with password 'newuser01password' . Verify user 'newuser01' exist in operational @@ -25,5 +18,3 @@ endif::topdoc[] . Verify that 'newuser01' is removed from /etc/passwd -<<< - diff --git a/test/case/ietf_system/hostname/hostname.adoc b/test/case/ietf_system/hostname/hostname.adoc index 69b2e2c9..a1300550 100644 --- a/test/case/ietf_system/hostname/hostname.adoc +++ b/test/case/ietf_system/hostname/hostname.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/hostname] + === Set hostname ==== Description Verify that it is possible to change hostname both normal @@ -9,18 +11,9 @@ where MAC is the last three bytes of the base MAC address. e.g. ix-01-01-01. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_system/hostname/topology.svg[Set hostname topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::hostname/topology.svg[Set hostname topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Set hostname topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Set hostname topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set hostname to 'h0stn4m3' . Verify new hostname 'h0stn4m3' @@ -29,5 +22,3 @@ endif::topdoc[] . Verify hostname format in operational -<<< - diff --git a/test/case/ietf_system/ntp_client/ntp_client.adoc b/test/case/ietf_system/ntp_client/ntp_client.adoc index 4353a8d0..70597971 100644 --- a/test/case/ietf_system/ntp_client/ntp_client.adoc +++ b/test/case/ietf_system/ntp_client/ntp_client.adoc @@ -1,25 +1,16 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/ntp_client] + === Basic NTP client test ==== Description Verify NTP client with multiple servers, ensure one get selected. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_system/ntp_client/topology.svg[Basic NTP client test topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ntp_client/topology.svg[Basic NTP client test topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Basic NTP client test topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Basic NTP client test topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure NTP client on 'target' . Verify one source is in 'selected' state on 'target' . Verify three sources exist in NTP client on 'target' -<<< - diff --git a/test/case/ietf_system/timezone/timezone.adoc b/test/case/ietf_system/timezone/timezone.adoc index af76d503..da3d797c 100644 --- a/test/case/ietf_system/timezone/timezone.adoc +++ b/test/case/ietf_system/timezone/timezone.adoc @@ -1,24 +1,15 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/timezone] + === Set timezone using timezone name ==== Description Verify that it is possible to set timezone using timezone names. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_system/timezone/topology.svg[Set timezone using timezone name topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::timezone/topology.svg[Set timezone using timezone name topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Set timezone using timezone name topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Set timezone using timezone name topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set timezone to Australia/Perth . Verify timezone is Australia/Perth -<<< - diff --git a/test/case/ietf_system/timezone_utc_offset/timezone_utc_offset.adoc b/test/case/ietf_system/timezone_utc_offset/timezone_utc_offset.adoc index 8f2daefb..66bbbc1a 100644 --- a/test/case/ietf_system/timezone_utc_offset/timezone_utc_offset.adoc +++ b/test/case/ietf_system/timezone_utc_offset/timezone_utc_offset.adoc @@ -1,24 +1,15 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/timezone_utc_offset] + === Set timezone with UTC offset ==== Description Verify that it is possible to set timezone using UTC offset ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_system/timezone_utc_offset/topology.svg[Set timezone with UTC offset topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::timezone_utc_offset/topology.svg[Set timezone with UTC offset topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Set timezone with UTC offset topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Set timezone with UTC offset topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set timezone UTC offset to +12 . Verify current timezone is UTC+12:00 -<<< - diff --git a/test/case/ietf_system/upgrade/upgrade.adoc b/test/case/ietf_system/upgrade/upgrade.adoc index a94cba31..7d973370 100644 --- a/test/case/ietf_system/upgrade/upgrade.adoc +++ b/test/case/ietf_system/upgrade/upgrade.adoc @@ -1,20 +1,13 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/upgrade] + === Upgrade ==== Description Verify it is possible to upgrade. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_system/upgrade/topology.svg[Upgrade topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::upgrade/topology.svg[Upgrade topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Upgrade topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Upgrade topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Start installation of selected package . Wait for upgrade to finish @@ -22,5 +15,3 @@ endif::topdoc[] . Verify that the partition is the booted -<<< - diff --git a/test/case/ietf_system/user_admin/user_admin.adoc b/test/case/ietf_system/user_admin/user_admin.adoc index 6b9d1387..5759e7a2 100644 --- a/test/case/ietf_system/user_admin/user_admin.adoc +++ b/test/case/ietf_system/user_admin/user_admin.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/ietf_system/user_admin] + === Add admin user ==== Description Test that a non-admin user is not an admin in Linux, and check that it when added as admin it is also the case in Linux. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/ietf_system/user_admin/topology.svg[Add admin user topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::user_admin/topology.svg[Add admin user topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Add admin user topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Add admin user topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Add new user 'jacky' with no NACM access . Verify regular user jacky exists @@ -29,5 +22,3 @@ endif::topdoc[] . Verify user jacky can log in with SSH -<<< - diff --git a/test/case/infix_containers/container_basic/container_basic.adoc b/test/case/infix_containers/container_basic/container_basic.adoc index b1a032dd..86f87099 100644 --- a/test/case/infix_containers/container_basic/container_basic.adoc +++ b/test/case/infix_containers/container_basic/container_basic.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_basic] + === Container basic ==== Description Verify that a simple web server container can be configured to run @@ -7,18 +9,9 @@ simple GET request for index.html and checking for a key phrase. The RPC actions: stop + start, and restart are also verified. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_basic/topology.svg[Container basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_basic/topology.svg[Container basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Container basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Container basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set hostname to 'container-host' . Create container 'web' from bundled OCI image @@ -30,5 +23,3 @@ endif::topdoc[] . Verify container 'web' is reachable on http://container-host.local:91 -<<< - diff --git a/test/case/infix_containers/container_bridge/container_bridge.adoc b/test/case/infix_containers/container_bridge/container_bridge.adoc index 9c86bf06..1ba899ce 100644 --- a/test/case/infix_containers/container_bridge/container_bridge.adoc +++ b/test/case/infix_containers/container_bridge/container_bridge.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_bridge] + === Container with bridge network ==== Description Verify connectivity with a simple web server container from behind a @@ -8,18 +10,9 @@ This also verifies port forwarding from container internal port to a port accessed from the host. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_bridge/topology.svg[Container with bridge network topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_bridge/topology.svg[Container with bridge network topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Container with bridge network topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Container with bridge network topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Create httpd container from bundled OCI image . Verify container has started @@ -27,5 +20,3 @@ endif::topdoc[] . Verify container is reachable on http://10.0.0.2:8080 -<<< - diff --git a/test/case/infix_containers/container_enabled/container_enabled.adoc b/test/case/infix_containers/container_enabled/container_enabled.adoc index 69b698fa..b411077f 100644 --- a/test/case/infix_containers/container_enabled/container_enabled.adoc +++ b/test/case/infix_containers/container_enabled/container_enabled.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_enabled] + === Container enabled/disabled ==== Description Verify that a container can be enabled and disabled via configuration. @@ -10,28 +12,16 @@ Tests the 'enabled' leaf functionality by: Uses operational datastore to verify container running status. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_enabled/topology.svg[Container enabled/disabled topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_enabled/topology.svg[Container enabled/disabled topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Container enabled/disabled topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Container enabled/disabled topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set hostname to 'container-host' . Create enabled container from bundled OCI image . Verify container has started -. Let container settle . Disable container . Verify container has stopped . Re-enable container . Verify container has started again -<<< - diff --git a/test/case/infix_containers/container_environment/container_environment.adoc b/test/case/infix_containers/container_environment/container_environment.adoc index d7050ef4..9fabaaab 100644 --- a/test/case/infix_containers/container_environment/container_environment.adoc +++ b/test/case/infix_containers/container_environment/container_environment.adoc @@ -1,36 +1,23 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_environment] + === Container environment variables ==== Description Verify that environment variables can be set in container configuration -and are available inside the running container. Tests the 'env' list -functionality by: +and are available inside the running container. -1. Creating a container with multiple environment variables -2. Using a custom script to extract env vars and serve them via HTTP -3. Fetching the served content to verify environment variables are set correctly - -Uses the nftables container image with custom rc.local script. +1 Set up a container config with multiple environment variables +2. Serve variables back to host using a CGI script in container +3. Verify served content against environment variables ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_environment/topology.svg[Container environment variables topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_environment/topology.svg[Container environment variables topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Container environment variables topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Container environment variables topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure data interface with static IPv4 -. Create container with environment variables +. Set up container with environment variables . Verify container has started -. Verify environment variables are available via HTTP . Verify basic connectivity to data interface -. Verify environment variables in HTTP response +. Verify environment variables in CGI response -<<< - diff --git a/test/case/infix_containers/container_firewall_basic/container_firewall_basic.adoc b/test/case/infix_containers/container_firewall_basic/container_firewall_basic.adoc index 075fba77..6cdb4c79 100644 --- a/test/case/infix_containers/container_firewall_basic/container_firewall_basic.adoc +++ b/test/case/infix_containers/container_firewall_basic/container_firewall_basic.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_firewall_basic] + === Basic Firewall Container ==== Description Verify that an nftables container can be used for IP masquerading and @@ -26,18 +28,9 @@ phrase, is only reachable from the public interface `ext0`, on 192.168.0.1:8080. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_firewall_basic/topology.svg[Basic Firewall Container topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_firewall_basic/topology.svg[Basic Firewall Container topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Basic Firewall Container topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Basic Firewall Container topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set hostname to 'container-host' . Create VETH pair for web server container @@ -50,5 +43,3 @@ endif::topdoc[] . Verify 'web' is reachable on http://container-host.local:8080 -<<< - diff --git a/test/case/infix_containers/container_host_commands/container_host_commands.adoc b/test/case/infix_containers/container_host_commands/container_host_commands.adoc index 032fd214..4caf4a8b 100644 --- a/test/case/infix_containers/container_host_commands/container_host_commands.adoc +++ b/test/case/infix_containers/container_host_commands/container_host_commands.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_host_commands] + === Host Command Execution from Container ==== Description This test verifies that a container running on Infix can execute commands @@ -5,18 +7,9 @@ that affect the host system. Specifically, it confirms that the container can change the hostname of the host. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_host_commands/topology.svg[Host Command Execution from Container topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_host_commands/topology.svg[Host Command Execution from Container topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Host Command Execution from Container topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Host Command Execution from Container topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set initial hostname . Verify initial hostname in operational @@ -25,5 +18,3 @@ endif::topdoc[] . Verify the new hostname set by the container -<<< - diff --git a/test/case/infix_containers/container_phys/container_phys.adoc b/test/case/infix_containers/container_phys/container_phys.adoc index eb02a4cb..499d304a 100644 --- a/test/case/infix_containers/container_phys/container_phys.adoc +++ b/test/case/infix_containers/container_phys/container_phys.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_phys] + === Container with physical interface ==== Description Verify connectivity with a simple web server container that's been given a physical interface instead of an end of a VETH pair. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_phys/topology.svg[Container with physical interface topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_phys/topology.svg[Container with physical interface topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Container with physical interface topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Container with physical interface topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Create httpd container from bundled OCI image . Verify container has started @@ -25,5 +18,3 @@ endif::topdoc[] . Verify server is restarted and returns new content -<<< - diff --git a/test/case/infix_containers/container_veth/container_veth.adoc b/test/case/infix_containers/container_veth/container_veth.adoc index 819c00d2..ecc4a5ec 100644 --- a/test/case/infix_containers/container_veth/container_veth.adoc +++ b/test/case/infix_containers/container_veth/container_veth.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_veth] + === Container with VETH pair ==== Description Verify connectivity with a simple web server container from behind a @@ -14,18 +16,9 @@ regular bridge, a VETH pair connects the container to the bridge. .... ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_veth/topology.svg[Container with VETH pair topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_veth/topology.svg[Container with VETH pair topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Container with VETH pair topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Container with VETH pair topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Create 'web-br0-veth' container from bundled OCI image . Verify container 'web-br0-veth' has started @@ -33,5 +26,3 @@ endif::topdoc[] . Verify container 'web-br0-veth' is reachable on http://10.0.0.2:91 -<<< - diff --git a/test/case/infix_containers/container_volume/container_volume.adoc b/test/case/infix_containers/container_volume/container_volume.adoc index 20fbfc05..d3841854 100644 --- a/test/case/infix_containers/container_volume/container_volume.adoc +++ b/test/case/infix_containers/container_volume/container_volume.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/container_volume] + === Container Volume Persistence ==== Description Verify that a container created from a local OCI archive, with a volume @@ -5,18 +7,9 @@ for persistent content, can be upgraded at runtime, without losing the content in the volume on restart. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_containers/container_volume/topology.svg[Container Volume Persistence topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::container_volume/topology.svg[Container Volume Persistence topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Container Volume Persistence topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Container Volume Persistence topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Create container with volume from bundled OCI image . Verify container has started @@ -26,5 +19,3 @@ endif::topdoc[] . Verify container volume content survived upgrade -<<< - diff --git a/test/case/infix_dhcp/client_basic/client_basic.adoc b/test/case/infix_dhcp/client_basic/client_basic.adoc index 9ae2e12c..fe9d641e 100644 --- a/test/case/infix_dhcp/client_basic/client_basic.adoc +++ b/test/case/infix_dhcp/client_basic/client_basic.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/client_basic] + === DHCP Basic ==== Description This is a very basic DHCP test that requests an IPv4 lease @@ -5,21 +7,10 @@ from a DHCP server and checks that the lease is set on the interface. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_dhcp/client_basic/topology.svg[DHCP Basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::client_basic/topology.svg[DHCP Basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[DHCP Basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[DHCP Basic topology, align=center, scaledwidth=75%] + +==== Sequence . Initialize . Verify client lease for 10.0.0.42 -<<< - diff --git a/test/case/infix_dhcp/client_basic/dhcp_basic.adoc b/test/case/infix_dhcp/client_basic/dhcp_basic.adoc deleted file mode 100644 index e4c203fe..00000000 --- a/test/case/infix_dhcp/client_basic/dhcp_basic.adoc +++ /dev/null @@ -1,25 +0,0 @@ -=== DHCP Basic -==== Description -This is a very basic DHCP test that requests an IPv4 lease -from a DHCP server and checks that the lease is set on the -interface. - -==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_dhcp/dhcp_basic/topology.svg[DHCP Basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::dhcp_basic/topology.svg[DHCP Basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[DHCP Basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence -. Initialize -. Verify client get DHCP lease for 10.0.0.42 on client:data - - -<<< - diff --git a/test/case/infix_dhcp/client_default_gw/client_default_gw.adoc b/test/case/infix_dhcp/client_default_gw/client_default_gw.adoc index 630f28e2..10b040c6 100644 --- a/test/case/infix_dhcp/client_default_gw/client_default_gw.adoc +++ b/test/case/infix_dhcp/client_default_gw/client_default_gw.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/client_default_gw] + === DHCP router ==== Description Verify that the DHCP client receives default gateway (DHCP option 3, @@ -6,22 +8,11 @@ server runs at 192.168.0.1 but should hand out option 3 to clients with address 192.168.0.254. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_dhcp/client_default_gw/topology.svg[DHCP router topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::client_default_gw/topology.svg[DHCP router topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[DHCP router topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[DHCP router topology, align=center, scaledwidth=75%] + +==== Sequence . Initialize . Set up DHCP server as 192.168.0.1, option 3: 192.168.0.254 . Verify DHCP client has default route via 192.168.0.254 -<<< - diff --git a/test/case/infix_dhcp/client_routes/client_routes.adoc b/test/case/infix_dhcp/client_routes/client_routes.adoc index 031ffbe7..ac5682b7 100644 --- a/test/case/infix_dhcp/client_routes/client_routes.adoc +++ b/test/case/infix_dhcp/client_routes/client_routes.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/client_routes] + === DHCP option 121 vs option 3 ==== Description Verify that DHCP option 121 (classless static routes) is used over the @@ -15,18 +17,9 @@ The DHCP server is set up to hand out both a default router (option 3) via 192.168.0.1 and a default route (option 121) via 192.168.0.254. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_dhcp/client_routes/topology.svg[DHCP option 121 vs option 3 topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::client_routes/topology.svg[DHCP option 121 vs option 3 topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[DHCP option 121 vs option 3 topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[DHCP option 121 vs option 3 topology, align=center, scaledwidth=75%] + +==== Sequence . Setting up canary route, 20.0.0.0/24 via 192.168.0.2 . Enabling DHCP client, allow option 3 and 121 . Verify client has route 10.0.0.0/24 via 192.168.0.254 (option 121) @@ -34,5 +27,3 @@ endif::topdoc[] . Verify client still has canary route to 20.0.0.0/24 via 192.168.0.2 -<<< - diff --git a/test/case/infix_dhcp/server_basic/server_basic.adoc b/test/case/infix_dhcp/server_basic/server_basic.adoc index 4bfe1620..48f1e80d 100644 --- a/test/case/infix_dhcp/server_basic/server_basic.adoc +++ b/test/case/infix_dhcp/server_basic/server_basic.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/server_basic] + === DHCP Server Basic ==== Description Verify basic DHCP server functionality. The server is set up to only @@ -7,18 +9,9 @@ other options are sent by checking, e.g., that the client has not set up a default route to the server. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_dhcp/server_basic/topology.svg[DHCP Server Basic topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::server_basic/topology.svg[DHCP Server Basic topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[DHCP Server Basic topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[DHCP Server Basic topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to client and server DUTs . Configure DHCP server and client . Verify DHCP client's original hostname @@ -27,5 +20,3 @@ endif::topdoc[] . Verify DHCP client has no default route -<<< - diff --git a/test/case/infix_dhcp/server_host/server_host.adoc b/test/case/infix_dhcp/server_host/server_host.adoc index b6adf5ea..e52d9e09 100644 --- a/test/case/infix_dhcp/server_host/server_host.adoc +++ b/test/case/infix_dhcp/server_host/server_host.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/server_host] + === DHCP Server Static Host ==== Description Verify DHCP server can hand out static host leases based on client-id, @@ -5,18 +7,9 @@ both hexadecimal and a very long string, ensuring no pool address is handed out instead. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_dhcp/server_host/topology.svg[DHCP Server Static Host topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::server_host/topology.svg[DHCP Server Static Host topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[DHCP Server Static Host topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[DHCP Server Static Host topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to client and server DUTs . Configure DHCP client and server DUTs . Verify DHCP client1 static lease @@ -27,5 +20,3 @@ endif::topdoc[] . Verify DHCP client2 has default gateway -<<< - diff --git a/test/case/infix_dhcp/server_subnets/server_subnets.adoc b/test/case/infix_dhcp/server_subnets/server_subnets.adoc index 99c1a865..688341f2 100644 --- a/test/case/infix_dhcp/server_subnets/server_subnets.adoc +++ b/test/case/infix_dhcp/server_subnets/server_subnets.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/server_subnets] + === DHCP Server Multiple Subnets ==== Description Verify that the DHCP server is capble of acting on more than one subnet, @@ -6,17 +8,7 @@ subnet, and host-specific options are honored and do not leak between subnets. .Internal network setup, client2 and client3 are on the same LAN -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_dhcp/server_subnets/dhcp-subnets.svg[Internal networks] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::server_subnets/dhcp-subnets.svg[Internal networks] -endif::testgroup[] -ifndef::testgroup[] -image::dhcp-subnets.svg[Internal networks] -endif::testgroup[] -endif::topdoc[] +image::dhcp-subnets.svg[align=center, scaledwidth=75%] To verify isolation of subnet settings, a few "decoys" are added to the configuration of each subnet. These are then checked for on each of the @@ -30,18 +22,9 @@ The test is concluded by the server trying to reach each client using ping of the hostname. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_dhcp/server_subnets/topology.svg[DHCP Server Multiple Subnets topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::server_subnets/topology.svg[DHCP Server Multiple Subnets topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[DHCP Server Multiple Subnets topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[DHCP Server Multiple Subnets topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to client and server DUTs . Configure DHCP server and clients . Verify DHCP client1 get correct lease @@ -55,5 +38,3 @@ endif::topdoc[] . Verify DHCP client3 has correct DNS and NTP server(s) -<<< - diff --git a/test/case/infix_dhcp/server_subnets/test.py b/test/case/infix_dhcp/server_subnets/test.py index 7b342cad..d7b380e4 100755 --- a/test/case/infix_dhcp/server_subnets/test.py +++ b/test/case/infix_dhcp/server_subnets/test.py @@ -7,7 +7,7 @@ subnet, and host-specific options are honored and do not leak between subnets. .Internal network setup, client2 and client3 are on the same LAN -image::dhcp-subnets.svg[Internal networks] +image::dhcp-subnets.svg[align=center, scaledwidth=75%] To verify isolation of subnet settings, a few "decoys" are added to the configuration of each subnet. These are then checked for on each of the diff --git a/test/case/infix_services/lldp/lldp_admin_status/lldp_admin_status.adoc b/test/case/infix_services/lldp/lldp_admin_status/lldp_admin_status.adoc index 24d351fe..25db2e79 100644 --- a/test/case/infix_services/lldp/lldp_admin_status/lldp_admin_status.adoc +++ b/test/case/infix_services/lldp/lldp_admin_status/lldp_admin_status.adoc @@ -1,20 +1,13 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_services/lldp/lldp_admin_status] + === LLDP admin status ==== Description Verify that LLDP admin status is set properly by lldpd ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_services/lldp/lldp_admin_status/topology.svg[LLDP admin status topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::lldp/lldp_admin_status/topology.svg[LLDP admin status topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[LLDP admin status topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[LLDP admin status topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Enable target interface and enable LLDP . Verify admin-status: 'rx-only' @@ -23,5 +16,3 @@ endif::topdoc[] . Verify admin-status: 'tx-and-rx' -<<< - diff --git a/test/case/infix_services/lldp/lldp_enable_disable/lldp_enable_disable.adoc b/test/case/infix_services/lldp/lldp_enable_disable/lldp_enable_disable.adoc index 1884dedc..383c18a1 100644 --- a/test/case/infix_services/lldp/lldp_enable_disable/lldp_enable_disable.adoc +++ b/test/case/infix_services/lldp/lldp_enable_disable/lldp_enable_disable.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_services/lldp/lldp_enable_disable] + === LLDP enable disable ==== Description Verify that LLDP can be enabled and disabled. Operation and non-operation are confirmed using tcpdump. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_services/lldp/lldp_enable_disable/topology.svg[LLDP enable disable topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::lldp/lldp_enable_disable/topology.svg[LLDP enable disable topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[LLDP enable disable topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[LLDP enable disable topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Enable target interface and disable LLDP . Enable LLDP @@ -24,5 +17,3 @@ endif::topdoc[] . Verify no LLDP packets on host:data -<<< - diff --git a/test/case/infix_services/lldp/lldp_ieee_group_forward/lldp_ieee_group_forward.adoc b/test/case/infix_services/lldp/lldp_ieee_group_forward/lldp_ieee_group_forward.adoc index 7d9df613..8be24012 100644 --- a/test/case/infix_services/lldp/lldp_ieee_group_forward/lldp_ieee_group_forward.adoc +++ b/test/case/infix_services/lldp/lldp_ieee_group_forward/lldp_ieee_group_forward.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_services/lldp/lldp_ieee_group_forward] + === LLDP IEEE Group Forward ==== Description Verify that LLDP packets can be flooded to all ports on a bridge. Operation and non-operation are confirmed using tcpdump. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_services/lldp/lldp_ieee_group_forward/topology.svg[LLDP IEEE Group Forward topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::lldp/lldp_ieee_group_forward/topology.svg[LLDP IEEE Group Forward topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[LLDP IEEE Group Forward topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[LLDP IEEE Group Forward topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure interfaces and disable LLDP daemon . Verify LLDP absence on host:data2 @@ -23,5 +16,3 @@ endif::topdoc[] . Verify LLDP arrival on host:data2 -<<< - diff --git a/test/case/infix_services/mdns/mdns_allow_deny/mdns_allow_deny.adoc b/test/case/infix_services/mdns/mdns_allow_deny/mdns_allow_deny.adoc index 6fcb2732..e53e6398 100644 --- a/test/case/infix_services/mdns/mdns_allow_deny/mdns_allow_deny.adoc +++ b/test/case/infix_services/mdns/mdns_allow_deny/mdns_allow_deny.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_services/mdns/mdns_allow_deny] + === mDNS allow/deny interfaces ==== Description Verify the mDNS responder interface allow/deny configuration. Both @@ -9,18 +11,9 @@ with three scenarios: 3. Allow p1 and p3, deny p2 and p3, traffic only on p1 ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_services/mdns/mdns_allow_deny/topology.svg[mDNS allow/deny interfaces topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::mdns/mdns_allow_deny/topology.svg[mDNS allow/deny interfaces topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[mDNS allow/deny interfaces topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[mDNS allow/deny interfaces topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Configure device . Allow mDNS on a single interface: p2 @@ -28,5 +21,3 @@ endif::topdoc[] . Allow mDNS on p1, p3 deny on p2, p3 -<<< - diff --git a/test/case/infix_services/mdns/mdns_enable_disable/mdns_enable_disable.adoc b/test/case/infix_services/mdns/mdns_enable_disable/mdns_enable_disable.adoc index 9a7b7ae0..7ef044e7 100644 --- a/test/case/infix_services/mdns/mdns_enable_disable/mdns_enable_disable.adoc +++ b/test/case/infix_services/mdns/mdns_enable_disable/mdns_enable_disable.adoc @@ -1,21 +1,14 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_services/mdns/mdns_enable_disable] + === mDNS enable disable ==== Description Verify that mDNS can be enabled and disabled. Operation and non-operation are confirmed using tcpdump. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_services/mdns/mdns_enable_disable/topology.svg[mDNS enable disable topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::mdns/mdns_enable_disable/topology.svg[mDNS enable disable topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[mDNS enable disable topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[mDNS enable disable topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Set IPv4 address 10.0.0.10/24 on target:data and disable mDNS . Enable mDNS @@ -24,5 +17,3 @@ endif::topdoc[] . Verify on host:data there are no packets from 10.0.0.10:5354 (mDNS) -<<< - diff --git a/test/case/infix_services/ssh/ssh_key_authentication/ssh_key_authentication.adoc b/test/case/infix_services/ssh/ssh_key_authentication/ssh_key_authentication.adoc index 188121fb..138722bf 100644 --- a/test/case/infix_services/ssh/ssh_key_authentication/ssh_key_authentication.adoc +++ b/test/case/infix_services/ssh/ssh_key_authentication/ssh_key_authentication.adoc @@ -1,20 +1,13 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_services/ssh/ssh_key_authentication] + === Generate ssh key pair ==== Description Verify that 'guest' user can fetch data using only the 'public' key ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_services/ssh/ssh_key_authentication/topology.svg[Generate ssh key pair topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ssh/ssh_key_authentication/topology.svg[Generate ssh key pair topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Generate ssh key pair topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Generate ssh key pair topology, align=center, scaledwidth=75%] + +==== Sequence . Connect to the target device . Create a guest user on the target device . Wait until SSH server is ready to accept connections @@ -22,5 +15,3 @@ endif::topdoc[] . Verify it is possible to fetch syslog data using public key -<<< - diff --git a/test/case/infix_services/ssh/ssh_server_config/ssh_server_config.adoc b/test/case/infix_services/ssh/ssh_server_config/ssh_server_config.adoc index e5890611..d7eb730a 100644 --- a/test/case/infix_services/ssh/ssh_server_config/ssh_server_config.adoc +++ b/test/case/infix_services/ssh/ssh_server_config/ssh_server_config.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_services/ssh/ssh_server_config] + === SSH server configuration ==== Description Test SSH server functionality with pre-defined key pair: @@ -6,18 +8,9 @@ Test SSH server functionality with pre-defined key pair: 3. Validate connectivity using static key pair. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/infix_services/ssh/ssh_server_config/topology.svg[SSH server configuration topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ssh/ssh_server_config/topology.svg[SSH server configuration topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[SSH server configuration topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[SSH server configuration topology, align=center, scaledwidth=75%] + +==== Sequence . Setup topology and attach to the target . Configure SSH server . Wait until SSH server is ready to accept connections @@ -26,5 +19,3 @@ endif::topdoc[] . Disable SSH server -<<< - diff --git a/test/case/misc/operational_all/operational_all.adoc b/test/case/misc/operational_all/operational_all.adoc index e6c8e164..0baa6a21 100644 --- a/test/case/misc/operational_all/operational_all.adoc +++ b/test/case/misc/operational_all/operational_all.adoc @@ -1,24 +1,15 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/misc/operational_all] + === Get operational ==== Description Basic test just to get operational from test-config without errors. ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/misc/operational_all/topology.svg[Get operational topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::operational_all/topology.svg[Get operational topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[Get operational topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[Get operational topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUT . Copy test-config to running configuration . Get all Operational data from 'target', verify there are no errors -<<< - diff --git a/test/case/use_case/ospf_container/ospf_container.adoc b/test/case/use_case/ospf_container/ospf_container.adoc index 09c9a60b..8907ddd4 100644 --- a/test/case/use_case/ospf_container/ospf_container.adoc +++ b/test/case/use_case/ospf_container/ospf_container.adoc @@ -1,3 +1,5 @@ +ifdef::topdoc[:imagesdir: {topdoc}../../test/case/use_case/ospf_container] + === OSPF Container ==== Description This use-case test verifies connectivity in an OSPF network to services @@ -9,17 +11,7 @@ PC, which can act as a link breaker. .Use-case overview. [#img-overview] -ifdef::topdoc[] -image::{topdoc}../../test/case/use_case/ospf_container/overview.svg[] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ospf_container/overview.svg[] -endif::testgroup[] -ifndef::testgroup[] image::overview.svg[] -endif::testgroup[] -endif::topdoc[] The DUTs are connected in a routed topology inside their own OSPF area. A single area border router (ABR) is used to access the controller @@ -50,17 +42,7 @@ second bridge, `br1`, only use IPv6 link-local addresses. .Internal network setup, here router R1 on subnet 10.1.1.1/24. [#img-setup] -ifdef::topdoc[] -image::{topdoc}../../test/case/use_case/ospf_container/internal-network.svg[Internal networks] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ospf_container/internal-network.svg[Internal networks] -endif::testgroup[] -ifndef::testgroup[] image::internal-network.svg[Internal networks] -endif::testgroup[] -endif::topdoc[] - *Container A* runs a very basic web server, it runs on port 80 inside the container, and `br0`, but is accessible outside on port 8080. @@ -74,18 +56,9 @@ endif::topdoc[] will have a unique hostname derived from the chassis MAC address ==== Topology -ifdef::topdoc[] -image::{topdoc}../../test/case/use_case/ospf_container/topology.svg[OSPF Container topology] -endif::topdoc[] -ifndef::topdoc[] -ifdef::testgroup[] -image::ospf_container/topology.svg[OSPF Container topology] -endif::testgroup[] -ifndef::testgroup[] -image::topology.svg[OSPF Container topology] -endif::testgroup[] -endif::topdoc[] -==== Test sequence +image::topology.svg[OSPF Container topology, align=center, scaledwidth=75%] + +==== Sequence . Set up topology and attach to target DUTs . Configure DUTs . Wait for all routers to peer @@ -94,5 +67,3 @@ endif::topdoc[] . Verify ABR:data can access container A on R3 (10.1.3.101) -<<< - diff --git a/test/spec/generate_spec.py b/test/spec/generate_spec.py index c557ce34..918b6b3e 100755 --- a/test/spec/generate_spec.py +++ b/test/spec/generate_spec.py @@ -12,32 +12,6 @@ from pathlib import Path import graphviz -def replace_image_tag(text, test_dir): - """ - Convert images added in the description and replace with the required ifdefs to work - generating the test specifcation as well. - """ - - pattern = r"image::(?P\S+)\[(?P