Skip failing ARM testcases for CI 82/16282/8
authorjuraj.linkes <juraj.linkes@pantheon.tech>
Thu, 29 Nov 2018 08:37:08 +0000 (09:37 +0100)
committerOle Trøan <otroan@employees.org>
Thu, 6 Dec 2018 20:58:35 +0000 (20:58 +0000)
There are a few tests that fail on ARM and thus we can't enable testing
in CI. Skip the failing tests until they're fixed so that we catch new
failures in CI (when we enable testing for the remaining tests).

Change-Id: Ie896ef5c449ef965029633e38d317a8d5ac26352
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
test/Makefile
test/framework.py
test/test_gbp.py
test/test_reassembly.py

index eae2d89..72f3ff4 100644 (file)
@@ -299,6 +299,8 @@ help:
        @echo ""
        @echo " TEST_DEBUG=1         - turn on debugging of the test framework itself (expert)"
        @echo ""
+       @echo " SKIP_AARCH64=1       - skip tests that are failing on the ARM platorm in FD.io CI"
+       @echo ""
        @echo "Creating test documentation"
        @echo " test-doc            - generate documentation for test framework"
        @echo " test-wipe-doc       - wipe documentation for test framework"
index 2bbb4ce..6c1ba5e 100644 (file)
@@ -12,6 +12,7 @@ import faulthandler
 import random
 import copy
 import psutil
+import platform
 from collections import deque
 from threading import Thread, Event
 from inspect import getdoc, isclass
@@ -133,6 +134,14 @@ def pump_output(testclass):
         # of properly terminating the loop
 
 
+def is_skip_aarch64_set():
+    return os.getenv('SKIP_AARCH64', 'n').lower() in ('yes', 'y', '1')
+
+
+def is_platform_aarch64():
+    return platform.machine() == 'aarch64'
+
+
 def running_extended_tests():
     s = os.getenv("EXTENDED_TESTS", "n")
     return True if s.lower() in ("y", "yes", "1") else False
index f49ba4c..53dcf3b 100644 (file)
@@ -2,7 +2,8 @@
 
 import unittest
 
-from framework import VppTestCase, VppTestRunner
+from framework import VppTestCase, VppTestRunner, is_skip_aarch64_set, \
+    is_platform_aarch64
 from vpp_object import VppObject
 from vpp_neighbor import VppNeighbor
 from vpp_ip_route import VppIpRoute, VppRoutePath, VppIpTable, \
@@ -1827,6 +1828,8 @@ class TestGBP(VppTestCase):
         self.logger.info(self.vapi.cli("sh int"))
         self.logger.info(self.vapi.cli("sh gbp vxlan"))
 
+    @unittest.skipIf(is_skip_aarch64_set() and is_platform_aarch64(),
+                     "test doesn't work on aarch64")
     def test_gbp_learn_vlan_l2(self):
         """ GBP L2 Endpoint w/ VLANs"""
 
@@ -1995,6 +1998,8 @@ class TestGBP(VppTestCase):
         self.pg2.unconfig_ip4()
         self.pg3.unconfig_ip4()
 
+    @unittest.skipIf(is_skip_aarch64_set() and is_platform_aarch64(),
+                     "test doesn't work on aarch64")
     def test_gbp_learn_l3(self):
         """ GBP L3 Endpoint Learning """
 
index 95fefdb..0c11d9b 100644 (file)
@@ -4,7 +4,8 @@ import six
 import unittest
 from random import shuffle
 
-from framework import VppTestCase, VppTestRunner
+from framework import VppTestCase, VppTestRunner, is_skip_aarch64_set,\
+    is_platform_aarch64
 
 from scapy.packet import Raw
 from scapy.layers.l2 import Ether, GRE
@@ -177,6 +178,8 @@ class TestIPv4Reassembly(VppTestCase):
         self.verify_capture(packets)
         self.src_if.assert_nothing_captured()
 
+    @unittest.skipIf(is_skip_aarch64_set() and is_platform_aarch64(),
+                     "test doesn't work on aarch64")
     def test_random(self):
         """ random order reassembly """