diff options
-rw-r--r-- | test/Makefile | 2 | ||||
-rw-r--r-- | test/framework.py | 9 | ||||
-rw-r--r-- | test/test_gbp.py | 7 | ||||
-rw-r--r-- | test/test_reassembly.py | 5 |
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 """ |