Merge pull request #1079 from kernelkit/gen-test-spec

Minor Test Update
This commit is contained in:
Joachim Wiberg
2025-07-03 14:51:04 +02:00
committed by GitHub
5 changed files with 93 additions and 22 deletions
@@ -1,6 +1,10 @@
=== Interface Speed Duplex (Copper)
==== Description
Verify that auto-negotiation results in expected speed/duplex mode.
Verify that the interface operates at the expected speed/duplex in two scenarios:
1. Fixed configuration host and target are both manually set to a specific speed/duplex
2. Auto-negotiation host advertises selectable modes and the target negotiates
to the highest common speed/duplex.
==== Topology
ifdef::topdoc[]
@@ -17,17 +21,17 @@ endif::topdoc[]
==== Test sequence
. Set up topology and attach to target DUT
. Enable target interface
. Set fixed 10/full
. Set fixed 10/half
. Set fixed 100/full
. Set fixed 100/half
. Verify fixed 10/full
. Verify fixed 10/half
. Verify fixed 100/full
. Verify fixed 100/half
. Switch to auto-negotiation mode for target and host
. Configure host to advertise 10/Full only
. Configure host to advertise 10/Half only
. Configure host to advertise 100/Full only
. Configure host to advertise 100/Half only
. Configure host to advertise 10/half + 10/full + 100/half
. Configure host to advertise 10/half + 10/full + 100/half + 100/full + 1000/full
. Verify auto-negotiation to 10/Full only
. Verify auto-negotiation to 10/Half only
. Verify auto-negotiation to 100/Full only
. Verify auto-negotiation to 100/Half only
. Verify auto-negotiation to 10/half + 10/full + 100/half
. Verify auto-negotiation to 10/half + 10/full + 100/half + 100/full + 1000/full
<<<
@@ -2,7 +2,11 @@
"""
Interface Speed Duplex (Copper)
Verify that auto-negotiation results in expected speed/duplex mode.
Verify that the interface operates at the expected speed/duplex in two scenarios:
1. Fixed configuration host and target are both manually set to a specific speed/duplex
2. Auto-negotiation host advertises selectable modes and the target negotiates
to the highest common speed/duplex.
"""
import infamy
@@ -164,22 +168,22 @@ with infamy.Test() as test:
ns.addip("10.0.0.1")
# Fixed mode tests
with test.step("Set fixed 10/full"):
with test.step("Verify fixed 10/full"):
set_host_speed_duplex(hdata, 10, "full")
set_target_speed_duplex(target, tdata, 10, "full")
verify_speed_duplex(target, ns, tdata, 10, "full")
with test.step("Set fixed 10/half"):
with test.step("Verify fixed 10/half"):
set_host_speed_duplex(hdata, 10, "half")
set_target_speed_duplex(target, tdata, 10, "half")
verify_speed_duplex(target, ns, tdata, 10, "half")
with test.step("Set fixed 100/full"):
with test.step("Verify fixed 100/full"):
set_host_speed_duplex(hdata, 100, "full")
set_target_speed_duplex(target, tdata, 100, "full")
verify_speed_duplex(target, ns, tdata, 100, "full")
with test.step("Set fixed 100/half"):
with test.step("Verify fixed 100/half"):
set_host_speed_duplex(hdata, 100, "half")
set_target_speed_duplex(target, tdata, 100, "half")
verify_speed_duplex(target, ns, tdata, 100, "half")
@@ -189,27 +193,27 @@ with infamy.Test() as test:
enable_host_autoneg(hdata)
enable_target_autoneg(target, tdata)
with test.step("Configure host to advertise 10/Full only"):
with test.step("Verify auto-negotiation to 10/Full only"):
advertise_host_modes(hdata, ["10full"])
verify_speed_duplex(target, ns, tdata, 10, "full")
with test.step("Configure host to advertise 10/Half only"):
with test.step("Verify auto-negotiation to 10/Half only"):
advertise_host_modes(hdata, ["10half"])
verify_speed_duplex(target, ns, tdata, 10, "half")
with test.step("Configure host to advertise 100/Full only"):
with test.step("Verify auto-negotiation to 100/Full only"):
advertise_host_modes(hdata, ["100full"])
verify_speed_duplex(target, ns, tdata, 100, "full")
with test.step("Configure host to advertise 100/Half only"):
with test.step("Verify auto-negotiation to 100/Half only"):
advertise_host_modes(hdata, ["100half"])
verify_speed_duplex(target, ns, tdata, 100, "half")
with test.step("Configure host to advertise 10/half + 10/full + 100/half"):
with test.step("Verify auto-negotiation to 10/half + 10/full + 100/half"):
advertise_host_modes(hdata, ["10half", "10full", "100half"])
verify_speed_duplex(target, ns, tdata, 100, "half")
with test.step("Configure host to advertise 10/half + 10/full + 100/half + 100/full + 1000/full"):
with test.step("Verify auto-negotiation to 10/half + 10/full + 100/half + 100/full + 1000/full"):
advertise_host_modes(hdata, ["10half", "10full", "100half", "100full", "1000full"])
verify_speed_duplex(target, ns, tdata, 1000, "full")
@@ -0,0 +1 @@
container_host_commands.adoc
@@ -0,0 +1,29 @@
=== Host Command Execution from Container
==== Description
This test verifies that a container running on Infix can execute commands
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
. Set up topology and attach to target DUT
. Set initial hostname
. Verify initial hostname in operational
. Include script in OCI image to modify host hostname
. Verify container has started
. Verify the new hostname set by the container
<<<
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Title: 1x1 Pages: 1 -->
<svg width="424pt" height="45pt"
viewBox="0.00 0.00 424.03 45.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 41)">
<title>1x1</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-41 420.03,-41 420.03,4 -4,4"/>
<!-- host -->
<g id="node1" class="node">
<title>host</title>
<polygon fill="none" stroke="black" points="0,-0.5 0,-36.5 100,-36.5 100,-0.5 0,-0.5"/>
<text text-anchor="middle" x="25" y="-14.8" font-family="DejaVu Sans Mono, Book" font-size="14.00">host</text>
<polyline fill="none" stroke="black" points="50,-0.5 50,-36.5 "/>
<text text-anchor="middle" x="75" y="-14.8" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt</text>
</g>
<!-- target -->
<g id="node2" class="node">
<title>target</title>
<polygon fill="none" stroke="black" points="300.03,-0.5 300.03,-36.5 416.03,-36.5 416.03,-0.5 300.03,-0.5"/>
<text text-anchor="middle" x="325.03" y="-14.8" font-family="DejaVu Sans Mono, Book" font-size="14.00">mgmt</text>
<polyline fill="none" stroke="black" points="350.03,-0.5 350.03,-36.5 "/>
<text text-anchor="middle" x="383.03" y="-14.8" font-family="DejaVu Sans Mono, Book" font-size="14.00">target</text>
</g>
<!-- host&#45;&#45;target -->
<g id="edge1" class="edge">
<title>host:mgmt&#45;&#45;target:mgmt</title>
<path fill="none" stroke="lightgray" stroke-width="2" d="M100,-18.5C100,-18.5 300.03,-18.5 300.03,-18.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB