Age | Commit message (Collapse) | Author | Files | Lines |
|
This commit ensures that the tests always run with the exact same
version for all the Python dependencies. It uses pip-tools to achieve
that.
Our top-level dependencies are specified in the requirements.txt file.
From this file, pip-tools generates the requirements-{2,3}.txt file,
which pins all the versions of all the recursive dependencies, and is
used to install the packages in the test virtualenv.
To change or add a top-level dependency, update requirements.txt and run
make test as usual with python2 and python3. The requirements-{2,3}.txt
file will be updated and you can verify that nothing breaks. Then add
all requirements* files in your commit.
To refresh the python packages (i.e. get new versions of the recursive
dependencies, or of the dependencies that are not pinned in
requirements.txt), just run:
PYTHON=python2.7 make test-refresh-deps
PYTHON=python3.6 make test-refresh-deps
and this will update the requirements-{2,3}.txt files. Ideally we
should run this after each release.
Type: make
Change-Id: Ic533de3d06ec4019ff38f5231208da6f1025bfc7
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
|
|
The unit and code coverage tests are boring. The rest of the patch
involves test and packet-generator infra cleanups.
Teach the "make test-xxx" family of targets to set the api test plugin
path correctly, to make "binary-api <api-message-name> <args>" debug
CLI commands work correctly in the "make test"
environment. Unfortunately involves both the top-level and test
Makefiles.
Add a minor pg cli feature, a CLI to manually set
s->sw_if_index[VLIB_TX].
Consider the case where one configures an interface with both a
device-input and an output feature. To test the output feature using
the pg, it's necessary to inject packets into the interface output
node with both b->sw_if_index[VLIB_TX] and b->sw_if_index[VLIB_RX] set
correctly. For example:
packet-generator new {
name tx
limit 15
size 128-128
interface local0 # rx: device input feature not configured on local0
tx-interface loop0 # tx: output node requires b->sw_if_index[VLIB_TX]
node loop0-output
data {
hex 0x01005e7ffffa000dead0000008000102030405060708090a0b0c0d0e0f0102030405
}
}
Fix a longstanding bug in the packet generator stream setup. Remove
kludges which set b->sw_if_index[VLIB_TX] to ~0 [in multiple places]
instead of using the stream value s->sw_if_index[VLIB_TX], and setting
THAT datum correctly.
Change-Id: I1097a18e8db73661ded6b822c1d718f7e5cf36ed
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
setting COREDUMP_COMPRESS=y (or =1) indicates that any core file
is to be compressed by the test framework unless DEBUG=core is set.
Change-Id: Ib0d6d30a7398dbeb6ab5e5dbb411bf5c641b5206
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Handle the case where buffer overflows.
Then SOCK_SEQPACKET assumption that multiple API messages
are not returned by recv() is broken. Use SOCK_STREAM for
API exchanges instead.
Add support for running tests over sockets.
make test SOCKET=1
Change-Id: Ibe5fd69b1bf617de4c7ba6cce0a7c2b3f97a2821
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
This reverts commit e2e8f02165f27ae04e6d20ce0c628e29271a8db6.
Change-Id: Ie23dcb8a5b3e96f77e0d117a6887c43064c79669
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Since the stated policy regarding CLI commands is:
"Note that the debug CLI is a developer's tool
- no warranty express or implied - and that
we may choose not to fix debug CLI bugs.",
this change emits a deprecation warning whenever a test case calls a CLI command.
Change-Id: I91b30e86ae1b2fca36732837f36cdda762cdf458
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
Use the installed version of pip. If a newer version of pip is needed,
it can be specified in requirements.txt. This is to improve idempotence
by providing some control over upstream changes.
Change-Id: I07b7651f8ddba6005bf85d11fef9e3343ee2dcd2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
Change-Id: Ib30d0c6b8794488119f258f7617fce494aa28f1f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Pip is installed via virtualenv. No need to reinstall it again.
Change-Id: I45bea1f9db841ca4309b763ab852623180937727
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
Remove unnecessary envvar magic for sphinx builds.
Just provide the proper mock objects.
Change-Id: I151513eb47d2f71cf221651145dbcdc153448772
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
* running linting/pycodestyle under python3 provides the additional benefit
of access to the python3 AST.
Change-Id: I659dbd2733471285867be95eec078f7415aa0bcd
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
Change-Id: I24cf3e390f6f0b98be939ef717048742d3f183d6
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
Change-Id: Iff71a5982b73c97e3f546beb1cf52935a267f5f5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
There are a few tests that fail on ARM and thus we can't enable testing
in CI. Skip the failing tests until they're fixed so that we catch new
failures in CI (when we enable testing for the remaining tests).
Change-Id: Ie896ef5c449ef965029633e38d317a8d5ac26352
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
|
|
instead of using build-root, use /test/venv directory for virtualenv
similarly, don't pollute build-root with test-built binaries
Change-Id: I1e63c04037eaee718b27b34ef16c9eb0252afa53
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Add the ability to specify a specific python library version
based on the interpreter/platform/etc.
Change-Id: I027acdf22ad839b5cff63b319f0aa100b0f336c8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
test_lisp.py No longer needs the external dependency to run.
py27 runtests: commands[6] | stestr --test-path ./test run --slowest test_lisp
==============================================================================
Basic LISP test
==============================================================================
{0} test.test_lisp.TestLisp.test_lisp_basic_encap [0.487960s] ... ok
======
Totals
======
Ran: 1 tests in 18.0000 sec.
- Passed: 1
- Skipped: 0
- Expected Fail: 0
- Unexpected Success: 0
- Failed: 0
Sum of execute time for each test: 0.4880 sec.
==============
Worker Balance
==============
- Worker 0 (1 tests) => 0:00:00.487960
Test id Runtime (s)
--------------------------------------------- -----------
test.test_lisp.TestLisp.test_lisp_basic_encap 0.488
______________________________________________________ summary ______________________________________________________
py27: commands succeeded
congratulations :)
vagrant@vpp:/vpp$
Change-Id: I35b35f8ddaed79066b3ed62fa0460c9ea83273c2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
build extended binaries, vom & friends when test*-all targets are run,
remove unneeded test-ext target (which is semantically same as
test-debug-all)
Change-Id: Id710e061fdc93e286a4ed91be6a0cdcf75a2dafd
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Syslog protocol logging transport event messages across network over UDP
protocol based on RFC5426.
Change-Id: Ica74b40bcc2e6d0fbd41e9bf78e76395fbabab3c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
The implementation of parallel test execution in VPP Test Framework.
- VPPTestCase test methods are grouped together
- tests are running in separate processes
- VPP instances spawned by tests are assigned to different cores
- output from these processes is redirected through pipes and printed
out testcase by testcase
- TEST_JOBS env var is used to specify the number of parallel processes
- improved test summary
- a bit of code cleanup
Change-Id: I9ca93904d9fe2c3daf980500c64a8611838ae28c
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
|
|
Change-Id: I650c9f226bcdc6328a7b4ff2dc4bd20cea8a512a
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
|
|
Change-Id: If590e90b2a1c3b884863ec15a92ea4353ac9eb7c
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: Iad45ca8c167a017029b20ddd0a0b59087fa69498
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Change-Id: Ib845578485f523b7f14e98c83d05f78db382ecde
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Change-Id: Ibcae49ab106efa9cd0ff60be60904ac5a2fc0b65
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
|
|
- Ignore warnings W504 (newline after binary operator) which otherwise
occurs a significant number of times.
- Fix two instances of lines >79 chars.
Change-Id: I8cef56f8afc237187995e638e610c8c0554e2bb5
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
Allow setting of VPP_PYTHON_PREFIX to alternate location
so the python prereqs can be installed into base image
Also added test-dep trigger to isolate dependency install
from actual test run
Change-Id: Ia80f5dbf71bc24eb46cd6586bcadd474ef822704
Signed-off-by: Ed Kern <ejk@cisco.com>
|
|
Change-Id: Ia87d55cad1d466a4cc624f06abbc322cddb5608c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
- many of the patches fd.io applies in test/patches/2.3.3 are now upstreamed in 2.4
- 2.4 adds support for IGMPv3 which is my main motivation for the upgrade
Change-Id: If2c0a524e3cba320b4a5d8cd07817c6ea2bf0c5a
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: Icd491e382a2da0e5d55a673458605bc37e39b669
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
One of basic requirements from day one for maek test is that it should
run unpriviledged, so modifying system paremeters is unacceptable.
Disabling script and reassembly tests as they need to be done in
different way.
Change-Id: I063c73eb82f2ebd7499e8adb1574a9fd2475fb5b
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: I89540e93f3c8839bf6fc4363f4736e9c01d91927
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: Ic30fbcb2630f39e45345d7215babf5d7ed4b33a0
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
PEP8 has been deprecated and python users are being asked to migrate to
pycodestyle.
Change-Id: I52d5f7b2bf72156216a9966e8322ec58763f24d4
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
|
|
This makes VAPI/VOM tests part of code coverage report.
Change-Id: I66511b0a59880c2a64daecd37088268bdf5e1269
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
New option TEST_DEBUG=1 turns on test framework debugging, which
currently consists of printing difference in allocated objects/memory
and also creates reference graphs for any unfreed VppPapiProvider/VPP
objects - these take a lot of memory and thus should be freed regularly.
Change-Id: I29db0c1341009d4b5c5df9222d14f3095883fd0f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Change-Id: I2421197b76be58099e5f8ed5554410adff202109
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
|
|
Change-Id: Ic5dcadd13c88b8a5e7896dab82404509c081614a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Verify that /dev/shm size is >= 512M, which should be enough for `make
test' needs. If the verification fails, try to enlarge it automatically.
This helps avoid docker vpp/make test crashes (seen as SIGBUS).
Change-Id: I4e23d59ff8bf8befc320fa229fb6c9bfeb809a8f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Change-Id: I941abdc4a02e4c52c66b9d299e380b27caca7c1d
Signed-off-by: “mystarrocks” <mystarrocks@yahoo.com>
|
|
This option allows one to toggle whether captured VPP stdout/stderr
output is printed inline (each line logged immediately after being
collected). Default setting is 0/no (behaviour same as before).
This allows one to see the output in case of vpp crashing during test
run even if test framework gets stuck waiting for shared memory mutex
(which crashed vpp can no longer unlock).
Complete stdout/stderr output is always printed as a block to the
logger after test finishes.
Change-Id: If3645a9b85562dba26ed9c87daa27ea5ef34f2e5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Change-Id: I703b2866a1607d6a2fad215e90b5cf2d7afdfd0d
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Allow skipping sanity when using DEBUG=gdb/gdbserver options to speed
up development process by supplying SANITY=no option to make test.
Change-Id: I6e619229f6866b22bdeb75654b4e750232ae22bd
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Change-Id: Ibe31e932bc997f0101a8947e01df90a90d1f100f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
- 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>
|
|
Change-Id: I9f5212ee670ea91c6b35f1406c256d0687b9c6b5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Change-Id: I717ce3cd7c867c155de149ec56623269d26d0ff7
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
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>
|
|
Change-Id: Iab88886ebc1582626813777ea45ce97fc8e36443
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Run tests in a forked process with a set of pipes to communicate
keep-alives and overall result. This allows us to detect when e.g.
vpp dies mid-API call causing the test to hang waiting for response
(which will never come since vpp died).
Support setting a (per test case) TIMEOUT make test option to set timeout,
with a default timeout of 120 seconds.
Example - fail the test suite if any test-case fails to finish within
300s:
make TIMEOUT=300 test
Change-Id: I0d04f26a7232968f4bf043adf5d5b508f5018717
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|