aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 """