Merge pull request #865 from rical/ci-generate-test-report

Generate 9pm Test Report
This commit is contained in:
Richard Alpe
2025-01-21 20:35:09 +01:00
committed by GitHub
66 changed files with 89 additions and 66 deletions
+16
View File
@@ -183,6 +183,22 @@ jobs:
if: always()
run: cat test/.log/last/result-gh.md >> $GITHUB_STEP_SUMMARY
- name: Generate Test Report for x86_64${{ steps.vars.outputs.flv }}
# Ensure this runs even if Regression Test fails
if: always()
run: |
asciidoctor-pdf \
--theme test/9pm/report/theme.yml \
-a pdf-fontsdir=test/9pm/report/fonts \
test/.log/last/report.adoc \
-o test/.log/last/report.pdf
- name: Upload Test Report as Artifact
uses: actions/upload-artifact@v4
with:
name: test-report
path: test/.log/last/report.pdf
release:
if: ${{github.repository_owner == 'kernelkit' && github.ref_name == 'main'}}
name: Upload Latest Build
+4
View File
@@ -0,0 +1,4 @@
9pm:
PROJECT-NAME: "Infix"
PROJECT-ROOT: "../../"
PROJECT-TOPDOC: "../case/"
+3
View File
@@ -1,4 +1,7 @@
---
- settings:
test-spec: Readme.adoc
- case: meta/wait.py
infamy:
specification: False
+1 -1
View File
@@ -12,7 +12,7 @@ port is handled correctly.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_hardware/usb/topology.svg[USB configuration topology]
image::{topdoc}../../test/case/ietf_hardware/usb/topology.svg[USB configuration topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ when having two USB ports.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_hardware/usb_two_ports/topology.svg[USB configuration with two USB ports topology]
image::{topdoc}../../test/case/ietf_hardware/usb_two_ports/topology.svg[USB configuration with two USB ports topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -12,7 +12,7 @@ Test basic connectivity to a bridge
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/bridge_basic/topology.svg[Bridge basic topology]
image::{topdoc}../../test/case/ietf_interfaces/bridge_basic/topology.svg[Bridge basic topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -24,7 +24,7 @@ Ping through two bridges on two different DUTs.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/bridge_fwd_dual_dut/topology.svg[Bridge forwarding dual DUTs topology]
image::{topdoc}../../test/case/ietf_interfaces/bridge_fwd_dual_dut/topology.svg[Bridge forwarding dual DUTs topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -24,7 +24,7 @@ Tests forwarding through a DUT with two bridged interfaces on one DUT.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/bridge_fwd_sgl_dut/topology.svg[Bridge forwarding single DUTs topology]
image::{topdoc}../../test/case/ietf_interfaces/bridge_fwd_sgl_dut/topology.svg[Bridge forwarding single DUTs topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -9,7 +9,7 @@ while exactly three links are in the blocking state.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/bridge_stp_basic/topology.svg[Bridge STP Basic topology]
image::{topdoc}../../test/case/ietf_interfaces/bridge_stp_basic/topology.svg[Bridge STP Basic topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -14,7 +14,7 @@ PING --> br0
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/bridge_veth/topology.svg[Bridge with a physical port and a veth topology]
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[]
@@ -13,7 +13,7 @@ Basic test of VLAN functionality in a bridge, tagged/untagged traffic and a VLAN
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/bridge_vlan/topology.svg[Bridge VLAN topology]
image::{topdoc}../../test/case/ietf_interfaces/bridge_vlan/topology.svg[Bridge VLAN topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -23,7 +23,7 @@ Test that two VLANs are correctly separated in the bridge
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/bridge_vlan_separation/topology.svg[Bridge VLAN separation topology]
image::{topdoc}../../test/case/ietf_interfaces/bridge_vlan_separation/topology.svg[Bridge VLAN separation topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -7,7 +7,7 @@ Both admin-status and oper-status are verified.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/iface_enable_disable/topology.svg[Interface status topology]
image::{topdoc}../../test/case/ietf_interfaces/iface_enable_disable/topology.svg[Interface status topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -6,7 +6,7 @@ an offset applied.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/iface_phys_address/topology.svg[Custom MAC address on interface topology]
image::{topdoc}../../test/case/ietf_interfaces/iface_phys_address/topology.svg[Custom MAC address on interface topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ then be read back from the operational datastore.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/ifalias/topology.svg[Interface Description (ifAlias) topology]
image::{topdoc}../../test/case/ietf_interfaces/ifalias/topology.svg[Interface Description (ifAlias) topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -18,7 +18,7 @@ the flooding stops as soon a join arrives
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/igmp_basic/topology.svg[IGMP basic topology]
image::{topdoc}../../test/case/ietf_interfaces/igmp_basic/topology.svg[IGMP basic topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -21,7 +21,7 @@ Test tagged IGMP control traffic and that VLAN separation is respected for multi
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/igmp_vlan/topology.svg[IGMP VLAN topology]
image::{topdoc}../../test/case/ietf_interfaces/igmp_vlan/topology.svg[IGMP VLAN topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -4,7 +4,7 @@ Test that it is possible to set and remove the IPv4 address on an interface
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/ipv4_address/topology.svg[Interface with IPv4 topology]
image::{topdoc}../../test/case/ietf_interfaces/ipv4_address/topology.svg[Interface with IPv4 topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -6,7 +6,7 @@ address removal on autoconf disable.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/ipv4_autoconf/topology.svg[IPv4 link-local topology]
image::{topdoc}../../test/case/ietf_interfaces/ipv4_autoconf/topology.svg[IPv4 link-local topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ See issue #473 for details.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/ipv6_address/topology.svg[Interface IPv6 autoconf for bridges topology]
image::{topdoc}../../test/case/ietf_interfaces/ipv6_address/topology.svg[Interface IPv6 autoconf for bridges topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ in configuration has the expected result.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/routing_basic/topology.svg[Routing basic topology]
image::{topdoc}../../test/case/ietf_interfaces/routing_basic/topology.svg[Routing basic topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -20,7 +20,7 @@ enabled when using static multicast filters)
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/static_multicast_filters/topology.svg[Static multicast filters topology]
image::{topdoc}../../test/case/ietf_interfaces/static_multicast_filters/topology.svg[Static multicast filters topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ and ends with a connectivity test.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/tunnel_basic/topology.svg[GRE point-to-point topology]
image::{topdoc}../../test/case/ietf_interfaces/tunnel_basic/topology.svg[GRE point-to-point topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ and ends with a connectivity test.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/tunnel_basic/topology.svg[GRETAP point-to-point topology]
image::{topdoc}../../test/case/ietf_interfaces/tunnel_basic/topology.svg[GRETAP point-to-point topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ and ends with a connectivity test.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/tunnel_basic/topology.svg[VXLAN point-to-point topology]
image::{topdoc}../../test/case/ietf_interfaces/tunnel_basic/topology.svg[VXLAN point-to-point topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -4,7 +4,7 @@ Undefined
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/tunnel_bridged/topology.svg[GRETAP bridged with physical interface topology]
image::{topdoc}../../test/case/ietf_interfaces/tunnel_bridged/topology.svg[GRETAP bridged with physical interface topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -4,7 +4,7 @@ Undefined
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/tunnel_bridged/topology.svg[VXLAN bridged with physical interface topology]
image::{topdoc}../../test/case/ietf_interfaces/tunnel_bridged/topology.svg[VXLAN bridged with physical interface topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -16,7 +16,7 @@ slightly longer than sending the entire configuration at once.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/verify_all_interface_types/topology.svg[Verify that all interface types can be created topology]
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[]
@@ -10,7 +10,7 @@ from any other step. This to trigger a new configuration "generation".
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/veth_delete/topology.svg[Verify that VETH pairs can be deleted topology]
image::{topdoc}../../test/case/ietf_interfaces/veth_delete/topology.svg[Verify that VETH pairs can be deleted topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -27,7 +27,7 @@ must _not_ be allowed.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/vlan_iface_termination/topology.svg[VLAN Interface Termination topology]
image::{topdoc}../../test/case/ietf_interfaces/vlan_iface_termination/topology.svg[VLAN Interface Termination topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -4,7 +4,7 @@ Very basic test if the VLAN interface configuration works.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/vlan_ping/topology.svg[VLAN ping connectivity topology]
image::{topdoc}../../test/case/ietf_interfaces/vlan_ping/topology.svg[VLAN ping connectivity topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -16,7 +16,7 @@ correctly to PCP on egress ('from internal priority' or static '0..7').
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_interfaces/vlan_qos/topology.svg[VLAN Interface Ingress/Egress QoS topology]
image::{topdoc}../../test/case/ietf_interfaces/vlan_qos/topology.svg[VLAN Interface Ingress/Egress QoS topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ and that they exchange routes, ending with a simple connectivity check.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/ospf_basic/topology.svg[OSPF Basic topology]
image::{topdoc}../../test/case/ietf_routing/ospf_basic/topology.svg[OSPF Basic topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -10,7 +10,7 @@ converters without link fault forwarding.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/ospf_bfd/topology.svg[OSPF BFD topology]
image::{topdoc}../../test/case/ietf_routing/ospf_bfd/topology.svg[OSPF BFD topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -29,7 +29,7 @@ unless _always_ is set for _default-route-advertising_.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/ospf_default_route_advertise/topology.svg[OSPF Default route advertise topology]
image::{topdoc}../../test/case/ietf_routing/ospf_default_route_advertise/topology.svg[OSPF Default route advertise topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -24,7 +24,7 @@ explicit router-id.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/ospf_multiarea/topology.svg[OSPF with multiple areas topology]
image::{topdoc}../../test/case/ietf_routing/ospf_multiarea/topology.svg[OSPF with multiple areas topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -9,7 +9,7 @@ configuration and passive to function
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/ospf_unnumbered_interface/topology.svg[OSPF unnumbered interfaces topology]
image::{topdoc}../../test/case/ietf_routing/ospf_unnumbered_interface/topology.svg[OSPF unnumbered interfaces topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -7,7 +7,7 @@ which should prevent the route from becoming active.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/route_pref_255/topology.svg[Route preference: Static Route Activation and Maximum Distance topology]
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[]
@@ -10,7 +10,7 @@ to the one lower than DHCP.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/route_pref_dhcp/topology.svg[Route preference: DHCP vs Static topology]
image::{topdoc}../../test/case/ietf_routing/route_pref_dhcp/topology.svg[Route preference: DHCP vs Static topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -10,7 +10,7 @@ becomes unavailable, the static route should take over.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/route_pref_ospf/topology.svg[Route preference: OSPF vs Static topology]
image::{topdoc}../../test/case/ietf_routing/route_pref_ospf/topology.svg[Route preference: OSPF vs Static topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ that data forwarding works as expected via an intermediate device.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_routing/static_routing/topology.svg[Static routing topology]
image::{topdoc}../../test/case/ietf_routing/static_routing/topology.svg[Static routing topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
+1 -1
View File
@@ -4,7 +4,7 @@ Add syslog actions to log to local files, then verify new log files have been cr
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_syslog/basic/topology.svg[Syslog Basic topology]
image::{topdoc}../../test/case/ietf_syslog/basic/topology.svg[Syslog Basic topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
+1 -1
View File
@@ -4,7 +4,7 @@ Verify logging to remote, acting as a remote, and RFC5424 log format.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_syslog/remote/topology.svg[Remote syslog topology]
image::{topdoc}../../test/case/ietf_syslog/remote/topology.svg[Remote syslog topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ with yescrypt.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_system/add_delete_user/topology.svg[Add/delete user topology]
image::{topdoc}../../test/case/ietf_system/add_delete_user/topology.svg[Add/delete user topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
+1 -1
View File
@@ -10,7 +10,7 @@ e.g. ix-01-01-01.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_system/hostname/topology.svg[Set hostname topology]
image::{topdoc}../../test/case/ietf_system/hostname/topology.svg[Set hostname topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -4,7 +4,7 @@ Verify NTP client with multiple servers, ensure one get selected.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_system/ntp_client/topology.svg[Basic NTP client test topology]
image::{topdoc}../../test/case/ietf_system/ntp_client/topology.svg[Basic NTP client test topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
+1 -1
View File
@@ -4,7 +4,7 @@ Verify that it is possible to set timezone using timezone names.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_system/timezone/topology.svg[Set timezone using timezone name topology]
image::{topdoc}../../test/case/ietf_system/timezone/topology.svg[Set timezone using timezone name topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -4,7 +4,7 @@ Verify that it is possible to set timezone using UTC offset
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_system/timezone_utc_offset/topology.svg[Set timezone with UTC offset topology]
image::{topdoc}../../test/case/ietf_system/timezone_utc_offset/topology.svg[Set timezone with UTC offset topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
+1 -1
View File
@@ -4,7 +4,7 @@ Verify it is possible to upgrade.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_system/upgrade/topology.svg[Upgrade topology]
image::{topdoc}../../test/case/ietf_system/upgrade/topology.svg[Upgrade topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ check that it when added as admin it is also the case in Linux.
==== Topology
ifdef::topdoc[]
image::../../test/case/ietf_system/user_admin/topology.svg[Add admin user topology]
image::{topdoc}../../test/case/ietf_system/user_admin/topology.svg[Add admin user topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -8,7 +8,7 @@ The RPC actions: stop + start, and restart are also verified.
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_containers/container_basic/topology.svg[Container basic topology]
image::{topdoc}../../test/case/infix_containers/container_basic/topology.svg[Container basic topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -9,7 +9,7 @@ port accessed from the host.
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_containers/container_bridge/topology.svg[Container with bridge network topology]
image::{topdoc}../../test/case/infix_containers/container_bridge/topology.svg[Container with bridge network topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -27,7 +27,7 @@ phrase, is only reachable from the public interface `ext0`, on
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_containers/container_firewall_basic/topology.svg[Basic Firewall Container topology]
image::{topdoc}../../test/case/infix_containers/container_firewall_basic/topology.svg[Basic Firewall Container topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ given a physical interface instead of an end of a VETH pair.
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_containers/container_phys/topology.svg[Container with physical interface topology]
image::{topdoc}../../test/case/infix_containers/container_phys/topology.svg[Container with physical interface topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -15,7 +15,7 @@ regular bridge, a VETH pair connects the container to the bridge.
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_containers/container_veth/topology.svg[Container with VETH pair topology]
image::{topdoc}../../test/case/infix_containers/container_veth/topology.svg[Container with VETH pair topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -6,7 +6,7 @@ interface.
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_dhcp/dhcp_basic/topology.svg[DHCP Basic topology]
image::{topdoc}../../test/case/infix_dhcp/dhcp_basic/topology.svg[DHCP Basic topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -5,7 +5,7 @@ and that route exists in operational datastore.
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_dhcp/dhcp_router/topology.svg[DHCP router topology]
image::{topdoc}../../test/case/infix_dhcp/dhcp_router/topology.svg[DHCP router topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -16,7 +16,7 @@ via 192.168.0.1 and a default route (option 121) via 192.168.0.254.
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_dhcp/dhcp_routes/topology.svg[DHCP option 121 vs option 3 topology]
image::{topdoc}../../test/case/infix_dhcp/dhcp_routes/topology.svg[DHCP option 121 vs option 3 topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -10,7 +10,7 @@ with three scenarios:
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_services/mdns_allow_deny/topology.svg[mDNS allow/deny interfaces topology]
image::{topdoc}../../test/case/infix_services/mdns_allow_deny/topology.svg[mDNS allow/deny interfaces topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -4,7 +4,7 @@ Verify that 'guest' user can fetch data using only the 'public' key
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_services/ssh_key_authentication/topology.svg[Generate ssh key pair topology]
image::{topdoc}../../test/case/infix_services/ssh_key_authentication/topology.svg[Generate ssh key pair topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -7,7 +7,7 @@ Test SSH server functionality with pre-defined key pair:
==== Topology
ifdef::topdoc[]
image::../../test/case/infix_services/ssh_server_config/topology.svg[SSH server configuration topology]
image::{topdoc}../../test/case/infix_services/ssh_server_config/topology.svg[SSH server configuration topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -4,7 +4,7 @@ Basic test just to get operational from test-config without errors.
==== Topology
ifdef::topdoc[]
image::../../test/case/misc/operational_all/topology.svg[Get operational topology]
image::{topdoc}../../test/case/misc/operational_all/topology.svg[Get operational topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -10,7 +10,7 @@ PC, which can act as a link breaker.
.Use-case overview.
[#img-overview]
ifdef::topdoc[]
image::../../test/case/use_case/ospf_container/overview.svg[]
image::{topdoc}../../test/case/use_case/ospf_container/overview.svg[]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -51,7 +51,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::../../test/case/use_case/ospf_container/internal-network.svg[Internal networks]
image::{topdoc}../../test/case/use_case/ospf_container/internal-network.svg[Internal networks]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
@@ -75,7 +75,7 @@ endif::topdoc[]
==== Topology
ifdef::topdoc[]
image::../../test/case/use_case/ospf_container/topology.svg[OSPF Container topology]
image::{topdoc}../../test/case/use_case/ospf_container/topology.svg[OSPF Container topology]
endif::topdoc[]
ifndef::topdoc[]
ifdef::testgroup[]
+1 -1
View File
@@ -156,7 +156,7 @@ class TestCase:
spec.write(description + "\n\n")
spec.write("==== Topology\n")
spec.write("ifdef::topdoc[]\n")
spec.write(f"image::../../{self.test_dir}/topology.svg[{name} topology]\n")
spec.write(f"image::{{topdoc}}../../{self.test_dir}/topology.svg[{name} topology]\n")
spec.write("endif::topdoc[]\n")
spec.write("ifndef::topdoc[]\n")
spec.write("ifdef::testgroup[]\n")
+2 -2
View File
@@ -27,7 +27,7 @@ export INFAMY_ARGS := --transport=netconf
endif
test:
$(test-dir)/env -r $(base) $(mode) $(binaries) $(pkg-$(ARCH)) $(ninepm) $(TESTS)
$(test-dir)/env -r $(base) $(mode) $(binaries) $(pkg-$(ARCH)) $(ninepm) -v $(TESTS)
test-sh:
$(test-dir)/env $(base) $(mode) $(binaries) $(pkg-$(ARCH)) -i /bin/sh
@@ -41,6 +41,6 @@ test-spec:
# Unit tests run with random (-r) hostname and container name to
# prevent race conditions when running in CI environments.
test-unit:
$(test-dir)/env -r $(base) $(ninepm) $(UNIT_TESTS)
$(test-dir)/env -r $(base) $(ninepm) -v $(UNIT_TESTS)
.PHONY: test test-sh test-unit test-spec