vpp/test/asf/test_tap.py
Dave Wallace 8800f732f8 tests: refactor asf framework code
- Make framework.py classes a subset of asfframework.py classes
- Remove all packet related code from asfframework.py
- Add test class and test case set up debug output to log
- Repatriate packet tests from asf to test directory
- Remove non-packet related code from framework.py and
  inherit them from asfframework.py classes
- Clean up unused import variables
- Re-enable BFD tests on Ubuntu 22.04 and fix
  intermittent test failures in echo_looped_back
  testcases (where # control packets verified but
  not guaranteed to be received during test)
- Re-enable Wireguard tests on Ubuntu 22.04 and fix
  intermittent test failures in handshake ratelimiting
  testcases and event testcase
- Run Wiregard testcase suites solo
- Improve debug output in log.txt
- Increase VCL/LDP post sleep timeout to allow iperf server
  to finish cleanly.
- Fix pcap history files to be sorted by suite and testcase
  and ensure order/timestamp is correct based on creation
  in the testcase.
- Decode pcap files for each suite and testcase for all
  errors or if configured via comandline option / env var
- Improve vpp corefile detection to allow complete corefile
  generation
- Disable vm vpp interfaces testcases on debian11
- Clean up failed unittest dir when retrying failed testcases
  and unify testname directory and failed linknames into
  framwork functions

Type: test

Change-Id: I0764f79ea5bb639d278bf635ed2408d4d5220e1e
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-11-03 05:06:43 +00:00

38 lines
1.1 KiB
Python

import unittest
import os
from asfframework import VppAsfTestCase, VppTestRunner
from vpp_devices import VppTAPInterface
def check_tuntap_driver_access():
return os.access("/dev/net/tun", os.R_OK and os.W_OK)
@unittest.skip("Requires root")
class TestTAP(VppAsfTestCase):
"""TAP Test Case"""
def test_tap_add_del(self):
"""Create TAP interface"""
tap0 = VppTAPInterface(self, tap_id=0)
tap0.add_vpp_config()
self.assertTrue(tap0.query_vpp_config())
def test_tap_dump(self):
"""Test api dump w/ and w/o sw_if_index filtering"""
MAX_INSTANCES = 10
tap_instances = []
for instance in range(MAX_INSTANCES):
i = VppTAPInterface(self, tap_id=instance)
i.add_vpp_config()
tap_instances.append(i)
details = self.vapi.sw_interface_tap_v2_dump()
self.assertEqual(MAX_INSTANCES, len(details))
details = self.vapi.sw_interface_tap_v2_dump(tap_instances[5].sw_if_index)
self.assertEqual(1, len(details))
if __name__ == "__main__":
unittest.main(testRunner=VppTestRunner)