thakis created this revision.
thakis added a reviewer: amccarth.
thakis requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Before this change, running check-lldb-shell with LLVM_ENABLE_DIA_SDK=NO would 
fail ~25 tests.

This change adds a lit feature based on if the DIA SDK is available and 
annotates
all tests that set breakpoints with this new feature. Now these tests are 
skipped
(with a warning message during test startup) instead of failing. This matches 
how
this is handled in check-llvm.

(This doesn't touch API or Unit tests for now.)


https://reviews.llvm.org/D109834

Files:
  lldb/test/Shell/Breakpoint/case-insensitive.test
  lldb/test/Shell/Breakpoint/dummy-target.test
  lldb/test/Shell/Commands/command-thread-select.test
  lldb/test/Shell/Driver/TestSingleQuote.test
  lldb/test/Shell/Expr/TestIRMemoryMapWindows.test
  lldb/test/Shell/Expr/nodefaultlib.cpp
  lldb/test/Shell/Settings/TestFrameFormatColor.test
  lldb/test/Shell/Settings/TestFrameFormatNoColor.test
  lldb/test/Shell/Settings/TestLineMarkerColor.test
  lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp
  lldb/test/Shell/SymbolFile/PDB/lit.local.cfg
  lldb/test/Shell/Watchpoint/SetErrorCases.test
  lldb/test/Shell/lit.cfg.py
  lldb/test/Shell/lit.site.cfg.py.in
  llvm/utils/gn/secondary/lldb/test/BUILD.gn

Index: llvm/utils/gn/secondary/lldb/test/BUILD.gn
===================================================================
--- llvm/utils/gn/secondary/lldb/test/BUILD.gn
+++ llvm/utils/gn/secondary/lldb/test/BUILD.gn
@@ -1,6 +1,5 @@
+import("//llvm/lib/DebugInfo/PDB/enable_dia.gni")
 import("//llvm/triples.gni")
-
-#import("//llvm/utils/gn/build/libs/xar/enable.gni")
 import("//llvm/utils/gn/build/libs/xml/enable.gni")
 import("//llvm/utils/gn/build/libs/zlib/enable.gni")
 import("//llvm/utils/gn/build/write_cmake_config.gni")
@@ -109,6 +108,12 @@
     "LLVM_HOST_TRIPLE=$llvm_current_triple",
   ]
 
+  if (llvm_enable_dia_sdk) {
+    extra_values += [ "LLVM_ENABLE_DIA_SDK=1" ]
+  } else {
+    extra_values += [ "LLVM_ENABLE_DIA_SDK=0" ]  # Must be 0.
+  }
+
   if (llvm_enable_zlib) {
     extra_values += [ "LLVM_ENABLE_ZLIB=1" ]
   } else {
Index: lldb/test/Shell/lit.site.cfg.py.in
===================================================================
--- lldb/test/Shell/lit.site.cfg.py.in
+++ lldb/test/Shell/lit.site.cfg.py.in
@@ -16,6 +16,7 @@
 config.target_triple = "@TARGET_TRIPLE@"
 config.python_executable = "@Python3_EXECUTABLE@"
 config.have_zlib = @LLVM_ENABLE_ZLIB@
+config.have_dia_sdk = @LLVM_ENABLE_DIA_SDK@
 config.lldb_enable_lzma = @LLDB_ENABLE_LZMA@
 config.host_triple = "@LLVM_HOST_TRIPLE@"
 config.lldb_bitness = 64 if @LLDB_IS_64_BITS@ else 32
Index: lldb/test/Shell/lit.cfg.py
===================================================================
--- lldb/test/Shell/lit.cfg.py
+++ lldb/test/Shell/lit.cfg.py
@@ -56,6 +56,15 @@
   lit_config.note("Running Shell tests in {} mode.".format(lldb_repro_mode))
   toolchain.use_lldb_repro_substitutions(config, lldb_repro_mode)
 
+# Do DIA check early, so that the warning shows up above the config.py notes.
+if sys.platform != 'win32':
+  config.available_features.add('host-breakpoints')
+else:
+  if config.have_dia_sdk:
+    config.available_features.add('host-breakpoints')
+  else:
+    lit_config.warning('lldb built without DIA SDK, several tests will be skipped')
+
 llvm_config.use_default_substitutions()
 toolchain.use_lldb_substitutions(config)
 toolchain.use_support_substitutions(config)
Index: lldb/test/Shell/Watchpoint/SetErrorCases.test
===================================================================
--- lldb/test/Shell/Watchpoint/SetErrorCases.test
+++ lldb/test/Shell/Watchpoint/SetErrorCases.test
@@ -1,3 +1,4 @@
+# REQUIRES: host-breakpoints
 # RUN: %clangxx_host %p/Inputs/main.cpp -g -o %t.out
 # RUN: %lldb -b -o 'settings set interpreter.stop-command-source-on-error false' -s %s %t.out 2>&1 | FileCheck %s
 
Index: lldb/test/Shell/SymbolFile/PDB/lit.local.cfg
===================================================================
--- lldb/test/Shell/SymbolFile/PDB/lit.local.cfg
+++ lldb/test/Shell/SymbolFile/PDB/lit.local.cfg
@@ -1,2 +1,3 @@
-if 'lldb-repro' in config.available_features:
+if (not config.have_dia_sdk or
+    'lldb-repro' in config.available_features):
   config.unsupported = True
Index: lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp
===================================================================
--- lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp
+++ lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp
@@ -1,5 +1,5 @@
 // clang-format off
-// REQUIRES: lld, system-windows
+// REQUIRES: lld, system-windows, host-breakpoints
 
 // RUN: %build --compiler=clang-cl --nodefaultlib -o %t.exe -- %s
 // RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
Index: lldb/test/Shell/Settings/TestLineMarkerColor.test
===================================================================
--- lldb/test/Shell/Settings/TestLineMarkerColor.test
+++ lldb/test/Shell/Settings/TestLineMarkerColor.test
@@ -1,3 +1,4 @@
+# REQUIRES: host-breakpoints
 # RUN: %clang_host -g -O0 %S/Inputs/main.c -o %t.out
 # RUN: %lldb -x -b -s %s %t.out | FileCheck %s
 settings set use-color true
Index: lldb/test/Shell/Settings/TestFrameFormatNoColor.test
===================================================================
--- lldb/test/Shell/Settings/TestFrameFormatNoColor.test
+++ lldb/test/Shell/Settings/TestFrameFormatNoColor.test
@@ -1,3 +1,4 @@
+# REQUIRES: host-breakpoints
 # RUN: %clang_host -g -O0 %S/Inputs/main.c -o %t.out
 # RUN: %lldb -x -b -s %s %t.out | FileCheck %s
 settings set use-color false
Index: lldb/test/Shell/Settings/TestFrameFormatColor.test
===================================================================
--- lldb/test/Shell/Settings/TestFrameFormatColor.test
+++ lldb/test/Shell/Settings/TestFrameFormatColor.test
@@ -1,3 +1,4 @@
+# REQUIRES: host-breakpoints
 # RUN: %clang_host -g -O0 %S/Inputs/main.c -o %t.out
 # RUN: %lldb -x -b -s %s %t.out | FileCheck %s
 settings set use-color true
Index: lldb/test/Shell/Expr/nodefaultlib.cpp
===================================================================
--- lldb/test/Shell/Expr/nodefaultlib.cpp
+++ lldb/test/Shell/Expr/nodefaultlib.cpp
@@ -1,7 +1,7 @@
 // Test that we're able to evaluate expressions in inferiors without the
 // standard library (and mmap-like functions in particular).
 
-// REQUIRES: native
+// REQUIRES: native, host-breakpoints
 // UNSUPPORTED: ld_preload-present
 // XFAIL: system-linux && !(target-x86 || target-x86_64)
 // XFAIL: system-netbsd || system-freebsd || system-darwin
Index: lldb/test/Shell/Expr/TestIRMemoryMapWindows.test
===================================================================
--- lldb/test/Shell/Expr/TestIRMemoryMapWindows.test
+++ lldb/test/Shell/Expr/TestIRMemoryMapWindows.test
@@ -1,4 +1,4 @@
-# REQUIRES: system-windows
+# REQUIRES: system-windows, host-breakpoints
 
 # RUN: %clang_cl_host /Zi /GS- %p/Inputs/call-function.cpp /c /o %t.obj
 # RUN: %msvc_link /debug:full %t.obj /out:%t
Index: lldb/test/Shell/Driver/TestSingleQuote.test
===================================================================
--- lldb/test/Shell/Driver/TestSingleQuote.test
+++ lldb/test/Shell/Driver/TestSingleQuote.test
@@ -1,3 +1,5 @@
+# REQUIRES: host-breakpoints
+
 # Make sure lldb can handle filenames with single quotes in them.
 # RUN: %clang_host %p/Inputs/hello.c -g -o "%t-'pat"
 # RUN: %lldb -s %s "%t-'pat" | FileCheck %s
Index: lldb/test/Shell/Commands/command-thread-select.test
===================================================================
--- lldb/test/Shell/Commands/command-thread-select.test
+++ lldb/test/Shell/Commands/command-thread-select.test
@@ -1,3 +1,5 @@
+# REQUIRES: host-breakpoints
+#
 # RUN: %clang_host -g %S/Inputs/main.c -o %t
 # RUN: %lldb %t -s %s -o exit | FileCheck %s
 
Index: lldb/test/Shell/Breakpoint/dummy-target.test
===================================================================
--- lldb/test/Shell/Breakpoint/dummy-target.test
+++ lldb/test/Shell/Breakpoint/dummy-target.test
@@ -1,3 +1,5 @@
+# REQUIRES: host-breakpoints
+#
 # RUN: mkdir -p %t
 # RUN: cd %t
 # RUN: %build %p/Inputs/dummy-target.c -o dummy.out
Index: lldb/test/Shell/Breakpoint/case-insensitive.test
===================================================================
--- lldb/test/Shell/Breakpoint/case-insensitive.test
+++ lldb/test/Shell/Breakpoint/case-insensitive.test
@@ -1,4 +1,4 @@
-# REQUIRES: system-windows
+# REQUIRES: system-windows, host-breakpoints
 
 # RUN: %build %p/Inputs/case-sensitive.c --nodefaultlib -o %t
 # RUN: lldb-test breakpoints %t %s | FileCheck %s
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to