aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp
AgeCommit message (Expand)AuthorFilesLines
2021-07-28IPsec: add nth matching SPD entry outbound TCsJuraj Linkeš8-0/+1176
2021-07-15FIX: Typo's in perf suitespmikus28-28/+28
2021-06-24Perf actions: Skip vpp-runtime in stat_pre_trialVratko Polak1-1/+1
2021-06-17Core: Rework CPU allocationpmikus40-100/+104
2021-06-16ip6lisp: Do not fail on string overhead valueVratko Polak2-2/+2
2021-06-10FIX: Pylint reducepmikus16-16/+16
2021-06-10Infra: vpp_device -> Ubuntu 20.04pmikus1-20/+19
2021-06-10Add gtpu sw performance test casesxinfeng zhao1-0/+138
2021-05-28Framework: Telemetry retakepmikus2-33/+24
2021-05-26rxq_ratio default value changed to 1viliam.luc10-10/+0
2021-05-26Perf: Add perfmon_plugin for telemetrypmikus803-1276/+1557
2021-05-20hoststack perf: iperf3 udp hoststack performance tests.Dave Wallace2-0/+141
2021-05-20perf: add TCP Nginx+LDPRELOAD suitesxizhanx4-0/+484
2021-04-01IPsec: add 4, 40 and 400 tunnel policy testsJuraj Linkeš24-0/+3852
2021-03-31IPsec: add 2n crypto policy udir perf testsJuraj Linkeš8-0/+1276
2021-03-31Device: Add stats test with AVFVratko Polak2-21/+88
2021-03-02Fix: Async scheduler tests are not hwVratko Polak12-12/+12
2021-02-26IPsec: add 2n crypto udir perf testsJuraj Linkeš96-0/+15736
2021-02-22Ipsec: Always generate ikeyVratko Polak2-10/+10
2021-02-19Add test suites for crypto sw scheduler engineYulong Pei16-0/+2704
2021-02-19FIX: Naming convention compliancepmikus4-16/+16
2021-02-19Performance: Add GSO tests to report executionpmikus4-4/+4
2021-02-19Framework: GSO testpmikus4-4/+4
2021-02-05NAT44ed: Add pure throuhput bidir testsVratko Polak10-0/+1409
2021-01-21Tests: Temporarily disable IPv6 VM test that is randomly failingpmikus1-2/+2
2021-01-21Reconf: Fix bidir/unidir mismatchVratko Polak52-156/+104
2021-01-20acl: add L2BD dev testsMartin Balaz5-0/+491
2021-01-20Add suites with randomized ip6 profilesVratko Polak12-12/+843
2021-01-14perf: GENEVE tunnel test, l3 modeJan Gelety6-0/+930
2021-01-13Add 3n ip4-rnd testsVratko Polak6-13/+430
2021-01-11tests: add 2n1l l2 acl tests, update 2n-tx2 specsJuraj Linkeš53-96/+862
2021-01-04API: deprecated COP APIsTomas Alexy8-116/+114
2021-01-04GSO: TAP/VHOST use casepmikus5-0/+484
2020-12-17PAPI: Cache connected client instancesVratko Polak6-6/+12
2020-12-16API: deprecated IPSEC APIsJan Gelety130-130/+131
2020-12-03vpp-device: GENEVE tunnel test, l3 modeJan Gelety1-0/+107
2020-12-08Revert "vpp-device: GENEVE tunnel test, l3 mode"Peter Mikus1-107/+0
2020-12-03vpp-device: GENEVE tunnel test, l3 modeJan Gelety1-0/+107
2020-11-26Re-enable 9000B tests for ipsecVratko Polak160-0/+1920
2020-10-29Support existing test types with ASTFVratko Polak116-1170/+2954
2020-10-23CSIT-1597 NAT44 API: dynamic configJan Gelety17-85/+4
2020-09-17VPP-DEVICE: Add check of vpp statistic commandsJan Gelety1-0/+104
2020-10-19FIX: disable sending IPv6 RA messages from VMsJuraj Linkeš2-2/+2
2020-10-19Tests: Remove GBPpmikus2-242/+0
2020-10-15FIX: vpp not started with configuration for nat44ed with 16M sessionsJan Gelety1-1/+1
2020-09-12Test: Add ramp-up phase to nat44ed-udir testsJan Gelety5-10/+35
2020-09-30Framework: Add possibility to send ramp-up trafficJan Gelety6-61/+43
2020-09-30test: compute max_translations_per_thread based on worker threads numberJan Gelety15-15/+90
2020-09-30Framework: main heap size value multiplicationJan Gelety8-0/+16
2020-09-24test: nat44det - add session number checkJan Gelety7-165/+81
t; gtags - (re)generate gtags database" @echo " cscope - (re)generate cscope database" @echo " checkstyle - check coding style" @echo " fixstyle - fix coding style" @echo " doxygen - (re)generate documentation" @echo " bootstrap-doxygen - setup Doxygen dependencies" @echo " wipe-doxygen - wipe all generated documentation" @echo " docs - Build the Sphinx documentation" @echo " docs-venv - Build the virtual environment for the Sphinx docs" @echo " docs-clean - Remove the generated files from the Sphinx docs" @echo " test-doc - generate documentation for test framework" @echo " test-wipe-doc - wipe documentation for test framework" @echo " test-cov - generate code coverage report for test framework" @echo " test-wipe-cov - wipe code coverage report for test framework" @echo " test-checkstyle - check PEP8 compliance for test framework" @echo "" @echo "Make Arguments:" @echo " V=[0|1] - set build verbosity level" @echo " STARTUP_CONF=<path> - startup configuration file" @echo " (e.g. /etc/vpp/startup.conf)" @echo " STARTUP_DIR=<path> - startup drectory (e.g. /etc/vpp)" @echo " It also sets STARTUP_CONF if" @echo " startup.conf file is present" @echo " GDB=<path> - gdb binary to use for debugging" @echo " PLATFORM=<name> - target platform. default is vpp" @echo " TEST=<filter> - apply filter to test set, see test-help" @echo " DPDK_CONFIG=<conf> - add specified dpdk config commands to" @echo " autogenerated startup.conf" @echo " (e.g. \"no-pci\" )" @echo " SAMPLE_PLUGIN=yes - in addition build/run/debug sample plugin" @echo " DISABLED_PLUGINS=<list> - comma separated list of plugins which" @echo " should not be loaded" @echo "" @echo "Current Argument Values:" @echo " V = $(V)" @echo " STARTUP_CONF = $(STARTUP_CONF)" @echo " STARTUP_DIR = $(STARTUP_DIR)" @echo " GDB = $(GDB)" @echo " PLATFORM = $(PLATFORM)" @echo " DPDK_VERSION = $(DPDK_VERSION)" @echo " DPDK_CONFIG = $(DPDK_CONFIG)" @echo " SAMPLE_PLUGIN = $(SAMPLE_PLUGIN)" @echo " DISABLED_PLUGINS = $(DISABLED_PLUGINS)" $(BR)/.deps.ok: ifeq ($(findstring y,$(UNATTENDED)),y) make install-dep endif ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID)) @MISSING=$$(apt-get install -y -qq -s $(DEB_DEPENDS) | grep "^Inst ") ; \ if [ -n "$$MISSING" ] ; then \ echo "\nPlease install missing packages: \n$$MISSING\n" ; \ echo "by executing \"make install-dep\"\n" ; \ exit 1 ; \ fi ; \ exit 0 else ifneq ("$(wildcard /etc/redhat-release)","") @for i in $(RPM_DEPENDS) ; do \ RPM=$$(basename -s .rpm "$${i##*/}" | cut -d- -f1,2,3) ; \ MISSING+=$$(rpm -q $$RPM | grep "^package") ; \ done ; \ if [ -n "$$MISSING" ] ; then \ echo "Please install missing RPMs: \n$$MISSING\n" ; \ echo "by executing \"make install-dep\"\n" ; \ exit 1 ; \ fi ; \ exit 0 endif @touch $@ bootstrap: @echo "'make bootstrap' is not needed anymore" install-dep: ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID)) ifeq ($(OS_VERSION_ID),14.04) @sudo -E apt-get $(CONFIRM) $(FORCE) install software-properties-common endif ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-8) @grep -q jessie-backports /etc/apt/sources.list /etc/apt/sources.list.d/* 2> /dev/null \ || ( echo "Please install jessie-backports" ; exit 1 ) endif @sudo -E apt-get update @sudo -E apt-get $(APT_ARGS) $(CONFIRM) $(FORCE) install $(DEB_DEPENDS) else ifneq ("$(wildcard /etc/redhat-release)","") ifeq ($(OS_ID),rhel) @sudo -E yum-config-manager --enable rhel-server-rhscl-7-rpms @sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib else ifeq ($(OS_ID),centos) @sudo -E yum install $(CONFIRM) centos-release-scl-rh epel-release @sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib else ifeq ($(OS_ID),fedora) @sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib endif else ifeq ($(filter opensuse-tumbleweed,$(OS_ID)),$(OS_ID)) @sudo -E zypper refresh @sudo -E zypper install -y $(RPM_SUSE_DEPENDS) else ifeq ($(filter opensuse-leap,$(OS_ID)),$(OS_ID)) @sudo -E zypper refresh @sudo -E zypper install -y $(RPM_SUSE_DEPENDS) else ifeq ($(filter opensuse,$(OS_ID)),$(OS_ID)) @sudo -E zypper refresh @sudo -E zypper install -y $(RPM_SUSE_DEPENDS) else $(error "This option currently works only on Ubuntu, Debian, RHEL, CentOS or openSUSE systems") endif define make @make -C $(BR) PLATFORM=$(PLATFORM) TAG=$(1) $(2) endef $(BR)/scripts/.version: ifneq ("$(wildcard /etc/redhat-release)","") $(shell $(BR)/scripts/version rpm-string > $(BR)/scripts/.version) else $(shell $(BR)/scripts/version > $(BR)/scripts/.version) endif DIST_FILE = $(BR)/vpp-$(shell src/scripts/version).tar DIST_SUBDIR = vpp-$(shell src/scripts/version|cut -f1 -d-) dist: @if git rev-parse 2> /dev/null ; then \ git archive \ --prefix=$(DIST_SUBDIR)/ \ --format=tar \ -o $(DIST_FILE) \ HEAD ; \ git describe > $(BR)/.version ; \ else \ (cd .. ; tar -cf $(DIST_FILE) $(DIST_SUBDIR) --exclude=*.tar) ; \ src/scripts/version > $(BR)/.version ; \ fi @tar --append \ --file $(DIST_FILE) \ --transform='s,.*/.version,$(DIST_SUBDIR)/src/scripts/.version,' \ $(BR)/.version @$(RM) $(BR)/.version $(DIST_FILE).xz @xz -v --threads=0 $(DIST_FILE) @$(RM) $(BR)/vpp-latest.tar.xz @ln -rs $(DIST_FILE).xz $(BR)/vpp-latest.tar.xz build: $(BR)/.deps.ok $(call make,$(PLATFORM)_debug,$(addsuffix -install,$(TARGETS))) wipedist: @$(RM) $(BR)/*.tar.xz wipe: wipedist test-wipe $(BR)/.deps.ok $(call make,$(PLATFORM)_debug,$(addsuffix -wipe,$(TARGETS))) @find . -type f -name "*.api.json" ! -path "./test/*" -exec rm {} \; rebuild: wipe build build-release: $(BR)/.deps.ok $(call make,$(PLATFORM),$(addsuffix -install,$(TARGETS))) wipe-release: test-wipe $(BR)/.deps.ok $(call make,$(PLATFORM),$(addsuffix -wipe,$(TARGETS))) rebuild-release: wipe-release build-release libexpand = $(subst $(subst ,, ),:,$(foreach lib,$(1),$(BR)/install-$(2)-native/vpp/$(lib)/$(3))) export TEST_DIR ?= $(WS_ROOT)/test define test $(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=$(1) TAG=$(2) vpp-install,) $(eval libs:=lib lib64) make -C test \ VPP_BUILD_DIR=$(BR)/build-$(2)-native \ VPP_BIN=$(BR)/install-$(2)-native/vpp/bin/vpp \ VPP_PLUGIN_PATH=$(call libexpand,$(libs),$(2),vpp_plugins) \ VPP_INSTALL_PATH=$(BR)/install-$(2)-native/ \ LD_LIBRARY_PATH=$(call libexpand,$(libs),$(2),) \ EXTENDED_TESTS=$(EXTENDED_TESTS) \ PYTHON=$(PYTHON) \ OS_ID=$(OS_ID) \ CACHE_OUTPUT=$(CACHE_OUTPUT) \ $(3) endef test: $(call test,vpp,vpp,test) test-debug: $(call test,vpp,vpp_debug,test) test-gcov: $(call test,vpp,vpp_gcov,test) test-all: $(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp vom-install,) $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp,test) test-all-debug: $(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp_debug vom-install,) $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp_debug,test) test-help: @make -C test help test-wipe: @make -C test wipe test-shell: $(call test,vpp,vpp,shell) test-shell-debug: $(call test,vpp,vpp_debug,shell) test-dep: @make -C test test-dep test-doc: @make -C test doc test-wipe-doc: @make -C test wipe-doc test-cov: @make -C $(BR) PLATFORM=vpp TAG=vpp_gcov vom-install japi-install $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp_gcov,cov) test-wipe-cov: @make -C test wipe-cov test-checkstyle: @make -C test checkstyle retest: $(call test,vpp,vpp,retest) retest-debug: $(call test,vpp,vpp_debug,retest) ifeq ("$(wildcard $(STARTUP_CONF))","") define run @echo "WARNING: STARTUP_CONF not defined or file doesn't exist." @echo " Running with minimal startup config: $(MINIMAL_STARTUP_CONF)\n" @cd $(STARTUP_DIR) && \ $(SUDO) $(2) $(1)/vpp/bin/vpp $(MINIMAL_STARTUP_CONF) endef else define run @cd $(STARTUP_DIR) && \ $(SUDO) $(2) $(1)/vpp/bin/vpp $(shell cat $(STARTUP_CONF) | sed -e 's/#.*//') endef endif %.files: .FORCE @find . \( -name '*\.[chyS]' -o -name '*\.java' -o -name '*\.lex' \) -and \ \( -not -path './build-root*' -o -path \ './build-root/build-vpp_debug-native/dpdk*' \) > $@ .FORCE: run: $(call run, $(BR)/install-$(PLATFORM)_debug-native) run-release: $(call run, $(BR)/install-$(PLATFORM)-native) debug: $(call run, $(BR)/install-$(PLATFORM)_debug-native,$(GDB) $(GDB_ARGS) --args) build-coverity: $(call make,$(PLATFORM)_coverity,install-packages) debug-release: $(call run, $(BR)/install-$(PLATFORM)-native,$(GDB) $(GDB_ARGS) --args) build-vat: $(call make,$(PLATFORM)_debug,vpp-api-test-install) run-vat: @$(SUDO) $(BR)/install-$(PLATFORM)_debug-native/vpp/bin/vpp_api_test pkg-deb: $(call make,$(PLATFORM),vpp-package-deb) vom-pkg-deb: $(call make,$(PLATFORM),vpp-package-deb) $(call make,$(PLATFORM),vom-package-deb) pkg-deb-debug: $(call make,$(PLATFORM)_debug,vpp-package-deb) vom-pkg-deb-debug: $(call make,$(PLATFORM)_debug,vpp-package-deb) $(call make,$(PLATFORM)_debug,vom-package-deb) pkg-rpm: dist make -C extras/rpm pkg-srpm: dist make -C extras/rpm srpm dpdk-install-dev: $(call banner,"This command is deprecated. Please use 'make install-ext-deps'") make -C build/external install-$(PKG) install-ext-deps: make -C build/external install-$(PKG) ctags: ctags.files @ctags --totals --tag-relative -L $< @rm $< gtags: ctags @gtags --gtagslabel=ctags cscope: cscope.files @cscope -b -q -v checkstyle: @build-root/scripts/checkstyle.sh fixstyle: @build-root/scripts/checkstyle.sh --fix # # Build the documentation # # Doxygen configuration and our utility scripts export DOXY_DIR ?= $(WS_ROOT)/doxygen define make-doxy @OS_ID="$(OS_ID)" make -C $(DOXY_DIR) $@ endef .PHONY: bootstrap-doxygen doxygen wipe-doxygen bootstrap-doxygen: $(call make-doxy) doxygen: $(call make-doxy) wipe-doxygen: $(call make-doxy) # Sphinx Documents export DOCS_DIR = $(WS_ROOT)/docs export VENV_DIR = $(WS_ROOT)/sphinx_venv export SPHINX_SCRIPTS_DIR = $(WS_ROOT)/docs/scripts .PHONY: docs-venv docs docs-clean docs-venv: @($(SPHINX_SCRIPTS_DIR)/sphinx-make.sh venv) docs: $(DOCS_DIR) @($(SPHINX_SCRIPTS_DIR)/sphinx-make.sh html) docs-clean: @($(SPHINX_SCRIPTS_DIR)/sphinx-make.sh clean) verify: install-dep $(BR)/.deps.ok install-ext-deps $(call banner,"Building for PLATFORM=vpp using gcc") @make -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages $(call banner,"Building sample-plugin") @make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install $(call banner,"Building libmemif") @make -C build-root PLATFORM=vpp TAG=vpp libmemif-install $(call banner,"Building VOM") @make -C build-root PLATFORM=vpp TAG=vpp vom-install $(call banner,"Building $(PKG) packages") @make pkg-$(PKG) ifeq ($(OS_ID)-$(OS_VERSION_ID),ubuntu-18.04) $(call banner,"Running tests") @make COMPRESS_FAILED_TEST_LOGS=yes RETRIES=3 test endif