summaryrefslogtreecommitdiffstats
path: root/test/scripts
AgeCommit message (Collapse)AuthorFilesLines
2024-01-19build: Explicitly use bash for shell scriptsTom Jones6-6/+6
VPP requires bash for all shell scripts. Align shebang lines in build and test scripts to look up the location of bash rather than hard coding '/bin/bash'. Look up the location of bash for makefiles. Type: improvement Change-Id: I23b705d81d60389fa8af61c680cf0abd74f0ea24 Signed-off-by: Tom Jones <thj@freebsd.org>
2023-09-20tests: remove unsupported qemu featureNaveen Joy1-1/+1
pretty=on|off has been removed from qemu and its presence causes VM boot up issues. Type: fix Change-Id: I4a9f15dba5015e81fbd32278b1c74b2606c32c8f Signed-off-by: Naveen Joy <najoy@cisco.com>
2022-12-13tests: tapv2, tunv2 and af_packet interface tests for vppNaveen Joy1-8/+3
Tests gso/gro-coalesce features on tapv2, tunv2 and af_packet interfaces to ensure that packet transmission is enabled correctly for various MTU sizes and interface combinations in bridged and routed topologies for IPv4 and IPv6. Interface tests are dynamically generated at run time from the config file vm_test_config.py. Type: test Change-Id: I5f9d8cc80d20b4e34011fc8a87e35659bd9613bc Signed-off-by: Naveen Joy <najoy@cisco.com>
2022-08-16tests: move "venv" to "build-root" directory from "test" directorySaima Yunus1-1/+1
Type: refactor - refactored VPP test code to remove "ignore_path" variable from "discover_tests" function and "run_test" code - configured VPP test makefile, config file, and 'run.sh' shell script to move "venv" directory from "test" dir to "build-root" dir Signed-off-by: Saima Yunus <yunus.saima.234@gmail.com> Change-Id: Id2beecbb99f24ce13ed118a1869c5adbef247e50
2022-08-04tests: run a test inside a QEMU VMNaveen Joy1-0/+198
Use the script test/run.py to run a test named test_vm_tap inside a QEMU VM. The run script builds out a virtual env, launches a light weight QEMU VM, mounts host directories, starts VPP inside the VM and runs the test. The test named test_vm_tap, creates two tap v2 interfaces in separate Linux namespaces and using iPerf, streams traffic between the VM and VPP. All data files are stored in the directory named /tmp/vpp-vm-tests. To clean up, use the make test-wipe command. Usage: test/run.py --vm --debug --test test_vm_tap Type: improvement Change-Id: I4425dbef52acee1e5b8af5acaa169b89a2c0f171 Signed-off-by: Naveen Joy <najoy@cisco.com>
2022-02-17tests: make tests less make dependentKlement Sekera2-3/+79
Implement command line argument parsing instead of passing arguments via environment variables. Add script for running tests without having to invoke make. Deprecate running tests via make. Type: improvement Change-Id: I2e3054a61a2ae25d460e9be00be7d7705fbf943e Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-03-05tests: improve the robustness of process cleanup on INT/TERM signalsAndrew Yourtchenko1-1/+17
Change-Id: I3049d3d7d1212236dcc63ebf5560f87561928520 Type: improvement Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-25VCL: add TLS opt to socket_test.shDave Wallace1-3/+3
- add TLS transport opt to socket_test.sh - resolve clash in vcl_test* args with socket_test.sh opts Change-Id: I952d5b64942664bc3af1098f67445e0f4b93ab32 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-12-06Rename VPP_TEST_FAILED_DIR to FAILED_DIRjuraj.linkes1-7/+7
15999 renamed VPP_TEST_FAILED_DIR, but not in all files. Fix this in the one remaining file. Change-Id: I159cdc86bfd5dd33af74256830873a8d081f1a73 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2018-11-07VCL: Fix socket_test.sh to build test apps.Dave Wallace1-4/+7
- Replace autoconf base test app build detection with appropriate cmake based incantation. - Use the dpdk_devbind.py that is in the VPP tree. Change-Id: I4cdc11d159e2413d6bdb9c5ffcf1ed2d787b1cc5 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-10-01Fix the path error inside vcl socket_test.shYalei Wang1-9/+11
Change-Id: I5bcfbd436839e7a6dd82dc57cdb3b7fb6200a69c Signed-off-by: Yalei Wang <william.wangyalei@huawei.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-09-20rename vpp-dpdk-dev to vpp-ext-depsDamjan Marion1-1/+1
We need to have new tenants in the development package. This is first of series of patches which will allow us to have multiple external libs and tools packaged for developer's convenience. Change-Id: I884bd75fba96005bbf8cea92774682b2228e0e22 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-12Always use 'lib' instead of 'lib64'Damjan Marion1-18/+18
It is packaging responsibility to put libs in the right place. Use of lib64 resulted in huge amount of files with hardcoded lib64. This patch simplifies things... Change-Id: Iab0dea0583e480907732c5d2379eb951a00fa9e6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-06session: support multiple worker bindsFlorin Coras1-2/+2
Allows app workers to listen on the same session endpoint. Incoming connects are spread across the workers in a round-robin fashion Change-Id: Ib5f5817230d9abc6127a85cdbdcad70d980c0f7f Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-02Switch to cmakeDamjan Marion1-6/+6
Change-Id: I982b69390c55b5ffbd744f355efc0aaf425b360c Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-26VCL: add IPv6 to socket_test.sh and make testDave Wallace1-12/+46
Change-Id: If3827828062a46f1cce43642535333f677f06e62 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-03-14socket_test.sh: Don't hard code debug image with gdb.Dave Wallace1-3/+0
Change-Id: Idd6c175b9102c74621c027136ab4550821a23ecc Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-03-08VCL: Add full hoststack test option to socket_test.shDave Wallace1-7/+72
Change-Id: I3e5e179daa9d6f1c46adb85b05dd810bdd312054 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-02-24LDP: Refactor epoll_ctl wrapper.Dave Wallace1-2/+2
- Add AF_UNIX transaction to sock_test_client/server echo test to verify mixed epoll ldp implementation. - Misc cleanup / refactoring of ldp code. - Fix LDP_DEBUG in test/socket_test.sh Change-Id: Ib524c824728f109007d8c4d07d74603b6c687902 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-02-19VCL: config api prefix using env var.Dave Wallace1-0/+3
- Configure vpp api prefix using VCL_API_PREFIX environment variable. - Prepend api prefix to vpp api filename when connecting to vpp. - Fix stale vcl_cfg ptr after heap allocation. - Cleanup misleading warning messages wrt. reading the vcl config file. Change-Id: I908c9b567ff4f6f0c21ae43a4627a1a3202a3290 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-01-17LD_PRELOAD: stateless LDPDave Wallace1-0/+9
- Refactor LDP to be stateless. - Use upper bit of fd to identify tag as VCL session. - Clean up debug output. - Add VCOM config env vars for app name and sid bit. - Add VCL get/set attributes - Add VCL poll implementation. Change-Id: I4603ae88254c460a024fdb79fe91c6d1ef9bc7b9 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-11-25VCL: improve debug outputDave Wallace1-2/+10
- Refactor debug output to include vpp handle associated with session id where appropriate. - Fix vcom_connect return value on error. - Refactor vcom_socket_epoll_pwait(). - Fix sock_test_server/client connect failure handling. Change-Id: I2649596aa4b8a77d9bd876409a76810cb2785797 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-11-21VCL: close-on-empty state transition refactoring.Dave Wallace1-1/+1
- Refactor session disconnect/close state transitions. Only remove session state when app calls close(). Add HUP/reset feedback by returning ECONNRESET. - Update debug messages. - Use VCL_LOCK_AND_GET_SESSION macro more extensively Change-Id: I23d372834b901a6726e6d6c1061df73ad967882f Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-11-09VCL: Set debug output level from env varDave Wallace1-2/+7
Change-Id: Ia99047715ed652eca1aea1e4144e407f9608d59e Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-11-07VCL-LDPRELOAD: enable accept4() wrapperDave Wallace1-1/+1
Change-Id: I56567953fb8329315393047913e30fc7f2242bdb Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-11-06VCL_LDPRELOAD: mixed libc/vcl epoll fd'sDave Wallace1-8/+2
Change-Id: Ibc82781ddef5ea0517220b9054db3d53ec348c6c Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-11-02VCL: application proxy configurationDave Wallace1-7/+11
- Add support to configure VCL to set application proxy transport types and app_is_proxy flag via vcl config file or env vars. - Clean up debug output. - Rename session_scope -> app_scope. Change-Id: I6e35f3cdd84daf0112133af8f33acd0152f87ca3 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-26VCL: add session namespace support.Dave Wallace1-24/+56
Change-Id: I04f1b63e66260d99c0dd180b0295a55a9b750df7 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-25VCL: Fix vcl test scripts to check vcl.am instead of uri.amDave Wallace1-1/+1
Change-Id: I34ab79ddf0a612be1f2a4223e46811516e5b317e Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-24VCL-LDPRELOAD: statically link vppcom into libvcl-ldpreload.soDave Wallace1-7/+8
- Move VCL & VCL-LDPRELOAD source into src/vcl - Statically link vppcom into libvcl-ldpreload.so Change-Id: I778300b37e8b06640d9dbc01caf297edf7a6edb7 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-17VCL: refactor VCL_LDPRELOAD env vars.Dave Wallace1-1/+1
- Update vcl-ldpreload references to use $WS_ROOT. Change-Id: I8e79f7c5e330eda6548a2baf84613b0a4d360811 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-06VCL: add epoll_* functions.Dave Wallace1-2/+2
Change-Id: Ife27795ea96919c116fb6ff33d106663b54df72d Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-09-30make test: archive failed test data with build logs.Dave Wallace1-15/+31
- Fix invocation of compress_failed.sh - Fix compress_failed to copy compressed results files to $WORKSPACE/archives and return failure exit code. Failed test case data will be copied to logs.fd.io and found in the archives/<make test data dir>-FAILED directory in the build log link in the vpp-verify-master-ubuntu1604 jenkins job page. For example: https://logs.fd.io/production/vex-yul-rot-jenkins-1/vpp-verify-master-ubuntu1604/7353/archives/ Change-Id: Ife9a0737115e69c0a8441e3bb0133af1528d909b Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-09-25Refactor multi-host socket_test.sh for bare-metal.Dave Wallace1-18/+51
Change-Id: I4fcde6652e0c66315a453250c6e02cd32176833d Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-09-19Add new C APIKlement Sekera1-5/+9
Change-Id: I717ce3cd7c867c155de149ec56623269d26d0ff7 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-09-17Add multi-vm Vagrantfile for vcl-test.Dave Wallace1-3/+10
- Existing Vagrantfile is symbolic link to the default Vagrantfile. - In order to run the multi-host vcl test, change Vagrantfile -> Vagrantfile.vcl_test - Fix socket_test.sh & vppcom bugs. Change-Id: I965b7f799135c86e989c08bf6c5909677ef38dea Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-09-08Fix socket_test.sh vagrant based multi-host tests.Dave Wallace1-125/+281
Change-Id: I8ef75a0c702098030c6814c127d3443820122327 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-08-31Improvements to socket_test.sh scriptKeith Burns (alagalah)1-8/+8
Change-Id: I10c59dc32edb7336a56722b1de8cca1d0ae31c60 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-08-18make test: fix broken passing of return valueKlement Sekera2-5/+6
Change-Id: I2cb83caaf55ca9a29c06d71c6d20f8273ec062b3 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-08-17Fix socket_test.sh to run iperf3 in docker.Dave Wallace1-16/+31
Change-Id: I47018fee4283b7b257f16e21b82bf7e497a7d985 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-08-17make test: collect symlinks to failed testsKlement Sekera1-0/+21
Compress files in temporary directories of failed tests and symlink the directories under /tmp/vpp-failed-unittests location - preparation for jenkins archivation. Automatically cleanup the directory at start of test run. The compression is performed only when environment variable COMPRESS_FAILED_TEST_LOGS is set to one of "yes", "y", "1". This is set in verify target, but left unset by default, so when invoking make test by hand, files won't be compressed. Change-Id: I84c8f1c6aa79aa9c0b753357022b1f195f17a283 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-08-14Fix VCL LD_PRELOAD lib location in socket_test.shDave Wallace1-9/+16
- Use VCL_LDPRELOAD_LIB_DIR env. var if set. - Default to /usr/local/lib where it will be installed. - Change library name to libvcl_ldpreload.so.0.0.0 Change-Id: I4fc30b581c8406c5895f875d859aa44bb9ef19b5 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-08-14make test: properly handle ctrl-cKlement Sekera2-2/+27
Change-Id: Iab88886ebc1582626813777ea45ce97fc8e36443 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-08-11Add VPP Communications Library (VCL)Dave Wallace1-0/+637
- VCL library - client/server test application - test script (make test integration tbd) - gdb command file templates - vppcom test config file Change-Id: I21eab7aa09b4e5dc3412acf5c2eab07415c2fc0f Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-08-07make test: kill all remaining subprocesses on exitKlement Sekera1-0/+25
This change introduces a wrapper script which kills all processes in the same process group as itself (with the exception of the script). Using this script to run the unit tests should prevent stale processes left behind in some cases (e.g. when test framework crashes). Change-Id: If3b9201c06b87fa6be095721436893207d09b5e4 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-03make test: tweak helper scriptsKlement Sekera2-3/+8
Change-Id: Iee6016757e45c832e8868f0bdcfd4192dd3380c8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-02make test: add scripts for easy test loopingKlement Sekera2-0/+122
Allows easy running of test(s) in a loop with configurable action (e.g. git pull) run between test runs and possible email notification on failure. Usage: test-loop.sh [-p <pre-exec-cmd>] [-m <email>] -- <make test options> Example: Run 'make test-debug' in a loop until a failure is encountered, upon which an email is fired to ksekera@cisco.com. In between test runs, update the workspace using via 'git pull' and if anything changed, perform 'git clean' before running another 'make test-debug': test/scripts/test-loop.sh -p test/scripts/git_pull_or_clean.sh \ -m ksekera@cisco.com -- test-debug Change-Id: I114321c6c152d2c7e181e915fc8c51aab1ff3693 Signed-off-by: Klement Sekera <ksekera@cisco.com>