From efab30c73ee9793c780665fbd46a68aa5ac2a138 Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Sat, 4 Aug 2018 00:02:48 +0000 Subject: [PATCH] Disable the asan-deque.cpp integration test for AppleLLDB < v1000 Some of Apple's public CI nodes ship an lldb which has trouble debugging the asan-deque.cpp test. Specifically, that lldb appears to either parse location lists in the test program incorrectly or to have a broken std::deque data formatter. We don't want to work around this by weakening the integration test, and we're unable to update the lldb version on the CI node at the moment. The compromise is to require AppleLLDB >= 1000 when AppleLLDB is being used to debug this test. Reviewed (in person) by Adrian Prantl. Bot failure: http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA/48074 rdar://42892721 llvm-svn: 338937 --- debuginfo-tests/asan-deque.cpp | 2 +- debuginfo-tests/lit.cfg.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/debuginfo-tests/asan-deque.cpp b/debuginfo-tests/asan-deque.cpp index 6e6cdfd0e747..fe82db58dbd7 100644 --- a/debuginfo-tests/asan-deque.cpp +++ b/debuginfo-tests/asan-deque.cpp @@ -3,7 +3,7 @@ // REQUIRES: not_asan // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. - +// UNSUPPORTED: apple-lldb-pre-1000 #include struct A { diff --git a/debuginfo-tests/lit.cfg.py b/debuginfo-tests/lit.cfg.py index cd20eaad7b2c..6b47dd50d1d9 100644 --- a/debuginfo-tests/lit.cfg.py +++ b/debuginfo-tests/lit.cfg.py @@ -5,6 +5,7 @@ import platform import re import subprocess import tempfile +import commands import lit.formats import lit.util @@ -61,3 +62,11 @@ tools = [ llvm_config.add_tool_substitutions(tools, tool_dirs) lit.util.usePlatformSdkOnDarwin(config, lit_config) + +if platform.system() == 'Darwin': + xcode_lldb_vers = commands.getoutput("xcrun lldb --version") + match = re.search('lldb-(\d+)', xcode_lldb_vers) + if match: + apple_lldb_vers = int(match.group(1)) + if apple_lldb_vers < 1000: + config.available_features.add('apple-lldb-pre-1000')