[PATCH] D67194: Add testing infrastructure to check if gdb is available for testing.

Sterling Augustine via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 4 15:18:28 PDT 2019


saugustine created this revision.
saugustine added reviewers: echristo, EricWF.
Herald added subscribers: llvm-commits, christof, mgorny.
Herald added a project: LLVM.

Repository:
  rL LLVM

https://reviews.llvm.org/D67194

Files:
  libcxx/test/CMakeLists.txt
  libcxx/test/lit.site.cfg.in
  libcxx/utils/libcxx/test/config.py


Index: libcxx/utils/libcxx/test/config.py
===================================================================
--- libcxx/utils/libcxx/test/config.py
+++ libcxx/utils/libcxx/test/config.py
@@ -490,6 +490,10 @@
             self.config.available_features.add('glibc-%s' % maj_v)
             self.config.available_features.add('glibc-%s.%s' % (maj_v, min_v))
 
+        if 'NOTFOUND' not in self.get_lit_conf('libcxx_gdb'):
+            self.config.available_features.add('libcxx_gdb')
+            self.cxx.libcxx_gdb = self.get_lit_conf('libcxx_gdb')
+
         # Support Objective-C++ only on MacOS and if the compiler supports it.
         if self.target_info.platform() == "darwin" and \
            self.target_info.is_host_macosx() and \
@@ -1072,6 +1076,8 @@
         not_py = os.path.join(self.libcxx_src_root, 'utils', 'not.py')
         not_str = '%s %s ' % (pipes.quote(sys.executable), pipes.quote(not_py))
         sub.append(('not ', not_str))
+        if self.get_lit_conf('libcxx_gdb'):
+            sub.append(('%libcxx_gdb', self.get_lit_conf('libcxx_gdb')))
 
     def can_use_deployment(self):
         # Check if the host is on an Apple platform using clang.
Index: libcxx/test/lit.site.cfg.in
===================================================================
--- libcxx/test/lit.site.cfg.in
+++ libcxx/test/lit.site.cfg.in
@@ -35,6 +35,7 @@
 config.cxx_ext_threads          = @LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY@
 config.pstl_src_root            = "@ParallelSTL_SOURCE_DIR@" if @LIBCXX_ENABLE_PARALLEL_ALGORITHMS@ else None
 config.pstl_obj_root            = "@ParallelSTL_BINARY_DIR@" if @LIBCXX_ENABLE_PARALLEL_ALGORITHMS@ else None
+config.libcxx_gdb               = "@LIBCXX_GDB@"
 
 # Let the main config do the real work.
 config.loaded_site_config = True
Index: libcxx/test/CMakeLists.txt
===================================================================
--- libcxx/test/CMakeLists.txt
+++ libcxx/test/CMakeLists.txt
@@ -60,6 +60,14 @@
   message(FATAL_ERROR "Expected LIBCXX_TEST_DEPS to be defined")
 endif()
 
+find_program(LIBCXX_GDB gdb)
+if (LIBCXX_GDB)
+  set(LIBCXX_GDB "${LIBCXX_GDB}")
+  message(STATUS "gdb found: ${LIBCXX_GDB}")
+else()
+  message(STATUS "gdb not found. Disabling dependent tests.")
+endif()
+
 if (LIBCXX_INCLUDE_TESTS)
   include(AddLLVM) # for configure_lit_site_cfg and add_lit_testsuit
 
@@ -87,7 +95,6 @@
   setup_lcov_test_target_coverage("cxx" "${output_dir}" "${capture_dirs}" "${extract_dirs}")
 endif()
 
-
 if (LIBCXX_CONFIGURE_IDE)
   # Create dummy targets for each of the tests in the test suite, this allows
   # IDE's such as CLion to correctly highlight the tests because it knows


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67194.218796.patch
Type: text/x-patch
Size: 2662 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190904/7e8b0e18/attachment.bin>


More information about the llvm-commits mailing list