diff options
-rw-r--r-- | .gitignore | 5 | ||||
l--------- | src/plugins/srv6-am/test/vpp_srv6.py | 1 | ||||
l--------- | src/plugins/srv6-as/test/vpp_srv6.py | 1 | ||||
-rw-r--r-- | test/Makefile | 41 | ||||
-rw-r--r-- | test/bfd.py (renamed from src/vnet/bfd/test/bfd.py) | 0 | ||||
-rw-r--r-- | test/doc/Makefile | 5 | ||||
-rw-r--r-- | test/doc/conf.py | 13 | ||||
-rw-r--r-- | test/test_abf.py (renamed from src/plugins/abf/test/test_abf.py) | 0 | ||||
-rw-r--r-- | test/test_acl_plugin.py (renamed from src/plugins/acl/test/test_acl_plugin.py) | 0 | ||||
-rw-r--r-- | test/test_acl_plugin_conns.py (renamed from src/plugins/acl/test/test_acl_plugin_conns.py) | 0 | ||||
-rw-r--r-- | test/test_acl_plugin_l2l3.py (renamed from src/plugins/acl/test/test_acl_plugin_l2l3.py) | 0 | ||||
-rw-r--r-- | test/test_acl_plugin_macip.py (renamed from src/plugins/acl/test/test_acl_plugin_macip.py) | 0 | ||||
-rw-r--r-- | test/test_adl.py (renamed from src/plugins/adl/test/test_adl.py) | 0 | ||||
-rw-r--r-- | test/test_arping.py (renamed from src/plugins/arping/test/test_arping.py) | 0 | ||||
-rw-r--r-- | test/test_bfd.py (renamed from src/vnet/bfd/test/test_bfd.py) | 0 | ||||
-rw-r--r-- | test/test_bier.py (renamed from src/vnet/bier/test/test_bier.py) | 0 | ||||
-rw-r--r-- | test/test_bihash.py (renamed from src/vppinfra/test/test_bihash.py) | 0 | ||||
-rw-r--r-- | test/test_bond.py (renamed from src/vnet/bonding/test/test_bond.py) | 0 | ||||
-rw-r--r-- | test/test_buffers.py (renamed from src/vlib/test/test_buffers.py) | 0 | ||||
-rw-r--r-- | test/test_cdp.py (renamed from src/plugins/cdp/test/test_cdp.py) | 0 | ||||
-rw-r--r-- | test/test_classifier.py (renamed from src/vnet/classify/test/test_classifier.py) | 0 | ||||
-rw-r--r-- | test/test_classifier_ip6.py (renamed from src/vnet/classify/test/test_classifier_ip6.py) | 0 | ||||
-rw-r--r-- | test/test_classify_l2_acl.py (renamed from src/plugins/acl/test/test_classify_l2_acl.py) | 0 | ||||
-rw-r--r-- | test/test_cli.py (renamed from src/vlib/test/test_cli.py) | 0 | ||||
-rw-r--r-- | test/test_cnat.py (renamed from src/plugins/cnat/test/test_cnat.py) | 0 | ||||
-rw-r--r-- | test/test_counters.py (renamed from src/vlib/test/test_counters.py) | 0 | ||||
-rw-r--r-- | test/test_crypto.py (renamed from src/vnet/crypto/test/test_crypto.py) | 0 | ||||
-rw-r--r-- | test/test_det44.py (renamed from src/plugins/nat/test/test_det44.py) | 0 | ||||
-rw-r--r-- | test/test_dhcp.py (renamed from src/plugins/dhcp/test/test_dhcp.py) | 0 | ||||
-rw-r--r-- | test/test_dhcp6.py (renamed from src/plugins/dhcp/test/test_dhcp6.py) | 0 | ||||
-rw-r--r-- | test/test_dns.py (renamed from src/plugins/dns/test/test_dns.py) | 0 | ||||
-rw-r--r-- | test/test_dslite.py (renamed from src/plugins/nat/test/test_dslite.py) | 0 | ||||
-rw-r--r-- | test/test_dvr.py (renamed from src/vnet/fib/test/test_dvr.py) | 0 | ||||
-rw-r--r-- | test/test_endian.py (renamed from src/vpp-api/test/test_endian.py) | 0 | ||||
-rw-r--r-- | test/test_fib.py (renamed from src/vnet/fib/test/test_fib.py) | 0 | ||||
-rw-r--r-- | test/test_flowprobe.py (renamed from src/plugins/flowprobe/test/test_flowprobe.py) | 0 | ||||
-rw-r--r-- | test/test_gbp.py (renamed from src/plugins/gbp/test/test_gbp.py) | 0 | ||||
-rw-r--r-- | test/test_geneve.py (renamed from src/plugins/geneve/test/test_geneve.py) | 0 | ||||
-rw-r--r-- | test/test_gre.py (renamed from src/vnet/gre/test/test_gre.py) | 0 | ||||
-rw-r--r-- | test/test_gro.py (renamed from src/vnet/gso/test/test_gro.py) | 0 | ||||
-rw-r--r-- | test/test_gso.py (renamed from src/vnet/gso/test/test_gso.py) | 0 | ||||
-rw-r--r-- | test/test_gtpu.py (renamed from src/plugins/gtpu/test/test_gtpu.py) | 0 | ||||
-rw-r--r-- | test/test_igmp.py (renamed from src/plugins/igmp/test/test_igmp.py) | 0 | ||||
-rw-r--r-- | test/test_ikev2.py (renamed from src/plugins/ikev2/test/test_ikev2.py) | 0 | ||||
-rw-r--r-- | test/test_ipsec_nat.py (renamed from src/plugins/nat/test/test_ipsec_nat.py) | 0 | ||||
-rw-r--r-- | test/test_l2tp.py (renamed from src/plugins/l2tp/test/test_l2tp.py) | 0 | ||||
-rw-r--r-- | test/test_l3xc.py (renamed from src/plugins/l3xc/test/test_l3xc.py) | 0 | ||||
-rw-r--r-- | test/test_lacp.py (renamed from src/plugins/lacp/test/test_lacp.py) | 0 | ||||
-rw-r--r-- | test/test_lb.py (renamed from src/plugins/lb/test/test_lb.py) | 0 | ||||
-rw-r--r-- | test/test_lb_api.py (renamed from src/plugins/lb/test/test_lb_api.py) | 0 | ||||
-rw-r--r-- | test/test_linux_cp.py (renamed from src/plugins/linux-cp/test/test_linux_cp.py) | 0 | ||||
-rw-r--r-- | test/test_lisp.py (renamed from src/plugins/lisp/test/test_lisp.py) | 0 | ||||
-rw-r--r-- | test/test_mactime.py (renamed from src/plugins/mactime/test/test_mactime.py) | 0 | ||||
-rw-r--r-- | test/test_map.py (renamed from src/plugins/map/test/test_map.py) | 0 | ||||
-rw-r--r-- | test/test_map_br.py (renamed from src/plugins/map/test/test_map_br.py) | 0 | ||||
-rw-r--r-- | test/test_memif.py (renamed from src/plugins/memif/test/test_memif.py) | 0 | ||||
-rw-r--r-- | test/test_mss_clamp.py (renamed from src/plugins/mss_clamp/test/test_mss_clamp.py) | 0 | ||||
-rw-r--r-- | test/test_nat44_ed.py (renamed from src/plugins/nat/test/test_nat44_ed.py) | 0 | ||||
-rw-r--r-- | test/test_nat44_ei.py (renamed from src/plugins/nat/test/test_nat44_ei.py) | 0 | ||||
-rw-r--r-- | test/test_nat64.py (renamed from src/plugins/nat/test/test_nat64.py) | 0 | ||||
-rw-r--r-- | test/test_nat66.py (renamed from src/plugins/nat/test/test_nat66.py) | 0 | ||||
-rw-r--r-- | test/test_ping.py (renamed from src/plugins/ping/test/test_ping.py) | 0 | ||||
-rw-r--r-- | test/test_pnat.py (renamed from src/plugins/nat/test/test_pnat.py) | 0 | ||||
-rw-r--r-- | test/test_policer.py (renamed from src/vnet/policer/test/test_policer.py) | 0 | ||||
-rw-r--r-- | test/test_policer_input.py (renamed from src/vnet/policer/test/test_policer_input.py) | 0 | ||||
-rw-r--r-- | test/test_pppoe.py (renamed from src/plugins/pppoe/test/test_pppoe.py) | 0 | ||||
-rw-r--r-- | test/test_quic.py (renamed from src/plugins/quic/test/test_quic.py) | 0 | ||||
-rw-r--r-- | test/test_srv6.py (renamed from src/plugins/srv6-am/test/test_srv6.py) | 0 | ||||
-rw-r--r-- | test/test_srv6_ad.py (renamed from src/plugins/srv6-ad/test/test_srv6_ad.py) | 0 | ||||
-rw-r--r-- | test/test_srv6_ad_flow.py (renamed from src/plugins/srv6-ad-flow/test/test_srv6_ad_flow.py) | 0 | ||||
-rwxr-xr-x | test/test_srv6_as.py (renamed from src/plugins/srv6-as/test/test_srv6_as.py) | 0 | ||||
-rw-r--r-- | test/test_srv6_mobile.py (renamed from src/plugins/srv6-mobile/test/test_srv6_mobile.py) | 0 | ||||
-rw-r--r-- | test/test_svs.py (renamed from src/plugins/svs/test/test_svs.py) | 0 | ||||
-rw-r--r-- | test/test_urpf.py (renamed from src/plugins/urpf/test/test_urpf.py) | 0 | ||||
-rw-r--r-- | test/test_vapi.py (renamed from src/vpp-api/test/test_vapi.py) | 0 | ||||
-rw-r--r-- | test/test_vpe_api.py (renamed from src/vpp-api/test/test_vpe_api.py) | 0 | ||||
-rw-r--r-- | test/test_vppinfra.py (renamed from src/vppinfra/test/test_vppinfra.py) | 0 | ||||
-rw-r--r-- | test/test_vrrp.py (renamed from src/plugins/vrrp/test/test_vrrp.py) | 0 | ||||
-rw-r--r-- | test/test_vxlan.py (renamed from src/vnet/vxlan/test/test_vxlan.py) | 0 | ||||
-rw-r--r-- | test/test_vxlan6.py (renamed from src/vnet/vxlan/test/test_vxlan6.py) | 0 | ||||
-rw-r--r-- | test/test_vxlan_gbp.py (renamed from src/vnet/vxlan/test/test_vxlan_gbp.py) | 0 | ||||
-rw-r--r-- | test/test_vxlan_gpe.py (renamed from src/vnet/vxlan/test/test_vxlan_gpe.py) | 0 | ||||
-rwxr-xr-x | test/test_wireguard.py (renamed from src/plugins/wireguard/test/test_wireguard.py) | 0 | ||||
-rw-r--r-- | test/vpp_acl.py (renamed from src/plugins/acl/test/vpp_acl.py) | 0 | ||||
-rw-r--r-- | test/vpp_bier.py (renamed from src/vnet/bier/test/vpp_bier.py) | 0 | ||||
-rw-r--r-- | test/vpp_bond_interface.py (renamed from src/vnet/bonding/test/vpp_bond_interface.py) | 0 | ||||
-rw-r--r-- | test/vpp_dhcp.py (renamed from src/plugins/dhcp/test/vpp_dhcp.py) | 0 | ||||
-rw-r--r-- | test/vpp_igmp.py (renamed from src/plugins/igmp/test/vpp_igmp.py) | 0 | ||||
-rw-r--r-- | test/vpp_ikev2.py (renamed from src/plugins/ikev2/test/vpp_ikev2.py) | 0 | ||||
-rw-r--r-- | test/vpp_lb.py (renamed from src/plugins/lb/test/vpp_lb.py) | 0 | ||||
-rw-r--r-- | test/vpp_memif.py (renamed from src/plugins/memif/test/vpp_memif.py) | 0 | ||||
-rw-r--r-- | test/vpp_pppoe_interface.py (renamed from src/plugins/pppoe/test/vpp_pppoe_interface.py) | 0 | ||||
-rw-r--r-- | test/vpp_srv6.py (renamed from src/plugins/srv6-ad/test/vpp_srv6.py) | 0 | ||||
-rw-r--r-- | test/vpp_vxlan_gbp_tunnel.py (renamed from src/vnet/vxlan/test/vpp_vxlan_gbp_tunnel.py) | 0 | ||||
-rw-r--r-- | test/vpp_vxlan_tunnel.py (renamed from src/vnet/vxlan/test/vpp_vxlan_tunnel.py) | 0 |
95 files changed, 25 insertions, 41 deletions
diff --git a/.gitignore b/.gitignore index d91975e72a0..80c4e4f92c9 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,9 @@ /test/run/ /test/build/ /test/coverage/ +/test/venv/ +/test/vapi_test/ +/test/doc/build/ /build-config.mk /build/external/*.tar.gz /build/external/*.tar.xz @@ -117,4 +120,4 @@ compile_commands.json /extras/vpptop/build/* # debian packaging -.pc
\ No newline at end of file +.pc diff --git a/src/plugins/srv6-am/test/vpp_srv6.py b/src/plugins/srv6-am/test/vpp_srv6.py deleted file mode 120000 index 78f756605fc..00000000000 --- a/src/plugins/srv6-am/test/vpp_srv6.py +++ /dev/null @@ -1 +0,0 @@ -../../srv6-ad/test/vpp_srv6.py
\ No newline at end of file diff --git a/src/plugins/srv6-as/test/vpp_srv6.py b/src/plugins/srv6-as/test/vpp_srv6.py deleted file mode 120000 index 78f756605fc..00000000000 --- a/src/plugins/srv6-as/test/vpp_srv6.py +++ /dev/null @@ -1 +0,0 @@ -../../srv6-ad/test/vpp_srv6.py
\ No newline at end of file diff --git a/test/Makefile b/test/Makefile index 0ee61a23c0b..82095883b55 100644 --- a/test/Makefile +++ b/test/Makefile @@ -13,14 +13,10 @@ ifndef TEST_DIR $(error TEST_DIR is not set) endif -export TEST_BR = $(BR)/build-test -export TEST_DOC_BR = $(TEST_BR)/doc -export BUILD_TEST_SRC = $(TEST_BR)/src +export TEST_BR = $(TEST_DIR) +export TEST_DOC_BR = $(TEST_DIR)/doc/build FAILED_DIR=/tmp/vpp-failed-unittests/ -PLUGIN_TEST_DIRS=$(shell find $(PLUGIN_SRC_DIR) -type d -name test -exec echo -n " -d {}" \;) -CORE_TEST_DIRS=$(shell find $(WS_ROOT)/src -not \( -path $(INTERN_PLUGIN_SRC_DIR) -prune \) -type d -name test -exec echo -n " -d {}" \;) -VPP_TEST_DIRS=$(shell ls -d $(TEST_DIR)$(PLUGIN_TEST_DIRS)$(CORE_TEST_DIRS) $(EXTERN_TESTS)) -VPP_TEST_SRC=$(shell for dir in $(VPP_TEST_DIRS) ; do ls $$dir/*.py 2>/dev/null; done) +VPP_TEST_DIRS=$(shell ls -d $(TEST_DIR) $(EXTERN_TESTS)) FORCE_NO_WIPE=0 ifeq ($(DEBUG),gdb) @@ -70,7 +66,7 @@ ifneq ($(EXTERN_TESTS),) UNITTEST_EXTRA_OPTS=$(UNITTEST_FAILFAST_OPTS) -d $(EXTERN_TESTS) endif -VENV_PATH=$(TEST_BR)/venv +VENV_PATH=$(TEST_DIR)/venv ifeq ($(TEST_DEBUG),1) VENV_RUN_DIR:=$(VENV_PATH)/run-debug @@ -84,11 +80,6 @@ else PYTHON_INTERP=$(PYTHON) endif -empty:= -space:= $(empty) $(empty) -export PYTHONPATH=$(subst $(space),:,$(VPP_TEST_DIRS)) -export PYTHONPYCACHEPREFIX=$(TEST_BR)/pycache - PYTHON_VERSION=$(shell $(PYTHON_INTERP) -c 'import sys; print(sys.version_info.major)') PIP_VERSION=20.1.1 # Keep in sync with requirements.txt @@ -158,7 +149,7 @@ PLUGIN_SRC_DIR=$(INTERN_PLUGIN_SRC_DIR) endif define retest-func -@env VPP_IN_GDB=$(VPP_IN_GDB) FORCE_FOREGROUND=$(FORCE_FOREGROUND) FAILED_DIR=$(FAILED_DIR) VENV_PATH=$(VENV_PATH) scripts/setsid_wrapper.sh $(FORCE_FOREGROUND) $(VENV_PATH)/bin/activate $(PYTHON_INTERP) $(PYTHON_PROFILE_OPTS) $(BUILD_TEST_SRC)/run_tests.py -d $(BUILD_TEST_SRC) $(UNITTEST_EXTRA_OPTS) || env FAILED_DIR=$(FAILED_DIR) COMPRESS_FAILED_TEST_LOGS=$(COMPRESS_FAILED_TEST_LOGS) scripts/compress_failed.sh +@env VPP_IN_GDB=$(VPP_IN_GDB) FORCE_FOREGROUND=$(FORCE_FOREGROUND) FAILED_DIR=$(FAILED_DIR) VENV_PATH=$(VENV_PATH) scripts/setsid_wrapper.sh $(FORCE_FOREGROUND) $(VENV_PATH)/bin/activate $(PYTHON_INTERP) $(PYTHON_PROFILE_OPTS) run_tests.py -d $(TEST_DIR) $(UNITTEST_EXTRA_OPTS) || env FAILED_DIR=$(FAILED_DIR) COMPRESS_FAILED_TEST_LOGS=$(COMPRESS_FAILED_TEST_LOGS) scripts/compress_failed.sh endef .PHONY: sanity @@ -167,8 +158,8 @@ ifeq ($(SANITY),no) SANITY_IMPORT_VPP_PAPI_CMD=true SANITY_RUN_VPP_CMD=true else -SANITY_IMPORT_VPP_PAPI_CMD=source $(VENV_PATH)/bin/activate && $(PYTHON_INTERP) $(BUILD_TEST_SRC)/sanity_import_vpp_papi.py -SANITY_RUN_VPP_CMD=source $(VENV_PATH)/bin/activate && $(PYTHON_INTERP) $(BUILD_TEST_SRC)/sanity_run_vpp.py +SANITY_IMPORT_VPP_PAPI_CMD=source $(VENV_PATH)/bin/activate && $(PYTHON_INTERP) sanity_import_vpp_papi.py +SANITY_RUN_VPP_CMD=source $(VENV_PATH)/bin/activate && $(PYTHON_INTERP) sanity_run_vpp.py endif ifndef TEST_JOBS @@ -207,16 +198,11 @@ sanity: test-dep ext-test-apps: make -C ext test-apps -$(BUILD_TEST_SRC): verify-env - @rm -rf $@ - @mkdir -p $@ - @for file in $(VPP_TEST_SRC); do if [ ! -L $$file ] && [ ! -e $(BUILD_TEST_SRC)/$$(basename $$file) ] ; then ln -s $$file $(BUILD_TEST_SRC) ; fi ; done - $(FAILED_DIR): reset @mkdir -p $@ .PHONY: test-dep -test-dep: $(BUILD_TEST_SRC) $(PAPI_INSTALL_DONE) $(FAILED_DIR) +test-dep: $(PAPI_INSTALL_DONE) $(FAILED_DIR) .PHONY: test test: test-dep ext-test-apps sanity @@ -229,8 +215,6 @@ retest: verify-env sanity $(FAILED_DIR) .PHONY: shell shell: test-dep @echo "source $(VENV_PATH)/bin/activate;\ - cd $(BUILD_TEST_SRC);\ - export PYTHONPATH=$(PYTHONPATH);\ export RND_SEED=$(RND_SEED);\ echo '***';\ echo PYTHONPATH=$(PYTHONPATH);\ @@ -259,14 +243,13 @@ wipe: reset @make -C ext clean @rm -rf $(VENV_PATH) @rm -rf $(patsubst %,%/__pycache__, $(VPP_TEST_DIRS)) - @rm -rf $(BUILD_TEST_SRC) $(TEST_DOC_BR): $(PIP_INSTALL_DONE) @mkdir -p $@ @bash -c "source $(VENV_PATH)/bin/activate && make -C doc html" .PHONY: doc -doc: $(BUILD_TEST_SRC) $(PIP_PATCH_DONE) $(TEST_DOC_BR) +doc: $(PIP_PATCH_DONE) $(TEST_DOC_BR) @echo @echo "Test Documentation URL: $(TEST_DOC_BR)/html/index.html" @echo "Run 'make test-wipe-doc test-doc' to rebuild the test docs" @@ -305,7 +288,7 @@ wipe-all: wipe wipe-papi wipe-doc wipe-cov @rm -rf $(TEST_BR) .PHONY: checkstyle-diff -checkstyle-diff: $(BUILD_TEST_SRC) $(PIP_INSTALL_DONE) +checkstyle-diff: $(PIP_INSTALL_DONE) @bash -c "source $(VENV_PATH)/bin/activate &&\ $(PYTHON_INTERP) -m pip install pycodestyle" @bash -c "source $(VENV_PATH)/bin/activate &&\ @@ -326,11 +309,11 @@ start-gdb: sanity $(call retest-func) .PHONY: checkstyle -checkstyle: $(BUILD_TEST_SRC) $(PIP_INSTALL_DONE) +checkstyle: $(PIP_INSTALL_DONE) @bash -c "source $(VENV_PATH)/bin/activate &&\ $(PYTHON_INTERP) -m pip install pycodestyle" @bash -c "source $(VENV_PATH)/bin/activate &&\ - pycodestyle --show-source --ignore=W504,E126,E241,E226,E305,E704,E741,E722 -v $(BUILD_TEST_SRC)/*.py ||\ + pycodestyle --show-source --ignore=W504,E126,E241,E226,E305,E704,E741,E722 -v *.py ||\ (echo \"*******************************************************************\" &&\ echo \"* Test framework PEP8 compliance check FAILED (checked all files)\" &&\ echo \"*******************************************************************\" &&\ diff --git a/src/vnet/bfd/test/bfd.py b/test/bfd.py index 9d44425ec9f..9d44425ec9f 100644 --- a/src/vnet/bfd/test/bfd.py +++ b/test/bfd.py diff --git a/test/doc/Makefile b/test/doc/Makefile index 608df0a1baf..2d06cedd0be 100644 --- a/test/doc/Makefile +++ b/test/doc/Makefile @@ -19,9 +19,6 @@ endif ifndef TEST_DOC_BR $(error TEST_DOC_BR is not set) endif -ifndef BUILD_TEST_SRC - $(error BUILD_TEST_SRC is not set) -endif ifeq ($(IN_VENV),0) $(error "Not running inside virtualenv (are you running 'make test-doc' from root?)") endif @@ -32,7 +29,7 @@ regen-api-doc: verify-virtualenv @cp $(SRC_DOC_DIR)/index.rst $(API_DOC_GEN_DIR) @cp $(SRC_DOC_DIR)/indices.rst $(API_DOC_GEN_DIR) @cp $(SRC_DOC_DIR)/overview.rst $(API_DOC_GEN_DIR) - sphinx-apidoc -o $(API_DOC_GEN_DIR) -H "Module documentation" $(BUILD_TEST_SRC) + sphinx-apidoc -o $(API_DOC_GEN_DIR) -H "Module documentation" $(TEST_DIR) .PHONY: html html: regen-api-doc verify-virtualenv diff --git a/test/doc/conf.py b/test/doc/conf.py index f5e974954d8..f73cde27fae 100644 --- a/test/doc/conf.py +++ b/test/doc/conf.py @@ -18,7 +18,9 @@ # import os import sys -sys.path.insert(0, os.path.abspath('../../build-root/build-test/src')) +import subprocess +from datetime import date +sys.path.insert(0, os.path.abspath('..')) # -- General configuration ------------------------------------------------ @@ -59,17 +61,18 @@ master_doc = 'index' # General information about the project. project = u'VPP test framework' -copyright = u'2019, VPP team' -author = u'VPP team' +copyright = f'{date.today().year}, FD.io VPP team' +author = u'FD.io VPP team' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = u'20.01' +output = subprocess.run(['../../src/scripts/version'], stdout=subprocess.PIPE) +version = f'{output.stdout.decode("utf-8")}' # The full version, including alpha/beta/rc tags. -release = u'20.01-rc0' +release = f'{output.stdout.decode("utf-8")}' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/src/plugins/abf/test/test_abf.py b/test/test_abf.py index 097476b879a..097476b879a 100644 --- a/src/plugins/abf/test/test_abf.py +++ b/test/test_abf.py diff --git a/src/plugins/acl/test/test_acl_plugin.py b/test/test_acl_plugin.py index 53d96215949..53d96215949 100644 --- a/src/plugins/acl/test/test_acl_plugin.py +++ b/test/test_acl_plugin.py diff --git a/src/plugins/acl/test/test_acl_plugin_conns.py b/test/test_acl_plugin_conns.py index c7941fa150b..c7941fa150b 100644 --- a/src/plugins/acl/test/test_acl_plugin_conns.py +++ b/test/test_acl_plugin_conns.py diff --git a/src/plugins/acl/test/test_acl_plugin_l2l3.py b/test/test_acl_plugin_l2l3.py index 48faafb7398..48faafb7398 100644 --- a/src/plugins/acl/test/test_acl_plugin_l2l3.py +++ b/test/test_acl_plugin_l2l3.py diff --git a/src/plugins/acl/test/test_acl_plugin_macip.py b/test/test_acl_plugin_macip.py index 5edd7b03258..5edd7b03258 100644 --- a/src/plugins/acl/test/test_acl_plugin_macip.py +++ b/test/test_acl_plugin_macip.py diff --git a/src/plugins/adl/test/test_adl.py b/test/test_adl.py index 4a996fc5c90..4a996fc5c90 100644 --- a/src/plugins/adl/test/test_adl.py +++ b/test/test_adl.py diff --git a/src/plugins/arping/test/test_arping.py b/test/test_arping.py index bd8b6250a54..bd8b6250a54 100644 --- a/src/plugins/arping/test/test_arping.py +++ b/test/test_arping.py diff --git a/src/vnet/bfd/test/test_bfd.py b/test/test_bfd.py index 01b468c8e27..01b468c8e27 100644 --- a/src/vnet/bfd/test/test_bfd.py +++ b/test/test_bfd.py diff --git a/src/vnet/bier/test/test_bier.py b/test/test_bier.py index 2f649bbde53..2f649bbde53 100644 --- a/src/vnet/bier/test/test_bier.py +++ b/test/test_bier.py diff --git a/src/vppinfra/test/test_bihash.py b/test/test_bihash.py index 2949d66750d..2949d66750d 100644 --- a/src/vppinfra/test/test_bihash.py +++ b/test/test_bihash.py diff --git a/src/vnet/bonding/test/test_bond.py b/test/test_bond.py index 5df86ae5b0f..5df86ae5b0f 100644 --- a/src/vnet/bonding/test/test_bond.py +++ b/test/test_bond.py diff --git a/src/vlib/test/test_buffers.py b/test/test_buffers.py index f50f05c609a..f50f05c609a 100644 --- a/src/vlib/test/test_buffers.py +++ b/test/test_buffers.py diff --git a/src/plugins/cdp/test/test_cdp.py b/test/test_cdp.py index 46751e81d86..46751e81d86 100644 --- a/src/plugins/cdp/test/test_cdp.py +++ b/test/test_cdp.py diff --git a/src/vnet/classify/test/test_classifier.py b/test/test_classifier.py index 11c0985f4d4..11c0985f4d4 100644 --- a/src/vnet/classify/test/test_classifier.py +++ b/test/test_classifier.py diff --git a/src/vnet/classify/test/test_classifier_ip6.py b/test/test_classifier_ip6.py index 211374b5ec6..211374b5ec6 100644 --- a/src/vnet/classify/test/test_classifier_ip6.py +++ b/test/test_classifier_ip6.py diff --git a/src/plugins/acl/test/test_classify_l2_acl.py b/test/test_classify_l2_acl.py index b1309881e58..b1309881e58 100644 --- a/src/plugins/acl/test/test_classify_l2_acl.py +++ b/test/test_classify_l2_acl.py diff --git a/src/vlib/test/test_cli.py b/test/test_cli.py index 5005bf4c43a..5005bf4c43a 100644 --- a/src/vlib/test/test_cli.py +++ b/test/test_cli.py diff --git a/src/plugins/cnat/test/test_cnat.py b/test/test_cnat.py index ff4c44033cb..ff4c44033cb 100644 --- a/src/plugins/cnat/test/test_cnat.py +++ b/test/test_cnat.py diff --git a/src/vlib/test/test_counters.py b/test/test_counters.py index e4cb85621d0..e4cb85621d0 100644 --- a/src/vlib/test/test_counters.py +++ b/test/test_counters.py diff --git a/src/vnet/crypto/test/test_crypto.py b/test/test_crypto.py index aa62dba1bab..aa62dba1bab 100644 --- a/src/vnet/crypto/test/test_crypto.py +++ b/test/test_crypto.py diff --git a/src/plugins/nat/test/test_det44.py b/test/test_det44.py index ced77468959..ced77468959 100644 --- a/src/plugins/nat/test/test_det44.py +++ b/test/test_det44.py diff --git a/src/plugins/dhcp/test/test_dhcp.py b/test/test_dhcp.py index e17b0049df7..e17b0049df7 100644 --- a/src/plugins/dhcp/test/test_dhcp.py +++ b/test/test_dhcp.py diff --git a/src/plugins/dhcp/test/test_dhcp6.py b/test/test_dhcp6.py index 57eb113fb13..57eb113fb13 100644 --- a/src/plugins/dhcp/test/test_dhcp6.py +++ b/test/test_dhcp6.py diff --git a/src/plugins/dns/test/test_dns.py b/test/test_dns.py index fb8958c511b..fb8958c511b 100644 --- a/src/plugins/dns/test/test_dns.py +++ b/test/test_dns.py diff --git a/src/plugins/nat/test/test_dslite.py b/test/test_dslite.py index 2b4f4aacc9f..2b4f4aacc9f 100644 --- a/src/plugins/nat/test/test_dslite.py +++ b/test/test_dslite.py diff --git a/src/vnet/fib/test/test_dvr.py b/test/test_dvr.py index 8531b8553ca..8531b8553ca 100644 --- a/src/vnet/fib/test/test_dvr.py +++ b/test/test_dvr.py diff --git a/src/vpp-api/test/test_endian.py b/test/test_endian.py index 462ee2b6b57..462ee2b6b57 100644 --- a/src/vpp-api/test/test_endian.py +++ b/test/test_endian.py diff --git a/src/vnet/fib/test/test_fib.py b/test/test_fib.py index 7c08722d803..7c08722d803 100644 --- a/src/vnet/fib/test/test_fib.py +++ b/test/test_fib.py diff --git a/src/plugins/flowprobe/test/test_flowprobe.py b/test/test_flowprobe.py index 517729d8591..517729d8591 100644 --- a/src/plugins/flowprobe/test/test_flowprobe.py +++ b/test/test_flowprobe.py diff --git a/src/plugins/gbp/test/test_gbp.py b/test/test_gbp.py index 21d0770cf66..21d0770cf66 100644 --- a/src/plugins/gbp/test/test_gbp.py +++ b/test/test_gbp.py diff --git a/src/plugins/geneve/test/test_geneve.py b/test/test_geneve.py index 9ce1f8ff643..9ce1f8ff643 100644 --- a/src/plugins/geneve/test/test_geneve.py +++ b/test/test_geneve.py diff --git a/src/vnet/gre/test/test_gre.py b/test/test_gre.py index ba20ba8dec0..ba20ba8dec0 100644 --- a/src/vnet/gre/test/test_gre.py +++ b/test/test_gre.py diff --git a/src/vnet/gso/test/test_gro.py b/test/test_gro.py index 33215d65fa7..33215d65fa7 100644 --- a/src/vnet/gso/test/test_gro.py +++ b/test/test_gro.py diff --git a/src/vnet/gso/test/test_gso.py b/test/test_gso.py index 094600eb74c..094600eb74c 100644 --- a/src/vnet/gso/test/test_gso.py +++ b/test/test_gso.py diff --git a/src/plugins/gtpu/test/test_gtpu.py b/test/test_gtpu.py index 791067c0633..791067c0633 100644 --- a/src/plugins/gtpu/test/test_gtpu.py +++ b/test/test_gtpu.py diff --git a/src/plugins/igmp/test/test_igmp.py b/test/test_igmp.py index 8053bc3d544..8053bc3d544 100644 --- a/src/plugins/igmp/test/test_igmp.py +++ b/test/test_igmp.py diff --git a/src/plugins/ikev2/test/test_ikev2.py b/test/test_ikev2.py index 558e8a02f87..558e8a02f87 100644 --- a/src/plugins/ikev2/test/test_ikev2.py +++ b/test/test_ikev2.py diff --git a/src/plugins/nat/test/test_ipsec_nat.py b/test/test_ipsec_nat.py index dcedf64b52d..dcedf64b52d 100644 --- a/src/plugins/nat/test/test_ipsec_nat.py +++ b/test/test_ipsec_nat.py diff --git a/src/plugins/l2tp/test/test_l2tp.py b/test/test_l2tp.py index 5a665238260..5a665238260 100644 --- a/src/plugins/l2tp/test/test_l2tp.py +++ b/test/test_l2tp.py diff --git a/src/plugins/l3xc/test/test_l3xc.py b/test/test_l3xc.py index d7a82976cf5..d7a82976cf5 100644 --- a/src/plugins/l3xc/test/test_l3xc.py +++ b/test/test_l3xc.py diff --git a/src/plugins/lacp/test/test_lacp.py b/test/test_lacp.py index b5f2dae2cd3..b5f2dae2cd3 100644 --- a/src/plugins/lacp/test/test_lacp.py +++ b/test/test_lacp.py diff --git a/src/plugins/lb/test/test_lb.py b/test/test_lb.py index fafb87b62d9..fafb87b62d9 100644 --- a/src/plugins/lb/test/test_lb.py +++ b/test/test_lb.py diff --git a/src/plugins/lb/test/test_lb_api.py b/test/test_lb_api.py index 70d41d432a7..70d41d432a7 100644 --- a/src/plugins/lb/test/test_lb_api.py +++ b/test/test_lb_api.py diff --git a/src/plugins/linux-cp/test/test_linux_cp.py b/test/test_linux_cp.py index df38681b16e..df38681b16e 100644 --- a/src/plugins/linux-cp/test/test_linux_cp.py +++ b/test/test_linux_cp.py diff --git a/src/plugins/lisp/test/test_lisp.py b/test/test_lisp.py index 0a6e7525159..0a6e7525159 100644 --- a/src/plugins/lisp/test/test_lisp.py +++ b/test/test_lisp.py diff --git a/src/plugins/mactime/test/test_mactime.py b/test/test_mactime.py index 85ded33d158..85ded33d158 100644 --- a/src/plugins/mactime/test/test_mactime.py +++ b/test/test_mactime.py diff --git a/src/plugins/map/test/test_map.py b/test/test_map.py index 90fee301267..90fee301267 100644 --- a/src/plugins/map/test/test_map.py +++ b/test/test_map.py diff --git a/src/plugins/map/test/test_map_br.py b/test/test_map_br.py index 3602ddd2e31..3602ddd2e31 100644 --- a/src/plugins/map/test/test_map_br.py +++ b/test/test_map_br.py diff --git a/src/plugins/memif/test/test_memif.py b/test/test_memif.py index fc7cf9b2e7e..fc7cf9b2e7e 100644 --- a/src/plugins/memif/test/test_memif.py +++ b/test/test_memif.py diff --git a/src/plugins/mss_clamp/test/test_mss_clamp.py b/test/test_mss_clamp.py index 23495b6050b..23495b6050b 100644 --- a/src/plugins/mss_clamp/test/test_mss_clamp.py +++ b/test/test_mss_clamp.py diff --git a/src/plugins/nat/test/test_nat44_ed.py b/test/test_nat44_ed.py index 2ce7f23dac9..2ce7f23dac9 100644 --- a/src/plugins/nat/test/test_nat44_ed.py +++ b/test/test_nat44_ed.py diff --git a/src/plugins/nat/test/test_nat44_ei.py b/test/test_nat44_ei.py index 4160ea2c344..4160ea2c344 100644 --- a/src/plugins/nat/test/test_nat44_ei.py +++ b/test/test_nat44_ei.py diff --git a/src/plugins/nat/test/test_nat64.py b/test/test_nat64.py index 9a10b9fc380..9a10b9fc380 100644 --- a/src/plugins/nat/test/test_nat64.py +++ b/test/test_nat64.py diff --git a/src/plugins/nat/test/test_nat66.py b/test/test_nat66.py index acda72bcdf6..acda72bcdf6 100644 --- a/src/plugins/nat/test/test_nat66.py +++ b/test/test_nat66.py diff --git a/src/plugins/ping/test/test_ping.py b/test/test_ping.py index 8c5c087b0c5..8c5c087b0c5 100644 --- a/src/plugins/ping/test/test_ping.py +++ b/test/test_ping.py diff --git a/src/plugins/nat/test/test_pnat.py b/test/test_pnat.py index d5b60050691..d5b60050691 100644 --- a/src/plugins/nat/test/test_pnat.py +++ b/test/test_pnat.py diff --git a/src/vnet/policer/test/test_policer.py b/test/test_policer.py index 6b15a0234a3..6b15a0234a3 100644 --- a/src/vnet/policer/test/test_policer.py +++ b/test/test_policer.py diff --git a/src/vnet/policer/test/test_policer_input.py b/test/test_policer_input.py index c95f6643ff2..c95f6643ff2 100644 --- a/src/vnet/policer/test/test_policer_input.py +++ b/test/test_policer_input.py diff --git a/src/plugins/pppoe/test/test_pppoe.py b/test/test_pppoe.py index 99dba01cdc9..99dba01cdc9 100644 --- a/src/plugins/pppoe/test/test_pppoe.py +++ b/test/test_pppoe.py diff --git a/src/plugins/quic/test/test_quic.py b/test/test_quic.py index 1257f4e2b0a..1257f4e2b0a 100644 --- a/src/plugins/quic/test/test_quic.py +++ b/test/test_quic.py diff --git a/src/plugins/srv6-am/test/test_srv6.py b/test/test_srv6.py index 449ad59ac60..449ad59ac60 100644 --- a/src/plugins/srv6-am/test/test_srv6.py +++ b/test/test_srv6.py diff --git a/src/plugins/srv6-ad/test/test_srv6_ad.py b/test/test_srv6_ad.py index 2627df32aa9..2627df32aa9 100644 --- a/src/plugins/srv6-ad/test/test_srv6_ad.py +++ b/test/test_srv6_ad.py diff --git a/src/plugins/srv6-ad-flow/test/test_srv6_ad_flow.py b/test/test_srv6_ad_flow.py index f5452089a79..f5452089a79 100644 --- a/src/plugins/srv6-ad-flow/test/test_srv6_ad_flow.py +++ b/test/test_srv6_ad_flow.py diff --git a/src/plugins/srv6-as/test/test_srv6_as.py b/test/test_srv6_as.py index eec44e31ee5..eec44e31ee5 100755 --- a/src/plugins/srv6-as/test/test_srv6_as.py +++ b/test/test_srv6_as.py diff --git a/src/plugins/srv6-mobile/test/test_srv6_mobile.py b/test/test_srv6_mobile.py index a695c9d7115..a695c9d7115 100644 --- a/src/plugins/srv6-mobile/test/test_srv6_mobile.py +++ b/test/test_srv6_mobile.py diff --git a/src/plugins/svs/test/test_svs.py b/test/test_svs.py index db4ad8078e0..db4ad8078e0 100644 --- a/src/plugins/svs/test/test_svs.py +++ b/test/test_svs.py diff --git a/src/plugins/urpf/test/test_urpf.py b/test/test_urpf.py index 8f4e563f8bc..8f4e563f8bc 100644 --- a/src/plugins/urpf/test/test_urpf.py +++ b/test/test_urpf.py diff --git a/src/vpp-api/test/test_vapi.py b/test/test_vapi.py index d91099210d2..d91099210d2 100644 --- a/src/vpp-api/test/test_vapi.py +++ b/test/test_vapi.py diff --git a/src/vpp-api/test/test_vpe_api.py b/test/test_vpe_api.py index 54f7e41151b..54f7e41151b 100644 --- a/src/vpp-api/test/test_vpe_api.py +++ b/test/test_vpe_api.py diff --git a/src/vppinfra/test/test_vppinfra.py b/test/test_vppinfra.py index 8b6ec965fea..8b6ec965fea 100644 --- a/src/vppinfra/test/test_vppinfra.py +++ b/test/test_vppinfra.py diff --git a/src/plugins/vrrp/test/test_vrrp.py b/test/test_vrrp.py index cc70613dfb5..cc70613dfb5 100644 --- a/src/plugins/vrrp/test/test_vrrp.py +++ b/test/test_vrrp.py diff --git a/src/vnet/vxlan/test/test_vxlan.py b/test/test_vxlan.py index 028275ccedf..028275ccedf 100644 --- a/src/vnet/vxlan/test/test_vxlan.py +++ b/test/test_vxlan.py diff --git a/src/vnet/vxlan/test/test_vxlan6.py b/test/test_vxlan6.py index 123cce9b7ba..123cce9b7ba 100644 --- a/src/vnet/vxlan/test/test_vxlan6.py +++ b/test/test_vxlan6.py diff --git a/src/vnet/vxlan/test/test_vxlan_gbp.py b/test/test_vxlan_gbp.py index f332aced7d8..f332aced7d8 100644 --- a/src/vnet/vxlan/test/test_vxlan_gbp.py +++ b/test/test_vxlan_gbp.py diff --git a/src/vnet/vxlan/test/test_vxlan_gpe.py b/test/test_vxlan_gpe.py index c5d6bf07f7c..c5d6bf07f7c 100644 --- a/src/vnet/vxlan/test/test_vxlan_gpe.py +++ b/test/test_vxlan_gpe.py diff --git a/src/plugins/wireguard/test/test_wireguard.py b/test/test_wireguard.py index edc305b1336..edc305b1336 100755 --- a/src/plugins/wireguard/test/test_wireguard.py +++ b/test/test_wireguard.py diff --git a/src/plugins/acl/test/vpp_acl.py b/test/vpp_acl.py index 2d2f7ca257b..2d2f7ca257b 100644 --- a/src/plugins/acl/test/vpp_acl.py +++ b/test/vpp_acl.py diff --git a/src/vnet/bier/test/vpp_bier.py b/test/vpp_bier.py index 6e087a8ee0b..6e087a8ee0b 100644 --- a/src/vnet/bier/test/vpp_bier.py +++ b/test/vpp_bier.py diff --git a/src/vnet/bonding/test/vpp_bond_interface.py b/test/vpp_bond_interface.py index 60c1ac1557b..60c1ac1557b 100644 --- a/src/vnet/bonding/test/vpp_bond_interface.py +++ b/test/vpp_bond_interface.py diff --git a/src/plugins/dhcp/test/vpp_dhcp.py b/test/vpp_dhcp.py index f8265a26252..f8265a26252 100644 --- a/src/plugins/dhcp/test/vpp_dhcp.py +++ b/test/vpp_dhcp.py diff --git a/src/plugins/igmp/test/vpp_igmp.py b/test/vpp_igmp.py index 8f78a9b909a..8f78a9b909a 100644 --- a/src/plugins/igmp/test/vpp_igmp.py +++ b/test/vpp_igmp.py diff --git a/src/plugins/ikev2/test/vpp_ikev2.py b/test/vpp_ikev2.py index de2081268ee..de2081268ee 100644 --- a/src/plugins/ikev2/test/vpp_ikev2.py +++ b/test/vpp_ikev2.py diff --git a/src/plugins/lb/test/vpp_lb.py b/test/vpp_lb.py index d755cef70e5..d755cef70e5 100644 --- a/src/plugins/lb/test/vpp_lb.py +++ b/test/vpp_lb.py diff --git a/src/plugins/memif/test/vpp_memif.py b/test/vpp_memif.py index 226f8af72b5..226f8af72b5 100644 --- a/src/plugins/memif/test/vpp_memif.py +++ b/test/vpp_memif.py diff --git a/src/plugins/pppoe/test/vpp_pppoe_interface.py b/test/vpp_pppoe_interface.py index 505ac4c6425..505ac4c6425 100644 --- a/src/plugins/pppoe/test/vpp_pppoe_interface.py +++ b/test/vpp_pppoe_interface.py diff --git a/src/plugins/srv6-ad/test/vpp_srv6.py b/test/vpp_srv6.py index d6efedc9f3e..d6efedc9f3e 100644 --- a/src/plugins/srv6-ad/test/vpp_srv6.py +++ b/test/vpp_srv6.py diff --git a/src/vnet/vxlan/test/vpp_vxlan_gbp_tunnel.py b/test/vpp_vxlan_gbp_tunnel.py index 0898bd9f810..0898bd9f810 100644 --- a/src/vnet/vxlan/test/vpp_vxlan_gbp_tunnel.py +++ b/test/vpp_vxlan_gbp_tunnel.py diff --git a/src/vnet/vxlan/test/vpp_vxlan_tunnel.py b/test/vpp_vxlan_tunnel.py index d7e087da6f8..d7e087da6f8 100644 --- a/src/vnet/vxlan/test/vpp_vxlan_tunnel.py +++ b/test/vpp_vxlan_tunnel.py |