test: drop leading ietf/infix prefix from directories
Let's drop the leading IETF or Infix prefixes from tests. Initially the idea was to mimnic the YANG models, but it's difficult to navigate and does not provide any real benefit to developers or end-users. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
@@ -93,14 +93,14 @@ Each test case is a separate executable, which can be run without
|
||||
arguments:
|
||||
|
||||
```
|
||||
11:42:53 infamy0:test # ./case/infix_dhcp/dhcp_basic.py
|
||||
11:42:53 infamy0:test # ./case/dhcp/dhcp_basic.py
|
||||
```
|
||||
|
||||
To run a suite of tests, e.g., only the DHCP client tests, pass the
|
||||
suite as an argument to [9PM][]:
|
||||
|
||||
```
|
||||
11:42:53 infamy0:test # ./9pm/9pm.py case/infix_dhcp/infix_dhcp.yaml
|
||||
11:42:53 infamy0:test # ./9pm/9pm.py case/dhcp/dhcp.yaml
|
||||
```
|
||||
|
||||
To run the suite of all tests:
|
||||
@@ -234,12 +234,12 @@ your test and run it as normal. Once Python executes the call, it will
|
||||
drop you into the Python debugger:
|
||||
|
||||
```
|
||||
11:42:58 infamy0:test # ./case/infix_dhcp/dhcp_basic.py
|
||||
11:42:58 infamy0:test # ./case/dhcp/dhcp_basic.py
|
||||
# Starting (2024-02-10 11:42:59)
|
||||
# Probing dut1 on port d1a for IPv6LL mgmt address ...
|
||||
# Connecting to mgmt IP fe80::ff:fe00:0%d1a:830 ...
|
||||
ok 1 - Initialize
|
||||
> /home/jocke/src/infix/test/case/infix_dhcp/dhcp_basic.py(44)<module>()
|
||||
> /home/jocke/src/infix/test/case/dhcp/dhcp_basic.py(44)<module>()
|
||||
(Pdb)
|
||||
```
|
||||
|
||||
@@ -252,7 +252,7 @@ want to setup breakpoints without modifying the source, or simply step
|
||||
through the code:
|
||||
|
||||
```
|
||||
11:42:58 infamy0:test # python -m pdb case/infix_dhcp/dhcp_basic.py
|
||||
11:42:58 infamy0:test # python -m pdb case/dhcp/dhcp_basic.py
|
||||
```
|
||||
|
||||
### Deterministic Topology Mappings
|
||||
@@ -296,7 +296,7 @@ This is useful because this value can then be used to rerun a test (or
|
||||
the whole suite) with identical topology mappings:
|
||||
|
||||
```
|
||||
$ make PYTHONHASHSEED=3773822171 TESTS=case/ietf_system/hostname.py test
|
||||
$ make PYTHONHASHSEED=3773822171 TESTS=case/system/hostname.py test
|
||||
```
|
||||
|
||||
### Deterministic Transport Protocol
|
||||
@@ -307,14 +307,14 @@ you get the same protocol used for that hash. But if you want to choose
|
||||
the protocol, add extra arguments to Infamy:
|
||||
|
||||
```
|
||||
$ make INFAMY_EXTRA_ARGS="--transport=restconf" TESTS=case/ietf_system/hostname.py test
|
||||
$ make INFAMY_EXTRA_ARGS="--transport=restconf" TESTS=case/system/hostname.py test
|
||||
```
|
||||
|
||||
or, when running interactively:
|
||||
|
||||
```
|
||||
$ make test-sh
|
||||
09:08:17 infamy0:test # ./9pm/9pm.py -o"--transport=restconf" case/ietf_system/hostname.py
|
||||
09:08:17 infamy0:test # ./9pm/9pm.py -o"--transport=restconf" case/system/hostname.py
|
||||
```
|
||||
|
||||
### Test specification
|
||||
@@ -360,7 +360,7 @@ to start by reviewing an existing test case.
|
||||
|
||||
All tests are located in the `infix/test/case` repository and are
|
||||
grouped by the features they verify. For example,
|
||||
`infix/test/case/infix_services` contains tests for various Infix
|
||||
`infix/test/case/services` contains tests for various Infix
|
||||
services, such as LLDP and mDNS.
|
||||
|
||||
While test grouping is flexible, each test should be placed in a
|
||||
@@ -372,12 +372,12 @@ suite](#running-subsets-of-tests):
|
||||
|
||||
```
|
||||
- name: infix-services
|
||||
suite: infix_services/infix_services.yaml
|
||||
suite: services/services.yaml
|
||||
```
|
||||
|
||||
A new test (e.g., lldp_enable_disable) should be added to the
|
||||
corresponding test group .yaml file, such as
|
||||
`infix/test/cases/infix_services.yaml`:
|
||||
`infix/test/cases/services.yaml`:
|
||||
|
||||
```
|
||||
- name: lldp_enable_disable
|
||||
@@ -385,7 +385,7 @@ corresponding test group .yaml file, such as
|
||||
```
|
||||
|
||||
It is necessary to include the test in
|
||||
`infix/test/case/infix_services/Readme.adoc` to ensure proper test
|
||||
`infix/test/case/services/Readme.adoc` to ensure proper test
|
||||
specification generation:
|
||||
|
||||
```
|
||||
@@ -393,7 +393,7 @@ include::lldp_enable_disable/Readme.adoc[]
|
||||
```
|
||||
|
||||
Each test case should have its own directory under,
|
||||
`infix/test/case/infix_services`, containing:
|
||||
`infix/test/case/services`, containing:
|
||||
|
||||
- `test.py` - the test script
|
||||
- `topology.dot` - the logical topology definition.
|
||||
|
||||
@@ -18,37 +18,37 @@
|
||||
suite: misc/all.yaml
|
||||
|
||||
|
||||
- name: "IETF System"
|
||||
suite: ietf_system/all.yaml
|
||||
- name: "System"
|
||||
suite: system/all.yaml
|
||||
|
||||
# Upgrade may leave wrong boot order
|
||||
- case: meta/bootorder.py
|
||||
infamy:
|
||||
specification: False
|
||||
|
||||
- name: "IETF Syslog"
|
||||
suite: ietf_syslog/all.yaml
|
||||
- name: "Syslog"
|
||||
suite: syslog/all.yaml
|
||||
|
||||
- name: "IETF Interfaces"
|
||||
suite: ietf_interfaces/all.yaml
|
||||
- name: "Interfaces"
|
||||
suite: interfaces/all.yaml
|
||||
|
||||
- name: "IETF Routing"
|
||||
suite: ietf_routing/all.yaml
|
||||
- name: "Routing"
|
||||
suite: routing/all.yaml
|
||||
|
||||
- name: "Infix Firewall"
|
||||
suite: infix_firewall/all.yaml
|
||||
- name: "Firewall"
|
||||
suite: firewall/all.yaml
|
||||
|
||||
- name: "Infix Containers"
|
||||
suite: infix_containers/all.yaml
|
||||
- name: "Containers"
|
||||
suite: containers/all.yaml
|
||||
|
||||
- name: "Infix DHCP"
|
||||
suite: infix_dhcp/all.yaml
|
||||
- name: "DHCP"
|
||||
suite: dhcp/all.yaml
|
||||
|
||||
- name: "IETF Hardware"
|
||||
suite: ietf_hardware/all.yaml
|
||||
- name: "Hardware"
|
||||
suite: hardware/all.yaml
|
||||
|
||||
- name: "Infix Services"
|
||||
suite: infix_services/all.yaml
|
||||
- name: "Services"
|
||||
suite: services/all.yaml
|
||||
|
||||
- name: "Use Case Tests"
|
||||
suite: use_case/all.yaml
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
:testgroup:
|
||||
== infix-containers
|
||||
== Containers
|
||||
|
||||
Tests verifying Infix Docker container support:
|
||||
Tests verifying link:https://opencontainers.org/[OCI container] support:
|
||||
|
||||
- Basic web server container running in host network mode
|
||||
- Container enable/disable functionality via configuration
|
||||
@@ -1,6 +1,6 @@
|
||||
=== Container basic
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/basic]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/basic]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -1,6 +1,6 @@
|
||||
=== Container with bridge network
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/bridge]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/bridge]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,6 +1,6 @@
|
||||
=== Container enabled/disabled
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/enabled]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/enabled]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -1,6 +1,6 @@
|
||||
=== Container environment variables
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/environment]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/environment]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -1,6 +1,6 @@
|
||||
=== Basic Firewall Container
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/firewall_basic]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/firewall_basic]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
@@ -1,12 +1,13 @@
|
||||
=== Host Command Execution from Container
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/host_commands]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/host_commands]
|
||||
|
||||
==== 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.
|
||||
This test verifies that a container in privileged mode can break out of
|
||||
the container to execute commands that affect the host system.
|
||||
Specifically, it confirms that the container can change the hostname of
|
||||
the host.
|
||||
|
||||
==== Topology
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -1,6 +1,6 @@
|
||||
=== Container with physical interface
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/phys]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/phys]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,6 +1,6 @@
|
||||
=== Container Upgrade
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/upgrade]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/upgrade]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
@@ -1,6 +1,6 @@
|
||||
=== Container with VETH pair
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/veth]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/veth]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,6 +1,6 @@
|
||||
=== Container Volume Persistence
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_containers/volume]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/containers/volume]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -1,7 +1,7 @@
|
||||
:testgroup:
|
||||
== infix-dhcp
|
||||
== DHCP
|
||||
|
||||
Tests verifying DHCPv4/DHCPv6 client and server functionality in Infix:
|
||||
Tests verifying DHCPv4/DHCPv6 client and server functionality:
|
||||
|
||||
- Basic DHCPv4 client lease acquisition and configuration
|
||||
- DHCPv4 client with default gateway assignment
|
||||
@@ -1,6 +1,6 @@
|
||||
=== DHCP Basic
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/client_basic]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/dhcp/client_basic]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,6 +1,6 @@
|
||||
=== DHCP Router
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/client_default_gw]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/dhcp/client_default_gw]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -1,6 +1,6 @@
|
||||
=== DHCP Hostname Priority
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/client_hostname]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/dhcp/client_hostname]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -1,6 +1,6 @@
|
||||
=== DHCP option 121 vs option 3
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/client_routes]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/dhcp/client_routes]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -1,6 +1,6 @@
|
||||
=== DHCP Server
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/server_basic]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/dhcp/server_basic]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
@@ -1,6 +1,6 @@
|
||||
=== DHCP Server Static Host
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/server_host]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/dhcp/server_host]
|
||||
|
||||
==== Description
|
||||
|
||||
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 519 KiB After Width: | Height: | Size: 519 KiB |
@@ -1,6 +1,6 @@
|
||||
=== DHCP Server Multiple Subnets
|
||||
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/infix_dhcp/server_subnets]
|
||||
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/dhcp/server_subnets]
|
||||
|
||||
==== Description
|
||||
|
||||