1122 Commits

Author SHA1 Message Date
Naveen Joy
64f7530fff make-test: fix ValueError raised by hook in python3
Without this patch, the hook module raises a ValueError
when tests are run using python3. This patch updates the
exception being caught by ipaddress to ValueError.

Change-Id: I5e11e292a05ddf350fc04ebaf19cfd7dad2bd9d0
Signed-off-by: Naveen Joy <najoy@cisco.com>
2019-03-27 23:53:49 +00:00
Neale Ranns
4dd4cf4f9c GBP: fixes for l3-out routing
Change-Id: I4d73b712da911588d511a8401b73cdc3c66346fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-27 13:40:50 +00:00
Paul Vinciguerra
32ee2f1dca VPP-1508: Tests: Update version of syslog_rfc5424_parser.
Bump to version v0.3.1.
Fixes an issue with stdlib enum imports under python3.5.

Change-Id: I7d8cb9e8ae9321beb4cb2ba052b08e776590c75d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-26 12:38:11 +00:00
Dave Wallace
03dd90adfe VCL: add TLS opt to socket_test.sh
- 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>
2019-03-25 19:34:50 -04:00
Neale Ranns
3833ffd6c6 IPSEC tests fnd fix or Extended Sequence Numbers
Change-Id: Iad6c4b867961ec8036110a4e15a829ddb93193ed
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-25 20:03:24 +00:00
Neale Ranns
00a442068d IPSEC: test for packet drop on sequence number wrap
Change-Id: Id546c56a4904d13d4278055f3c5a5e4548e2efd0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-22 13:05:39 +00:00
Paul Vinciguerra
f7f13347bc tests: update test_lb.py to use api call lb_conf.
Change-Id: I96a1d4b2b3ae22cf164c0acd6db9b323cd70f51a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-22 08:30:11 +00:00
Neale Ranns
192b13f96d BVI Interface
a new dedicated BVI interface as opposed to [re]using a loopback.

benefits:
 - removes ambiguity over the purpose of a loopback interface
 - TX node dedicated to BVI only functions.

Change-Id: I749d6b38440d450ac5b909a28053c75ec9df946a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-21 20:33:30 +00:00
Neale Ranns
2ac885c665 IPSEC: Mutli-tunnel tests
Change-Id: I46f1db6579835c6613fdbb2b726246cc62b135fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-21 13:44:31 +00:00
Kingwel Xie
1ba5bc8d88 ipsec: add ipv6 support for ipsec tunnel interface
Change-Id: I6a76907dc7bed2a81282b63669bea2219d6903c9
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2019-03-21 07:42:09 +00:00
Paul Vinciguerra
76ef6094cb tests: cdp plugin. Replace cdp enable cli command with API call.
Change-Id: Ic2d21b535a58c1c618ec9e652d30858ad45a7d43
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-20 07:47:36 +00:00
Paul Vinciguerra
ec850a8044 tests: replace CLI command with API for flowprobe params.
Change-Id: If446a0d111b89f0a761db41696e0d6ca912312f0
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-20 07:44:18 +00:00
Neale Ranns
2e2c91f925 Revert "tests: Deprecate the use of CLI commands in tests."
This reverts commit e2e8f02165f27ae04e6d20ce0c628e29271a8db6.

Change-Id: Ie23dcb8a5b3e96f77e0d117a6887c43064c79669
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-19 17:56:54 +00:00
Paul Vinciguerra
c0692a4496 tests: Speedup tests by 30%.
Baseline:
  2598325153 function calls (2598296959 primitive calls) in 2257.698 seconds

Post-changeset:
 1495427 function calls (1467233 primitive calls) in 1572.080 seconds

Change-Id: I191b68b29c9e0f19964bf0b8879ddf357c9cbd5c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-18 14:08:34 +00:00
Paul Vinciguerra
b5f15bddc5 Tests: Trivial. Define constants once.
Change-Id: Iaf106962598d04708e8740e016d5c55ff35432c9
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-18 14:06:38 +00:00
Paul Vinciguerra
e2e8f02165 tests: Deprecate the use of CLI commands in tests.
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>
2019-03-18 14:06:12 +00:00
Ole Trøan
3b0d7e42f6 Revert "API: Cleanup APIs interface.api"
This reverts commit e63325e3ca03c847963863446345e6c80a2c0cfd.

Allow time for CSIT to accommodate.

Change-Id: I59435e4ab5e05e36a2796c3bf44889b5d4823cc2
Signed-off-by: ot@cisco.com
2019-03-15 17:34:06 +00:00
Jakub Grajciar
e63325e3ca API: Cleanup APIs interface.api
Use of consistent API types for interface.api

Change-Id: Ieb54cebb4ac96b432a3f0b41596718aa2f34885b
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-03-15 10:24:22 +00:00
Paul Vinciguerra
4ba4edd150 Add @deprecated decorator.
import deprecation

@deprecation.deprecated(deprecated_in="1.0", removed_in="2.0",
                        current_version=__version__,
                        details="Use the bar function instead")
def foo():
    """Do some stuff"""
    return 1

Change-Id: Ib2ec5dd90445c9967eb39dbf6543cafd48b7f866
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-15 10:03:12 +00:00
Paul Vinciguerra
e3a0e6e8bf Tests: test/test_flowprobe.py Fix TypeError.
TypeError: not all arguments converted during string formatting

Change-Id: I0b4b27e37ba47e737aeb639c9787f8bc08a92dce
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-14 21:26:07 +00:00
Andrew Yourtchenko
e5468b320a acl-plugin: fix the l2l3 unittest to actually verify the pcap
Thanks to Paul Vinciguerra for spotting it.

Change-Id: I1f776c3c21865dbc52c4d659c62cbfa4967e15e9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-14 15:15:49 +00:00
Neale Ranns
6348074be4 TEST: link-state up/down notifications on FIB forwarding
Change-Id: I478c4e5feb9603b7443efdf2967f98f9bde7ea0f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-14 13:04:00 +00:00
Neale Ranns
4c2bff06d6 GBP: get source address from ARP packets for LPM classification
Change-Id: I1370c1882f8ba9b709e54e62356d2c57d47d20fc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-14 03:00:32 -07:00
Paul Vinciguerra
22364e49cb Tests: post-merge review comments for https://gerrit.fd.io/r/#/c/18081/
Change-Id: I2195b3264b5db34d869facf669f3e71a04fe3ff9
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-13 11:54:45 +00:00
Paul Vinciguerra
c599c6f001 Tests: Raise exception, don't raise string.
This was deprecated ~ python 2.4, and causes a TypeError as sideEffect.

>>> raise "foo"
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: exceptions must derive from BaseException

Change-Id: I4117b6d60ae896eaa1ef2a73a323d8d241f8c3a7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-12 17:48:49 -07:00
Neale Ranns
36abbf1004 GBP: L3 out fixes
Change-Id: I0562d597fd45c7ddcb6db42cf17d3ffb569eb140
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12 16:50:23 +00:00
Neale Ranns
f726f53918 FIB: path parsing, table-id not fib-index (VPP-1586)
Change-Id: Ib27952935393163eaabf005c69b1cbc2feca2b98
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12 16:02:07 +00:00
Neale Ranns
fa0ac2c566 GBP: contracts API fixed length of allowed ethertypes
VAPI does not handle two VLAs in one struct.

Change-Id: I259c998bef4398ead2bbb9e788350d50c2f05694
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12 15:45:25 +00:00
Paul Vinciguerra
5995482d31 VPP-1486: Unittest for stat segment file descriptor leak.
Verifies: https://gerrit.fd.io/r/#/c/18167/

Before patch:

    ==============================================================================
    Test Stats Client
    ==============================================================================
    Test file descriptor count - VPP-1486                                    FAIL [ temp dir used by test case: /tmp/vpp-unittest-StatsClientTestCase-EAp0e7 ]

    ==============================================================================
    FAIL: Test file descriptor count - VPP-1486
    ------------------------------------------------------------------------------
    Traceback (most recent call last):
      File "/vpp/test/test_stats_client.py", line 39, in test_client_fd_leak
        initial_fds, ending_fds))
    AssertionError: initial client side file descriptor count: 20 is not equal to ending client side file descriptor count: 120

    04:55:38,038 Symlink to failed testcase directory: /tmp/vpp-failed-unittests/vpp-unittest-StatsClientTestCase-EAp0e7-FAILED -> vpp-unittest-StatsClientTestCase-EAp0e7

    ==============================================================================
    TEST RESULTS:
         Scheduled tests: 1
          Executed tests: 1
            Passed tests: 0
                Failures: 1
    FAILURES AND ERRORS IN TESTS:
      Testcase name: Test Stats Client
        FAILURE: Test file descriptor count - VPP-1486 [test_stats_client.StatsClientTestCase.test_client_fd_leak]
    =============================================================================

After patch:

    ==============================================================================
    Test Stats Client
    ==============================================================================
    Test file descriptor count - VPP-1486                                    OK

    ==============================================================================
    TEST RESULTS:
         Scheduled tests: 1
          Executed tests: 1
            Passed tests: 1
    ==============================================================================

    Test run was successful

Change-Id: I055e473ecf0566ebfbfbadd58ec6eaf11fc77d68
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-12 05:26:04 +00:00
Ole Troan
a5b2eec053 vpp_papi_provider: Remove more wrapper functions.
Split this work up into pieces.
Please don't add new wrappers to vpp_papi_provider.py.

Change-Id: I0f8f2afc4cd2bba07ea70ddecea2d7319f7b2e10
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-11 21:57:19 +00:00
Paul Vinciguerra
22ab6f7cbb VPP-1508: Tests: Fix vpp_api struct.error under py3.
Fix struct.error: expected bytes object got <class 'str'>

Change-Id: I837ae6e97e44c789a9372677151b157956525334
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 09:20:04 +00:00
Paul Vinciguerra
a7427ec6f8 VPP-1508: Use scapy.compat to manage packet level library differences.
Change-Id: Icdf6abc9e53d33b26fd1d531c7dda6be0bb9cb55
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:11:16 +00:00
Paul Vinciguerra
0f6602cb24 Tests: fix time.sleep(0) # yield. Reduce sleep related log messages.
Reduce the incidence of:
20:04:23,606 unexpected time.sleep() result - slept for 2.187967e-03s instead of ~6.837845e-04s!

Change-Id: Ic576fda7f75e571c9019111588a6a936ee2cf5c2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:10:34 +00:00
Paul Vinciguerra
d3a9be2ca0 Tests: remote_test.py. Private member test catching dunder names.
Private member check also catches __iter__, since it starts with '_'.

Fixes:
  Captured traceback:
  ~~~~~~~~~~~~~~~~~~
      b'Traceback (most recent call last):'
      b'  File "/vpp/test/test_memif.py", line 47, in tearDown'
      b'    remove_all_memif_vpp_config(self.remote_test)'
      b'  File "/vpp/test/vpp_memif.py", line 36, in remove_all_memif_vpp_config'
      b'    for d in dump:'
      b"TypeError: 'SerializableClassCopy' object is not iterable"
      b''

Change-Id: I6a3f3e0f2b1b2d0a2b97faa23bf542ff8f92de43
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:09:58 +00:00
Paul Vinciguerra
9a6dafd569 Tests: use self.assertNotIn().
Many tests use self.assertEqual(error.find("failed"), -1)
Use self.assertNotIn("failed", error) to provide more meaningful errors such as
AssertionError: 'Failed' not found in '' instead of 0 != -1.

Change-Id: I670acdc977b788b2cedf94cfeafc12097781463f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:09:23 +00:00
Paul Vinciguerra
f70cead5eb Tests: 'Fix' __del__ in test/remote_test.py.
This is not a fix as much as supressing a warning.
__del__ is not a destructor.

test/remote_test.py:385:13: F821 undefined name 'cls'
            cls.vpp.poll()
            ^
test/remote_test.py:386:16: F821 undefined name 'cls'
            if cls.vpp.returncode is None:
               ^
test/remote_test.py:387:17: F821 undefined name 'cls'
                cls.vpp.terminate()
                ^
test/remote_test.py:388:17: F821 undefined name 'cls'
                cls.vpp.communicate()

Change-Id: I6f0ecf3ae5dee7f279a4e25994cc1c49470bca26
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 01:14:53 +00:00
Paul Vinciguerra
a1bfb3a4d2 Test: Fix hook.py: AttributeError
File "/vpp/test/hook.py", line 84, in on_crash
    self.testcase.vpp_bin, core_path)
AttributeError: 'PollHook' object has no attribute 'testcase'

Change-Id: I84d9d86a5c6a5769a43a91cf23ce8a1141f7cd12
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 01:09:32 +00:00
Paul Vinciguerra
eaea421e1f Tests: Refactor payload_to_info()
All callers of payload_to_info were required to wrap payload with str().
Refactor to call scapy's payload.load for raw payloads or specify the
specific fieldname.

Change-Id: I1c80599d4df8dc129dbb8274733afaad406d5bcf
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:29:44 +00:00
Paul Vinciguerra
ea2450fa2d VPP-1508: Python3 tests. Explicitly specify string formatting.
.format() doesn't understand what to do with binary values by default.
Specify that we expect coersion to string.

Change-Id: Ic4b697f70852124dc85ab231f76b7934d0d71f4d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:29:00 +00:00
Paul Vinciguerra
4a4cea02ef VPP-1508: test_acl_plugin vapi changes for Python3.
Change-Id: I0863cefa523a6d7c11e48649b03f058130e5a4ee
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:28:29 +00:00
Paul Vinciguerra
42bdba80f7 vpp_papi: Adjust aenum import for python3.
The stdlib introduced IntEnum in python 3.4 and IntFlag in python 3.6.

Change-Id: I3ac278a9d5a97eefa9fc4f1491f0cd030e40c3b2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:19:48 +00:00
Naveen Joy
2cbf2fb05e make-test: Python pep8 compliance for sequences
For sequences, (strings, lists, tuples), use the fact that
empty sequences are false. A tiny change towards getting
full pep8 compliance, which will look good.
Yes: if not seq:
     if seq:
No:  if len(seq):
     if not len(seq):
(https://www.python.org/dev/peps/pep-0008/)

Change-Id: I6b565bef424f81afc66aba3b0041a5029a9f8954
Signed-off-by: Naveen Joy <najoy@cisco.com>
2019-03-07 19:40:04 +00:00
Ole Troan
9a475373ed test framework: vpp_papi_provider.py - further cleanup
Part of further cleanups of this file.
Removed most wrappers that don't have conflicting signature with
message API.

Change-Id: I6acd93d20291feb7731eb35ab2eb8c9f22f4632c
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-06 21:13:05 +01:00
Florin Coras
c0737e962c session: use session index instead of fifo for evt
Avoids derefrencing fifo pointers whose segments could have been
unmapped.

Change-Id: Ifb0b7399e424f145f3f94b769391a6f4e31bb4e6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-06 18:41:28 +00:00
Florin Coras
653e43f06a session: use vpp to switch io events for ct sessions
Instead of allocating pairs of message queues per cut-thru session and
having the applications map them, this uses vpp as an io event message
switch.

Change-Id: I51db1c7564df479a7d1a3288342394251fd188bb
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-06 17:53:39 +00:00
Neale Ranns
4ba67723d7 GBP: use sclass in the DP for policy
Change-Id: I154e18f22ec7708127b8ade98e80546ab1dcd05b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-06 12:15:10 +00:00
Paul Vinciguerra
6955595a57 Tests: Example duplicate code refactoring.
Refactor of duplicate methods in test/test_reassembly.py.

Change-Id: I46f880da6a0ced2acae1fa33c6892d0148b26139
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-06 11:43:24 +00:00
Neale Ranns
8da9fc659b GBP: learn from ARP and L2 packets
Change-Id: I8af7bca566ec7c9bd2b72529d49e04c6e649b44a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-06 10:31:38 +00:00
Paul Vinciguerra
7ab99702a3 Test: vpp_papi_provider. __getattr__
Replace custom __getattr__ with custom __getattribute__.

Change-Id: Ib96176abc07eefedba305ed874621001a810eb0d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-05 15:44:44 +00:00
Neale Ranns
32f6d8e0ca GBP: per-group EP retention policy
Change-Id: I3ed4e2e92f74f15b07fcd3e7fbc3fa8718d5249d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-05 13:51:32 +00:00