diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2023-12-22 09:32:32 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-22 09:32:32 +0200 |
| commit | eba1c1e23bd6f8cdba53de47f68112993e8fde77 (patch) | |
| tree | 19ec3591f00067e3eb488bc95fa8b19de8d0e494 | |
| parent | 1225954fb6ead0a69c3f4f6871349b12655cb242 (diff) | |
| parent | daa80a5afa8b31248fa4395f7b86faee33eaec40 (diff) | |
Merge pull request #15059 from donaldsharp/generate_support_bundle_on_test_failure
Generate support bundle on test failure
| -rwxr-xr-x | tests/topotests/bgp_evpn_overlay_index_gateway/test_bgp_evpn_overlay_index_gateway.py | 11 | ||||
| -rw-r--r-- | tests/topotests/bgp_flowspec/test_bgp_flowspec_topo.py | 6 | ||||
| -rwxr-xr-x | tests/topotests/conftest.py | 6 | ||||
| -rw-r--r-- | tests/topotests/lib/snmptest.py | 6 | ||||
| -rw-r--r-- | tools/etc/frr/support_bundle_commands.conf | 2 |
5 files changed, 11 insertions, 20 deletions
diff --git a/tests/topotests/bgp_evpn_overlay_index_gateway/test_bgp_evpn_overlay_index_gateway.py b/tests/topotests/bgp_evpn_overlay_index_gateway/test_bgp_evpn_overlay_index_gateway.py index 1066269292..2041a4091d 100755 --- a/tests/topotests/bgp_evpn_overlay_index_gateway/test_bgp_evpn_overlay_index_gateway.py +++ b/tests/topotests/bgp_evpn_overlay_index_gateway/test_bgp_evpn_overlay_index_gateway.py @@ -58,7 +58,6 @@ from lib.common_config import ( step, write_test_header, write_test_footer, - generate_support_bundle, ) # Required to instantiate the topology builder class. @@ -277,8 +276,6 @@ def test_evpn_gateway_ip_basic_topo(request): result, assertmsg = evpn_gateway_ip_show_op_check("base") - if result is not None: - generate_support_bundle() assert result is None, assertmsg write_test_footer(tc_name) @@ -319,8 +316,6 @@ def test_evpn_gateway_ip_flap_rt5(request): ) result, assertmsg = evpn_gateway_ip_show_op_check("no_rt5") - if result is not None: - generate_support_bundle() assert result is None, assertmsg step("Advertise type-5 routes again") @@ -339,8 +334,6 @@ def test_evpn_gateway_ip_flap_rt5(request): ) result, assertmsg = evpn_gateway_ip_show_op_check("base") - if result is not None: - generate_support_bundle() assert result is None, assertmsg @@ -371,8 +364,6 @@ def test_evpn_gateway_ip_flap_rt2(request): pe1.cmd_raises("ip link set dev vxlan100 down") result, assertmsg = evpn_gateway_ip_show_op_check("no_rt2") - if result is not None: - generate_support_bundle() assert result is None, assertmsg step("Bring up VxLAN interface at PE1 and advertise type-2 routes again") @@ -380,8 +371,6 @@ def test_evpn_gateway_ip_flap_rt2(request): pe1.cmd_raises("ip link set dev vxlan100 up") result, assertmsg = evpn_gateway_ip_show_op_check("base") - if result is not None: - generate_support_bundle() assert result is None, assertmsg write_test_footer(tc_name) diff --git a/tests/topotests/bgp_flowspec/test_bgp_flowspec_topo.py b/tests/topotests/bgp_flowspec/test_bgp_flowspec_topo.py index a2be85962f..57aeea87cb 100644 --- a/tests/topotests/bgp_flowspec/test_bgp_flowspec_topo.py +++ b/tests/topotests/bgp_flowspec/test_bgp_flowspec_topo.py @@ -51,7 +51,6 @@ sys.path.append(os.path.join(CWD, "../")) from lib import topotest from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topolog import logger -from lib.common_config import generate_support_bundle # Required to instantiate the topology builder class. @@ -140,10 +139,7 @@ def test_bgp_convergence(): ) _, res = topotest.run_and_expect(test_func, None, count=210, wait=1) assertmsg = "BGP router network did not converge" - if res is not None: - generate_support_bundle() - assert res is None, assertmsg - generate_support_bundle() + assert res is None, assertmsg def test_bgp_flowspec(): diff --git a/tests/topotests/conftest.py b/tests/topotests/conftest.py index c63a67545e..b1f8d50d06 100755 --- a/tests/topotests/conftest.py +++ b/tests/topotests/conftest.py @@ -26,7 +26,7 @@ from munet.base import Commander, proc_error from munet.cleanup import cleanup_current, cleanup_previous from munet.config import ConfigOptionsProxy from munet.testing.util import pause_test - +from lib.common_config import generate_support_bundle from lib import topolog, topotest try: @@ -600,6 +600,10 @@ def pytest_runtest_setup(item): os.environ["PYTEST_TOPOTEST_SCRIPTDIR"] = script_dir +def pytest_exception_interact(node, call, report): + generate_support_bundle() + + def pytest_runtest_makereport(item, call): "Log all assert messages to default logger with error level" diff --git a/tests/topotests/lib/snmptest.py b/tests/topotests/lib/snmptest.py index 5c4e97a5d2..bb7c0787c1 100644 --- a/tests/topotests/lib/snmptest.py +++ b/tests/topotests/lib/snmptest.py @@ -112,7 +112,7 @@ class SnmpTester(object): notif = re.sub(":", "", notif) notif = re.sub('"([0-9]{2}) ([0-9]{2}) "', r"\1\2", notif) notif = re.sub('"([0-9]{2}) "', r"\1", notif) - elems = re.findall("([0-9,\.]+) = ([0-9,\.]+)", notif) + elems = re.findall(r"([0-9,\.]+) = ([0-9,\.]+)", notif) # remove common part elems = elems[1:] @@ -222,7 +222,7 @@ class SnmpTester(object): # don't consider additional application messages notifs = [elem for index, elem in enumerate(notifs_first) if index % 2 != 0] - oid_v4 = "1\.3\.6\.1\.2\.1\.15" + oid_v4 = r"1\.3\.6\.1\.2\.1\.15" for one_notif in notifs: is_ipv4_notif = re.search(oid_v4, one_notif) if is_ipv4_notif != None: @@ -241,7 +241,7 @@ class SnmpTester(object): # don't consider additional application messages notifs = [elem for index, elem in enumerate(results) if index % 2 != 0] - oid_v6 = "1\.3\.6\.1\.3\.5\.1" + oid_v6 = r"1\.3\.6\.1\.3\.5\.1" for one_notif in notifs: is_ipv6_notif = re.search(oid_v6, one_notif) if is_ipv6_notif != None: diff --git a/tools/etc/frr/support_bundle_commands.conf b/tools/etc/frr/support_bundle_commands.conf index b7a1708248..1eed65aec8 100644 --- a/tools/etc/frr/support_bundle_commands.conf +++ b/tools/etc/frr/support_bundle_commands.conf @@ -34,6 +34,8 @@ show bgp nexthop show bgp vrf all summary show bgp vrf all ipv4 show bgp vrf all ipv6 +show bgp vrf all ipv4 vpn +show bgp vrf all ipv6 vpn show bgp vrf all neighbors show bgp evpn route |
