Disable the asan-deque.cpp integration test for AppleLLDB < v1000
authorVedant Kumar <vsk@apple.com>
Sat, 4 Aug 2018 00:02:48 +0000 (00:02 +0000)
committerVedant Kumar <vsk@apple.com>
Sat, 4 Aug 2018 00:02:48 +0000 (00:02 +0000)
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
debuginfo-tests/lit.cfg.py

index 6e6cdfd..fe82db5 100644 (file)
@@ -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 <deque>
 
 struct A {
index cd20eaa..6b47dd5 100644 (file)
@@ -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')