[PATCH] D56324: [gn build] Add build file for DebugInfoPDBTests

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 4 13:10:40 PST 2019


thakis updated this revision to Diff 180308.
thakis edited the summary of this revision.
thakis added a comment.

no template


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56324/new/

https://reviews.llvm.org/D56324

Files:
  llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
  llvm/utils/gn/secondary/llvm/unittests/DebugInfo/PDB/BUILD.gn
  llvm/utils/gn/secondary/llvm/utils/unittest/unittest.gni


Index: llvm/utils/gn/secondary/llvm/utils/unittest/unittest.gni
===================================================================
--- llvm/utils/gn/secondary/llvm/utils/unittest/unittest.gni
+++ llvm/utils/gn/secondary/llvm/utils/unittest/unittest.gni
@@ -38,6 +38,9 @@
     # run the unit test binary if necessary. Using target_out_dir here
     # means that //clang/unittests/Format gets its binary in
     # out/gn/obj/clang/unittests/Format/FormatTests, which seems fine.
+    #
+    # If you change output_dir here, look through
+    # `git grep target_out_dir '*/unittests/*'` and update those too.
     output_dir = target_out_dir
     deps += [ "//llvm/utils/unittest/UnitTestMain" ]
     testonly = true
Index: llvm/utils/gn/secondary/llvm/unittests/DebugInfo/PDB/BUILD.gn
===================================================================
--- /dev/null
+++ llvm/utils/gn/secondary/llvm/unittests/DebugInfo/PDB/BUILD.gn
@@ -0,0 +1,32 @@
+import("//llvm/utils/unittest/unittest.gni")
+
+unittest("DebugInfoPDBTests") {
+  deps = [
+    "//llvm/lib/DebugInfo/CodeView",
+    "//llvm/lib/DebugInfo/MSF",
+    "//llvm/lib/DebugInfo/PDB",
+    "//llvm/lib/Testing/Support",
+  ]
+  sources = [
+    "HashTableTest.cpp",
+    "NativeSymbolReuseTest.cpp",
+    "PDBApiTest.cpp",
+    "StringTableBuilderTest.cpp",
+  ]
+
+  # DebugInfoPDBTests uses llvm::getInputFileDirectory(), which expects
+  # a file called llvm.srcdir.txt next to the test executable that contains
+  # the path of the source directory (which contains this file).
+  # lit doesn't change the cwd while running googletests, so the cwd isn't
+  # well-defined. This means this has to be an absolute path.
+  # FIXME: This doesn't work with swarming. This should really be a data
+  # dependency, and the cwd while tests requiring input files run should
+  # be required to be some fixed directory.
+  # FIXME: Also, the GN way is to write this file at build time. But since
+  # there's only one use of this, and since this is a pattern that hopefully
+  # will disappear again, and since it doesn't have any measurable performance
+  # hit, write the file at GN time.
+  # Note: This line here implicitly depends on unittest() setting output_dir to
+  # target_out_dir.
+  write_file("$target_out_dir/llvm.srcdir.txt", rebase_path("."))
+}
Index: llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
===================================================================
--- llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
+++ llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
@@ -12,9 +12,7 @@
     "DebugInfo/CodeView:DebugInfoCodeViewTests",
     "DebugInfo/DWARF:DebugInfoDWARFTests",
     "DebugInfo/MSF:DebugInfoMSFTests",
-
-    # FIXME: Add.
-    #"DebugInfo/PDB:DebugInfoPDBTests",
+    "DebugInfo/PDB:DebugInfoPDBTests",
     "Demangle:DemangleTests",
 
     # FIXME: Add.
@@ -31,8 +29,6 @@
     "ObjectYAML:ObjectYAMLTests",
     "OptRemarks:OptRemarksTests",
     "Option:OptionTests",
-    "OptRemarks:OptRemarksTests",
-    "Option:OptionTests",
 
     # FIXME: Add.
     #"Passes:PluginsTests",
@@ -51,7 +47,7 @@
     "tools/llvm-exegesis:LLVMExegesisTests",
   ]
 
-  # Target-dependend unit tests.
+  # Target-dependent unit tests.
   # FIXME: This matches how they are set up in the cmake build,
   # but if we disable an arch after building with it on, this
   # setup leaves behind stale executables.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56324.180308.patch
Type: text/x-patch
Size: 3388 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190104/5a836c03/attachment.bin>


More information about the llvm-commits mailing list