summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjuraj.linkes <juraj.linkes@pantheon.tech>2018-11-29 09:37:08 +0100
committerOle Trøan <otroan@employees.org>2018-12-06 20:58:35 +0000
commit68ebc83e60f91104667b5ee4b4ab13d9716ee860 (patch)
tree8aa467d955a08abfa616e382ff472cb8ed633020
parentf0cbcea428e8ffe6018ea782df9ebe9eb5b08dd0 (diff)
Skip failing ARM testcases for CI
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>
-rw-r--r--test/Makefile2
-rw-r--r--test/framework.py9
-rw-r--r--test/test_gbp.py7
-rw-r--r--test/test_reassembly.py5
4 files changed, 21 insertions, 2 deletions
diff --git a/test/Makefile b/test/Makefile
index eae2d894b1f..72f3ff4aea7 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -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"
diff --git a/test/framework.py b/test/framework.py
index 2bbb4ce44f7..6c1ba5e3f33 100644
--- a/test/framework.py
+++ b/test/framework.py
@@ -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
diff --git a/test/test_gbp.py b/test/test_gbp.py
index f49ba4c49e1..53dcf3bfd34 100644
--- a/test/test_gbp.py
+++ b/test/test_gbp.py
@@ -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 """
diff --git a/test/test_reassembly.py b/test/test_reassembly.py
index 95fefdb5aa1..0c11d9b3ce8 100644
--- a/test/test_reassembly.py
+++ b/test/test_reassembly.py
@@ -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 """