mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 04:36:45 +00:00
tests: remove topotest compatibility with older ldpd versions
Now that topotest was integrated into the FRR repository, we don't need to worry anymore about creating tests that work across different FRR versions. The topotests present on any branch need to be compatible only with the FRR daemons from that same branch. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
parent
a971aeb68e
commit
e29f8d0db3
@ -1,5 +0,0 @@
|
||||
xx as to xx via inet 10.0.1.2 dev r1-eth0 proto xx
|
||||
xx as to xx via inet 10.0.1.2 dev r1-eth0 proto xx
|
||||
xx via inet 10.0.1.2 dev r1-eth0 proto xx
|
||||
xx via inet 10.0.1.2 dev r1-eth0 proto xx
|
||||
xx via inet 10.0.1.2 dev r1-eth0 proto xx
|
@ -1,7 +0,0 @@
|
||||
O 1.1.1.1/32 [110/0] is directly connected, lo
|
||||
O>* 2.2.2.2/32 [110/10] via 10.0.1.2, r1-eth0
|
||||
O>* 3.3.3.3/32 [110/20] via 10.0.1.2, r1-eth0, label xxx
|
||||
O>* 4.4.4.4/32 [110/20] via 10.0.1.2, r1-eth0, label xxx
|
||||
O 10.0.1.0/24 [110/10] is directly connected, r1-eth0
|
||||
O>* 10.0.2.0/24 [110/20] via 10.0.1.2, r1-eth0
|
||||
O>* 10.0.3.0/24 [110/20] via 10.0.1.2, r1-eth0
|
@ -1,42 +0,0 @@
|
||||
1.1.1.1/32
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
2.2.2.2/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
3.3.3.3/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
4.4.4.4/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
10.0.1.0/24
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
10.0.2.0/24
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
10.0.3.0/24
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
@ -1,7 +0,0 @@
|
||||
Local LDP Identifier: 1.1.1.1:0
|
||||
Discovery Sources:
|
||||
Interfaces:
|
||||
r1-eth0: xmit/recv
|
||||
LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2
|
||||
Hold time: 15 sec
|
||||
Targeted Hellos:
|
@ -1,2 +0,0 @@
|
||||
AF Interface State Uptime Hello Timers ac
|
||||
ipv4 r1-eth0 ACTIVE xx:xx:xx 5/15 1
|
@ -1,8 +0,0 @@
|
||||
Peer LDP Identifier: 2.2.2.2:0
|
||||
TCP connection: 1.1.1.1:xxx - 2.2.2.2:xxx
|
||||
Session Holdtime: 180 sec
|
||||
State: OPERATIONAL; Downstream-Unsolicited
|
||||
Up time: xx:xx:xx
|
||||
LDP Discovery Sources:
|
||||
IPv4:
|
||||
Interface: r1-eth0
|
@ -1,8 +0,0 @@
|
||||
Inbound Outbound
|
||||
Label Type Nexthop Label
|
||||
-------- ------- --------------- --------
|
||||
XX LDP 10.0.1.2 3
|
||||
XX LDP 10.0.1.2 3
|
||||
XX LDP 10.0.1.2 3
|
||||
XX LDP 10.0.1.2 XX
|
||||
XX LDP 10.0.1.2 XX
|
@ -1,8 +0,0 @@
|
||||
Inbound Outbound
|
||||
Label Type Nexthop Label
|
||||
-------- ------- --------------- --------
|
||||
XX LDP 10.0.1.2 3
|
||||
XX LDP 10.0.1.2 3
|
||||
XX LDP 10.0.1.2 3
|
||||
XX LDP 10.0.1.2 XX
|
||||
XX LDP 10.0.1.2 XX
|
@ -1,7 +0,0 @@
|
||||
O>* 1.1.1.1/32 [110/10] via 10.0.1.1, r2-eth0
|
||||
O 2.2.2.2/32 [110/0] is directly connected, lo
|
||||
O>* 3.3.3.3/32 [110/10] via 10.0.2.3, r2-eth1
|
||||
O>* 4.4.4.4/32 [110/10] via 10.0.2.4, r2-eth1
|
||||
O 10.0.1.0/24 [110/10] is directly connected, r2-eth0
|
||||
O 10.0.2.0/24 [110/10] is directly connected, r2-eth1
|
||||
O 10.0.3.0/24 [110/10] is directly connected, r2-eth2
|
@ -1,56 +0,0 @@
|
||||
1.1.1.1/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
1.1.1.1 imp-null
|
||||
3.3.3.3 xxx
|
||||
4.4.4.4 xxx
|
||||
2.2.2.2/32
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
1.1.1.1 xxx
|
||||
3.3.3.3 xxx
|
||||
4.4.4.4 xxx
|
||||
3.3.3.3/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
1.1.1.1 xxx
|
||||
3.3.3.3 imp-null
|
||||
4.4.4.4 xxx
|
||||
4.4.4.4/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
1.1.1.1 xxx
|
||||
3.3.3.3 xxx
|
||||
4.4.4.4 imp-null
|
||||
10.0.1.0/24
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
1.1.1.1 imp-null
|
||||
3.3.3.3 xxx
|
||||
4.4.4.4 xxx
|
||||
10.0.2.0/24
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
1.1.1.1 xxx
|
||||
3.3.3.3 imp-null
|
||||
4.4.4.4 imp-null
|
||||
10.0.3.0/24
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
1.1.1.1 xxx
|
||||
3.3.3.3 imp-null
|
||||
4.4.4.4 xxx
|
@ -1,12 +0,0 @@
|
||||
Local LDP Identifier: 2.2.2.2:0
|
||||
Discovery Sources:
|
||||
Interfaces:
|
||||
r2-eth0: xmit/recv
|
||||
LDP Id: 1.1.1.1:0, Transport address: 1.1.1.1
|
||||
Hold time: 15 sec
|
||||
r2-eth1: xmit/recv
|
||||
LDP Id: 3.3.3.3:0, Transport address: 3.3.3.3
|
||||
Hold time: 15 sec
|
||||
LDP Id: 4.4.4.4:0, Transport address: 4.4.4.4
|
||||
Hold time: 15 sec
|
||||
Targeted Hellos:
|
@ -1,3 +0,0 @@
|
||||
AF Interface State Uptime Hello Timers ac
|
||||
ipv4 r2-eth0 ACTIVE xx:xx:xx 5/15 1
|
||||
ipv4 r2-eth1 ACTIVE xx:xx:xx 5/15 2
|
@ -1,26 +0,0 @@
|
||||
Peer LDP Identifier: 1.1.1.1:0
|
||||
TCP connection: 2.2.2.2:xxx - 1.1.1.1:xxx
|
||||
Session Holdtime: 180 sec
|
||||
State: OPERATIONAL; Downstream-Unsolicited
|
||||
Up time: xx:xx:xx
|
||||
LDP Discovery Sources:
|
||||
IPv4:
|
||||
Interface: r2-eth0
|
||||
|
||||
Peer LDP Identifier: 3.3.3.3:0
|
||||
TCP connection: 2.2.2.2:xxx - 3.3.3.3:xxx
|
||||
Session Holdtime: 180 sec
|
||||
State: OPERATIONAL; Downstream-Unsolicited
|
||||
Up time: xx:xx:xx
|
||||
LDP Discovery Sources:
|
||||
IPv4:
|
||||
Interface: r2-eth1
|
||||
|
||||
Peer LDP Identifier: 4.4.4.4:0
|
||||
TCP connection: 2.2.2.2:xxx - 4.4.4.4:xxx
|
||||
Session Holdtime: 180 sec
|
||||
State: OPERATIONAL; Downstream-Unsolicited
|
||||
Up time: xx:xx:xx
|
||||
LDP Discovery Sources:
|
||||
IPv4:
|
||||
Interface: r2-eth1
|
@ -1,7 +0,0 @@
|
||||
Inbound Outbound
|
||||
Label Type Nexthop Label
|
||||
-------- ------- --------------- --------
|
||||
XX LDP 10.0.1.1 3
|
||||
XX LDP 10.0.2.3 3
|
||||
XX LDP 10.0.2.4 3
|
||||
XX LDP 10.0.3.3 3
|
@ -1,7 +0,0 @@
|
||||
Inbound Outbound
|
||||
Label Type Nexthop Label
|
||||
-------- ------- --------------- --------
|
||||
XX LDP 10.0.1.1 3
|
||||
XX LDP 10.0.2.3 3
|
||||
XX LDP 10.0.2.4 3
|
||||
XX LDP 10.0.3.3 3
|
@ -1,7 +0,0 @@
|
||||
O>* 1.1.1.1/32 [110/20] via 10.0.2.2, r3-eth0, label xxx
|
||||
O>* 2.2.2.2/32 [110/10] via 10.0.2.2, r3-eth0
|
||||
O 3.3.3.3/32 [110/0] is directly connected, lo
|
||||
O>* 4.4.4.4/32 [110/10] via 10.0.2.4, r3-eth0
|
||||
O>* 10.0.1.0/24 [110/20] via 10.0.2.2, r3-eth0
|
||||
O 10.0.2.0/24 [110/10] is directly connected, r3-eth0
|
||||
O 10.0.3.0/24 [110/10] is directly connected, r3-eth1
|
@ -1,49 +0,0 @@
|
||||
1.1.1.1/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
4.4.4.4 xxx
|
||||
2.2.2.2/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
4.4.4.4 xxx
|
||||
3.3.3.3/32
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
4.4.4.4 xxx
|
||||
4.4.4.4/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
4.4.4.4 imp-null
|
||||
10.0.1.0/24
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
4.4.4.4 xxx
|
||||
10.0.2.0/24
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
4.4.4.4 imp-null
|
||||
10.0.3.0/24
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
4.4.4.4 xxx
|
@ -1,9 +0,0 @@
|
||||
Local LDP Identifier: 3.3.3.3:0
|
||||
Discovery Sources:
|
||||
Interfaces:
|
||||
r3-eth0: xmit/recv
|
||||
LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2
|
||||
Hold time: 15 sec
|
||||
LDP Id: 4.4.4.4:0, Transport address: 4.4.4.4
|
||||
Hold time: 15 sec
|
||||
Targeted Hellos:
|
@ -1,2 +0,0 @@
|
||||
AF Interface State Uptime Hello Timers ac
|
||||
ipv4 r3-eth0 ACTIVE xx:xx:xx 5/15 2
|
@ -1,17 +0,0 @@
|
||||
Peer LDP Identifier: 2.2.2.2:0
|
||||
TCP connection: 3.3.3.3:xxx - 2.2.2.2:xxx
|
||||
Session Holdtime: 180 sec
|
||||
State: OPERATIONAL; Downstream-Unsolicited
|
||||
Up time: xx:xx:xx
|
||||
LDP Discovery Sources:
|
||||
IPv4:
|
||||
Interface: r3-eth0
|
||||
|
||||
Peer LDP Identifier: 4.4.4.4:0
|
||||
TCP connection: 3.3.3.3:xxx - 4.4.4.4:xxx
|
||||
Session Holdtime: 180 sec
|
||||
State: OPERATIONAL; Downstream-Unsolicited
|
||||
Up time: xx:xx:xx
|
||||
LDP Discovery Sources:
|
||||
IPv4:
|
||||
Interface: r3-eth0
|
@ -1,10 +0,0 @@
|
||||
Inbound Outbound
|
||||
Label Type Nexthop Label
|
||||
-------- ------- --------------- --------
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 XX
|
||||
XX LDP 10.0.2.4 3
|
||||
XX LDP 10.0.3.2 3
|
||||
XX LDP 10.0.3.2 3
|
||||
XX LDP 10.0.3.2 XX
|
@ -1,10 +0,0 @@
|
||||
Inbound Outbound
|
||||
Label Type Nexthop Label
|
||||
-------- ------- --------------- --------
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 XX
|
||||
XX LDP 10.0.2.4 3
|
||||
XX LDP 10.0.3.2 3
|
||||
XX LDP 10.0.3.2 3
|
||||
XX LDP 10.0.3.2 XX
|
@ -1,7 +0,0 @@
|
||||
O>* 1.1.1.1/32 [110/20] via 10.0.2.2, r4-eth0, label xxx
|
||||
O>* 2.2.2.2/32 [110/10] via 10.0.2.2, r4-eth0
|
||||
O>* 3.3.3.3/32 [110/10] via 10.0.2.3, r4-eth0
|
||||
O 4.4.4.4/32 [110/0] is directly connected, lo
|
||||
O>* 10.0.1.0/24 [110/20] via 10.0.2.2, r4-eth0
|
||||
O 10.0.2.0/24 [110/10] is directly connected, r4-eth0
|
||||
O>* 10.0.3.0/24 [110/20] via 10.0.2.2, r4-eth0
|
@ -1,49 +0,0 @@
|
||||
1.1.1.1/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
3.3.3.3 xxx
|
||||
2.2.2.2/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
3.3.3.3 xxx
|
||||
3.3.3.3/32
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
3.3.3.3 imp-null
|
||||
4.4.4.4/32
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 xxx
|
||||
3.3.3.3 xxx
|
||||
10.0.1.0/24
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
3.3.3.3 xxx
|
||||
10.0.2.0/24
|
||||
Local binding: label: imp-null
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
3.3.3.3 imp-null
|
||||
10.0.3.0/24
|
||||
Local binding: label: xxx
|
||||
Remote bindings:
|
||||
Peer Label
|
||||
----------------- ---------
|
||||
2.2.2.2 imp-null
|
||||
3.3.3.3 imp-null
|
@ -1,9 +0,0 @@
|
||||
Local LDP Identifier: 4.4.4.4:0
|
||||
Discovery Sources:
|
||||
Interfaces:
|
||||
r4-eth0: xmit/recv
|
||||
LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2
|
||||
Hold time: 15 sec
|
||||
LDP Id: 3.3.3.3:0, Transport address: 3.3.3.3
|
||||
Hold time: 15 sec
|
||||
Targeted Hellos:
|
@ -1,2 +0,0 @@
|
||||
AF Interface State Uptime Hello Timers ac
|
||||
ipv4 r4-eth0 ACTIVE xx:xx:xx 5/15 2
|
@ -1,17 +0,0 @@
|
||||
Peer LDP Identifier: 2.2.2.2:0
|
||||
TCP connection: 4.4.4.4:xxx - 2.2.2.2:xxx
|
||||
Session Holdtime: 180 sec
|
||||
State: OPERATIONAL; Downstream-Unsolicited
|
||||
Up time: xx:xx:xx
|
||||
LDP Discovery Sources:
|
||||
IPv4:
|
||||
Interface: r4-eth0
|
||||
|
||||
Peer LDP Identifier: 3.3.3.3:0
|
||||
TCP connection: 4.4.4.4:xxx - 3.3.3.3:xxx
|
||||
Session Holdtime: 180 sec
|
||||
State: OPERATIONAL; Downstream-Unsolicited
|
||||
Up time: xx:xx:xx
|
||||
LDP Discovery Sources:
|
||||
IPv4:
|
||||
Interface: r4-eth0
|
@ -1,9 +0,0 @@
|
||||
Inbound Outbound
|
||||
Label Type Nexthop Label
|
||||
-------- ------- --------------- --------
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 XX
|
||||
XX LDP 10.0.2.3 3
|
||||
XX LDP 10.0.2.3 3
|
@ -1,9 +0,0 @@
|
||||
Inbound Outbound
|
||||
Label Type Nexthop Label
|
||||
-------- ------- --------------- --------
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 3
|
||||
XX LDP 10.0.2.2 XX
|
||||
XX LDP 10.0.2.3 3
|
||||
XX LDP 10.0.2.3 3
|
@ -77,12 +77,6 @@ from lib import topotest
|
||||
|
||||
fatal_error = ""
|
||||
|
||||
# Expected version of CLI Output - Appendix to filename
|
||||
# empty string = current, latest output (default)
|
||||
# "-1" ... "-NNN" previous versions (incrementing with each version)
|
||||
cli_version = ""
|
||||
|
||||
|
||||
#####################################################
|
||||
##
|
||||
## Network Topology Definition
|
||||
@ -164,7 +158,6 @@ def teardown_module(module):
|
||||
def test_router_running():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip if previous fatal error condition is raised
|
||||
if (fatal_error != ""):
|
||||
@ -179,35 +172,12 @@ def test_router_running():
|
||||
fatal_error = net['r%s' % i].checkRouterRunning()
|
||||
assert fatal_error == "", fatal_error
|
||||
|
||||
# Detect CLI Version
|
||||
# At this time, there are only 2 possible outputs, so simple check
|
||||
output = net['r1'].cmd('vtysh -c "show mpls ldp discovery" 2> /dev/null').rstrip()
|
||||
|
||||
# Check if old or new format of CLI Output. Default is to current format
|
||||
#
|
||||
# Old (v1) output looks like this:
|
||||
# Local LDP Identifier: 1.1.1.1:0
|
||||
# Discovery Sources:
|
||||
# Interfaces:
|
||||
# r1-eth0: xmit/recv
|
||||
# LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2
|
||||
# Hold time: 15 sec
|
||||
# Targeted Hellos:
|
||||
#
|
||||
# Current (v0) output looks like this:
|
||||
# AF ID Type Source Holdtime
|
||||
# ipv4 2.2.2.2 Link r1-eth0 15
|
||||
pattern = re.compile("^Local LDP Identifier.*")
|
||||
if pattern.match(output):
|
||||
cli_version = "-1"
|
||||
|
||||
# For debugging after starting FRR/Quagga daemons, uncomment the next line
|
||||
# CLI(net)
|
||||
|
||||
def test_mpls_interfaces():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip if previous fatal error condition is raised
|
||||
if (fatal_error != ""):
|
||||
@ -220,7 +190,7 @@ def test_mpls_interfaces():
|
||||
print("******************************************\n")
|
||||
failures = 0
|
||||
for i in range(1, 5):
|
||||
refTableFile = '%s/r%s/show_mpls_ldp_interface.ref%s' % (thisDir, i, cli_version)
|
||||
refTableFile = '%s/r%s/show_mpls_ldp_interface.ref'
|
||||
if os.path.isfile(refTableFile):
|
||||
# Read expected result from file
|
||||
expected = open(refTableFile).read().rstrip()
|
||||
@ -263,7 +233,6 @@ def test_mpls_interfaces():
|
||||
def test_mpls_ldp_neighbor_establish():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip if previous fatal error condition is raised
|
||||
if (fatal_error != ""):
|
||||
@ -279,22 +248,22 @@ def test_mpls_ldp_neighbor_establish():
|
||||
# Look for any node not yet converged
|
||||
for i in range(1, 5):
|
||||
established = net['r%s' % i].cmd('vtysh -c "show mpls ldp neighbor" 2> /dev/null').rstrip()
|
||||
if cli_version != "-1":
|
||||
# On current version, we need to make sure they all turn to OPERATIONAL on all lines
|
||||
#
|
||||
lines = ('\n'.join(established.splitlines()) + '\n').splitlines(1)
|
||||
# Check all lines to be either table header (starting with ^AF or show OPERATIONAL)
|
||||
header = r'^AF.*'
|
||||
operational = r'^ip.*OPERATIONAL.*'
|
||||
found_operational = 0
|
||||
for j in range(1, len(lines)):
|
||||
if (not re.search(header, lines[j])) and (not re.search(operational, lines[j])):
|
||||
established = "" # Empty string shows NOT established
|
||||
if re.search(operational, lines[j]):
|
||||
found_operational += 1
|
||||
if found_operational < 1:
|
||||
# Need at least one operational neighbor
|
||||
|
||||
# On current version, we need to make sure they all turn to OPERATIONAL on all lines
|
||||
#
|
||||
lines = ('\n'.join(established.splitlines()) + '\n').splitlines(1)
|
||||
# Check all lines to be either table header (starting with ^AF or show OPERATIONAL)
|
||||
header = r'^AF.*'
|
||||
operational = r'^ip.*OPERATIONAL.*'
|
||||
found_operational = 0
|
||||
for j in range(1, len(lines)):
|
||||
if (not re.search(header, lines[j])) and (not re.search(operational, lines[j])):
|
||||
established = "" # Empty string shows NOT established
|
||||
if re.search(operational, lines[j]):
|
||||
found_operational += 1
|
||||
if found_operational < 1:
|
||||
# Need at least one operational neighbor
|
||||
established = "" # Empty string shows NOT established
|
||||
if not established:
|
||||
print('Waiting for r%s' %i)
|
||||
sys.stdout.flush()
|
||||
@ -326,7 +295,6 @@ def test_mpls_ldp_neighbor_establish():
|
||||
def test_mpls_ldp_discovery():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip if previous fatal error condition is raised
|
||||
if (fatal_error != ""):
|
||||
@ -339,7 +307,7 @@ def test_mpls_ldp_discovery():
|
||||
print("******************************************\n")
|
||||
failures = 0
|
||||
for i in range(1, 5):
|
||||
refTableFile = '%s/r%s/show_mpls_ldp_discovery.ref%s' % (thisDir, i, cli_version)
|
||||
refTableFile = '%s/r%s/show_mpls_ldp_discovery.ref'
|
||||
if os.path.isfile(refTableFile):
|
||||
# Actual output from router
|
||||
actual = net['r%s' % i].cmd('vtysh -c "show mpls ldp discovery" 2> /dev/null').rstrip()
|
||||
@ -381,7 +349,6 @@ def test_mpls_ldp_discovery():
|
||||
def test_mpls_ldp_neighbor():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip if previous fatal error condition is raised
|
||||
if (fatal_error != ""):
|
||||
@ -394,7 +361,7 @@ def test_mpls_ldp_neighbor():
|
||||
print("******************************************\n")
|
||||
failures = 0
|
||||
for i in range(1, 5):
|
||||
refTableFile = '%s/r%s/show_mpls_ldp_neighbor.ref%s' % (thisDir, i, cli_version)
|
||||
refTableFile = '%s/r%s/show_mpls_ldp_neighbor.ref'
|
||||
if os.path.isfile(refTableFile):
|
||||
# Read expected result from file
|
||||
expected = open(refTableFile).read().rstrip()
|
||||
@ -405,17 +372,8 @@ def test_mpls_ldp_neighbor():
|
||||
actual = net['r%s' % i].cmd('vtysh -c "show mpls ldp neighbor" 2> /dev/null').rstrip()
|
||||
|
||||
# Mask out changing parts in output
|
||||
if cli_version == "-1":
|
||||
# Mask out Timer in Uptime
|
||||
actual = re.sub(r"Up time: [0-9][0-9]:[0-9][0-9]:[0-9][0-9]", "Up time: xx:xx:xx", actual)
|
||||
# Mask out Port numbers in TCP connection
|
||||
actual = re.sub(r"TCP connection: ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]):[0-9]+ - ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]):[0-9]+",
|
||||
r"TCP connection: \1:xxx - \2:xxx", actual)
|
||||
else:
|
||||
# Current Version
|
||||
#
|
||||
# Mask out Timer in Uptime
|
||||
actual = re.sub(r"(ipv4 [0-9\.]+ +OPERATIONAL [0-9\.]+ +)[0-9][0-9]:[0-9][0-9]:[0-9][0-9]", r"\1xx:xx:xx", actual)
|
||||
# Mask out Timer in Uptime
|
||||
actual = re.sub(r"(ipv4 [0-9\.]+ +OPERATIONAL [0-9\.]+ +)[0-9][0-9]:[0-9][0-9]:[0-9][0-9]", r"\1xx:xx:xx", actual)
|
||||
|
||||
# Fix newlines (make them all the same)
|
||||
actual = ('\n'.join(actual.splitlines()) + '\n').splitlines(1)
|
||||
@ -446,7 +404,6 @@ def test_mpls_ldp_neighbor():
|
||||
def test_mpls_ldp_binding():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip this test for now until proper sorting of the output
|
||||
# is implemented
|
||||
@ -463,7 +420,7 @@ def test_mpls_ldp_binding():
|
||||
print("******************************************\n")
|
||||
failures = 0
|
||||
for i in range(1, 5):
|
||||
refTableFile = '%s/r%s/show_mpls_ldp_binding.ref%s' % (thisDir, i, cli_version)
|
||||
refTableFile = '%s/r%s/show_mpls_ldp_binding.ref'
|
||||
if os.path.isfile(refTableFile):
|
||||
# Read expected result from file
|
||||
expected = open(refTableFile).read().rstrip()
|
||||
@ -474,16 +431,9 @@ def test_mpls_ldp_binding():
|
||||
actual = net['r%s' % i].cmd('vtysh -c "show mpls ldp binding" 2> /dev/null').rstrip()
|
||||
|
||||
# Mask out changing parts in output
|
||||
if cli_version == "-1":
|
||||
# Mask out label
|
||||
actual = re.sub(r"label: [0-9]+", "label: xxx", actual)
|
||||
actual = re.sub(r"(\s+[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+[ ]+)[0-9]+", r"\1xxx", actual)
|
||||
else:
|
||||
# Current Version
|
||||
#
|
||||
# Mask out label
|
||||
actual = re.sub(r"(ipv4 [0-9\./]+ +[0-9\.]+ +)[0-9][0-9] (.*)", r"\1xxx\2", actual)
|
||||
actual = re.sub(r"(ipv4 [0-9\./]+ +[0-9\.]+ +[a-z\-]+ +)[0-9][0-9] (.*)", r"\1xxx\2", actual)
|
||||
# Mask out label
|
||||
actual = re.sub(r"(ipv4 [0-9\./]+ +[0-9\.]+ +)[0-9][0-9] (.*)", r"\1xxx\2", actual)
|
||||
actual = re.sub(r"(ipv4 [0-9\./]+ +[0-9\.]+ +[a-z\-]+ +)[0-9][0-9] (.*)", r"\1xxx\2", actual)
|
||||
|
||||
# Fix newlines (make them all the same)
|
||||
actual = ('\n'.join(actual.splitlines()) + '\n').splitlines(1)
|
||||
@ -527,7 +477,6 @@ def test_mpls_ldp_binding():
|
||||
def test_zebra_ipv4_routingTable():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip if previous fatal error condition is raised
|
||||
if (fatal_error != ""):
|
||||
@ -540,7 +489,7 @@ def test_zebra_ipv4_routingTable():
|
||||
print("******************************************\n")
|
||||
failures = 0
|
||||
for i in range(1, 5):
|
||||
refTableFile = '%s/r%s/show_ipv4_route.ref%s' % (thisDir, i, cli_version)
|
||||
refTableFile = '%s/r%s/show_ipv4_route.ref'
|
||||
if os.path.isfile(refTableFile):
|
||||
# Read expected result from file
|
||||
expected = open(refTableFile).read().rstrip()
|
||||
@ -562,9 +511,6 @@ def test_zebra_ipv4_routingTable():
|
||||
# now fix newlines of expected (make them all the same)
|
||||
expected = ('\n'.join(expected.splitlines()) + '\n').splitlines(1)
|
||||
|
||||
# Add missing comma before label (for old version)
|
||||
actual = re.sub(r"([0-9]) label ", r"\1, label ", actual)
|
||||
|
||||
# Fix newlines (make them all the same)
|
||||
actual = ('\n'.join(actual.splitlines()) + '\n').splitlines(1)
|
||||
|
||||
@ -594,7 +540,6 @@ def test_zebra_ipv4_routingTable():
|
||||
def test_mpls_table():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip if previous fatal error condition is raised
|
||||
if (fatal_error != ""):
|
||||
@ -607,15 +552,8 @@ def test_mpls_table():
|
||||
print("******************************************\n")
|
||||
failures = 0
|
||||
|
||||
version = cli_version
|
||||
if (version == ""):
|
||||
# check for new output without implicit-null
|
||||
output = net['r1'].cmd('vtysh -c "show mpls table" 2> /dev/null').rstrip()
|
||||
if 'LDP 10.0.1.2 3' in output:
|
||||
version = "-no-impl-null"
|
||||
|
||||
for i in range(1, 5):
|
||||
refTableFile = '%s/r%s/show_mpls_table.ref%s' % (thisDir, i, version)
|
||||
refTableFile = '%s/r%s/show_mpls_table.ref'
|
||||
if os.path.isfile(refTableFile):
|
||||
# Read expected result from file
|
||||
expected = open(refTableFile).read()
|
||||
@ -672,7 +610,6 @@ def test_mpls_table():
|
||||
def test_linux_mpls_routes():
|
||||
global fatal_error
|
||||
global net
|
||||
global cli_version
|
||||
|
||||
# Skip if previous fatal error condition is raised
|
||||
if (fatal_error != ""):
|
||||
|
Loading…
Reference in New Issue
Block a user