]> git.puffer.fish Git - mirror/frr.git/commitdiff
tests: Addition of AutoRP Discovery uncovered broken PIM test 16634/head
authorNathan Bahr <nbahr@atcorp.com>
Wed, 18 Sep 2024 15:00:10 +0000 (15:00 +0000)
committerNathan Bahr <nbahr@atcorp.com>
Tue, 24 Sep 2024 16:40:57 +0000 (16:40 +0000)
With AutoRP discovery running by default, that adds a new
IGMP group that needs to be accounted for in IGMP output.

For pim.py
  The clear IGMP interfaces function is in a broken state. It was
  already ignoring any errors and returned true always, but with
  the addition of the AutoRP discovery group, you could end up
  with a different group order in the json which would cause a key
  error making the test fail. For now I just added a check to
  avoid the key error.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
tests/topotests/lib/pim.py

index 9eb3a076a7a916a17ef0bcc43a24afcb7b379d24..369a794ebc7cf80eec72f793793bea60cbe724b8 100644 (file)
@@ -2454,10 +2454,11 @@ def clear_igmp_interfaces(tgen, dut):
 
     # Verify uptime for groups
     for group in group_before_clear.keys():
-        d1 = datetime.datetime.strptime(group_before_clear[group], "%H:%M:%S")
-        d2 = datetime.datetime.strptime(group_after_clear[group], "%H:%M:%S")
-        if d2 >= d1:
-            errormsg = ("[DUT: %s]: IGMP group is not cleared", " [FAILED!!]", dut)
+        if group in group_after_clear:
+            d1 = datetime.datetime.strptime(group_before_clear[group], "%H:%M:%S")
+            d2 = datetime.datetime.strptime(group_after_clear[group], "%H:%M:%S")
+            if d2 >= d1:
+                errormsg = ("[DUT: %s]: IGMP group is not cleared", " [FAILED!!]", dut)
 
     logger.info("[DUT: %s]: IGMP group is cleared [PASSED!!]")