summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-11-16 18:26:20 +0000
committerZachary Turner <zturner@google.com>2017-11-16 18:26:20 +0000
commitbb4ea6522c44e375d75e3c8680eae0ae2d2ff1cf (patch)
tree8b6727db5b3b7604f32645054e43e49f02984099
parent9c5b7997814a1d8665b332f19ee728e728c0c26c (diff)
Resubmit "Refactor debuginfo-tests"
This was reverted due to some failures on specific darwin buildbots, the issue being that the new lit configuration was not setting the SDKROOT environment variable. We've tested a fix locally and confirmed that it works, so this patch resubmits everything with the fix applied. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318435 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--CMakeLists.txt19
-rw-r--r--projects/CMakeLists.txt1
-rw-r--r--utils/lit/lit/llvm/config.py9
-rwxr-xr-xutils/test_debuginfo.pl2
4 files changed, 20 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8cd9d053c63..5f5b138b53b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -110,7 +110,7 @@ endif()
# LLVM_EXTERNAL_${project}_SOURCE_DIR using LLVM_ALL_PROJECTS
# This allows an easy way of setting up a build directory for llvm and another
# one for llvm+clang+... using the same sources.
-set(LLVM_ALL_PROJECTS "clang;libcxx;libcxxabi;lldb;compiler-rt;lld;polly")
+set(LLVM_ALL_PROJECTS "clang;libcxx;libcxxabi;lldb;compiler-rt;debuginfo-tests;lld;polly")
set(LLVM_ENABLE_PROJECTS "" CACHE STRING
"Semicolon-separated list of projects to build (${LLVM_ALL_PROJECTS}), or \"all\".")
if( LLVM_ENABLE_PROJECTS STREQUAL "all" )
@@ -885,13 +885,18 @@ if( LLVM_INCLUDE_EXAMPLES )
endif()
if( LLVM_INCLUDE_TESTS )
- if(EXISTS ${LLVM_MAIN_SRC_DIR}/projects/test-suite AND TARGET clang)
+ if(TARGET clang)
include(LLVMExternalProjectUtils)
- llvm_ExternalProject_Add(test-suite ${LLVM_MAIN_SRC_DIR}/projects/test-suite
- USE_TOOLCHAIN
- EXCLUDE_FROM_ALL
- NO_INSTALL
- ALWAYS_CLEAN)
+ if (EXISTS ${LLVM_MAIN_SRC_DIR}/projects/test-suite)
+ llvm_ExternalProject_Add(test-suite ${LLVM_MAIN_SRC_DIR}/projects/test-suite
+ USE_TOOLCHAIN
+ TOOLCHAIN_TOOLS clang lld clang-cl
+ EXCLUDE_FROM_ALL
+ NO_INSTALL
+ ALWAYS_CLEAN)
+ endif()
+
+ add_llvm_external_project(debuginfo-tests projects/debuginfo-tests)
endif()
add_subdirectory(utils/lit)
add_subdirectory(test)
diff --git a/projects/CMakeLists.txt b/projects/CMakeLists.txt
index 9102efbdcb4..11835fa89d2 100644
--- a/projects/CMakeLists.txt
+++ b/projects/CMakeLists.txt
@@ -10,6 +10,7 @@ foreach(entry ${entries})
(NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libcxxabi) AND
(NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libunwind) AND
(NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/test-suite) AND
+ (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/debuginfo-tests) AND
(NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/parallel-libs) AND
(NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/openmp))
add_subdirectory(${entry})
diff --git a/utils/lit/lit/llvm/config.py b/utils/lit/lit/llvm/config.py
index 798f08af1be..d3d8d2288b7 100644
--- a/utils/lit/lit/llvm/config.py
+++ b/utils/lit/lit/llvm/config.py
@@ -27,8 +27,9 @@ class LLVMConfig(object):
# For tests that require Windows to run.
features.add('system-windows')
+ lit_tools_dir = getattr(config, 'lit_tools_dir', None)
# Seek sane tools in directories and set to $PATH.
- path = self.lit_config.getToolsPath(config.lit_tools_dir,
+ path = self.lit_config.getToolsPath(lit_tools_dir,
config.environment['PATH'],
['cmp.exe', 'grep.exe', 'sed.exe'])
if path is not None:
@@ -413,8 +414,10 @@ class LLVMConfig(object):
self.config.substitutions.append(
('%target_itanium_abi_host_triple', ''))
- self.config.substitutions.append(
- ('%src_include_dir', self.config.clang_src_dir + '/include'))
+ clang_src_dir = getattr(self.config, 'clang_src_dir', None)
+ if clang_src_dir:
+ self.config.substitutions.append(
+ ('%src_include_dir', os.path.join(clang_src_dir, 'include')))
# FIXME: Find nicer way to prohibit this.
self.config.substitutions.append(
diff --git a/utils/test_debuginfo.pl b/utils/test_debuginfo.pl
index aaf90d95468..d9613d73025 100755
--- a/utils/test_debuginfo.pl
+++ b/utils/test_debuginfo.pl
@@ -56,7 +56,7 @@ my $my_debugger = $ENV{'DEBUGGER'};
if (!$my_debugger) {
if ($use_lldb) {
my $path = dirname(Cwd::abs_path($0));
- $my_debugger = "/usr/bin/env python $path/../tools/clang/test/debuginfo-tests/llgdb.py";
+ $my_debugger = "/usr/bin/env python $path/../tools/clang/test/debuginfo-tests/tests/llgdb.py";
} else {
$my_debugger = "gdb";
}