[llvm] r350492 - [gn build] Add build files for LLVM unittests with a custom main() function
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 6 07:09:23 PST 2019
Author: nico
Date: Sun Jan 6 07:09:22 2019
New Revision: 350492
URL: http://llvm.org/viewvc/llvm-project?rev=350492&view=rev
Log:
[gn build] Add build files for LLVM unittests with a custom main() function
Differential Revision: https://reviews.llvm.org/D56219
Added:
llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/
llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/unittests/MI/
llvm/trunk/utils/gn/secondary/llvm/unittests/MI/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/unittests/tools/llvm-cfi-verify/
llvm/trunk/utils/gn/secondary/llvm/unittests/tools/llvm-cfi-verify/BUILD.gn
Modified:
llvm/trunk/utils/gn/secondary/llvm/unittests/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/utils/unittest/unittest.gni
Modified: llvm/trunk/utils/gn/secondary/llvm/unittests/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/unittests/BUILD.gn?rev=350492&r1=350491&r2=350492&view=diff
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/unittests/BUILD.gn (original)
+++ llvm/trunk/utils/gn/secondary/llvm/unittests/BUILD.gn Sun Jan 6 07:09:22 2019
@@ -8,9 +8,7 @@ group("unittests") {
"BinaryFormat:BinaryFormatTests",
"Bitcode:BitcodeTests",
"CodeGen:CodeGenTests",
-
- # FIXME: Add.
- #"CodeGen/GlobalISel:GlobalISelTests",
+ "CodeGen/GlobalISel:GlobalISelTests",
"DebugInfo/CodeView:DebugInfoCodeViewTests",
"DebugInfo/DWARF:DebugInfoDWARFTests",
"DebugInfo/MSF:DebugInfoMSFTests",
@@ -24,9 +22,7 @@ group("unittests") {
"LineEditor:LineEditorTests",
"Linker:LinkerTests",
"MC:MCTests",
-
- # FIXME: Add.
- #"MI:MITests",
+ "MI:MITests",
"Object:ObjectTests",
"ObjectYAML:ObjectYAMLTests",
"OptRemarks:OptRemarksTests",
@@ -41,9 +37,7 @@ group("unittests") {
"Transforms/Utils:UtilsTests",
"Transforms/Vectorize:VectorizeTests",
"XRay:XRayTests",
-
- # FIXME: Add more:
- #"tools/llvm-cfi-verify:CFIVerifyTests",
+ "tools/llvm-cfi-verify:CFIVerifyTests",
"tools/llvm-exegesis:LLVMExegesisTests",
]
Added: llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn?rev=350492&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn Sun Jan 6 07:09:22 2019
@@ -0,0 +1,20 @@
+import("//llvm/utils/unittest/unittest.gni")
+
+unittest("GlobalISelTests") {
+ deps = [
+ "//llvm/lib/CodeGen",
+ "//llvm/lib/CodeGen/GlobalISel",
+ "//llvm/lib/CodeGen/MIRParser",
+ "//llvm/lib/IR",
+ "//llvm/lib/MC",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target",
+ "//llvm/lib/Target:TargetsToBuild",
+ ]
+ sources = [
+ "LegalizerHelperTest.cpp",
+ "LegalizerInfoTest.cpp",
+ "PatternMatchTest.cpp",
+ ]
+ has_custom_main = true
+}
Added: llvm/trunk/utils/gn/secondary/llvm/unittests/MI/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/unittests/MI/BUILD.gn?rev=350492&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/unittests/MI/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/unittests/MI/BUILD.gn Sun Jan 6 07:09:22 2019
@@ -0,0 +1,17 @@
+import("//llvm/utils/unittest/unittest.gni")
+
+unittest("MITests") {
+ deps = [
+ "//llvm/lib/CodeGen",
+ "//llvm/lib/CodeGen/MIRParser",
+ "//llvm/lib/IR",
+ "//llvm/lib/MC",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target",
+ "//llvm/lib/Target:TargetsToBuild",
+ ]
+ sources = [
+ "LiveIntervalTest.cpp",
+ ]
+ has_custom_main = true
+}
Added: llvm/trunk/utils/gn/secondary/llvm/unittests/tools/llvm-cfi-verify/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/unittests/tools/llvm-cfi-verify/BUILD.gn?rev=350492&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/unittests/tools/llvm-cfi-verify/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/unittests/tools/llvm-cfi-verify/BUILD.gn Sun Jan 6 07:09:22 2019
@@ -0,0 +1,22 @@
+import("//llvm/utils/unittest/unittest.gni")
+
+unittest("CFIVerifyTests") {
+ deps = [
+ "//llvm/lib/DebugInfo/Symbolize",
+ "//llvm/lib/MC",
+ "//llvm/lib/MC/MCParser",
+ "//llvm/lib/Object",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target:AllTargetsAsmParsers",
+ "//llvm/lib/Target:AllTargetsAsmPrinters",
+ "//llvm/lib/Target:AllTargetsDescs",
+ "//llvm/lib/Target:AllTargetsDisassemblers",
+ "//llvm/lib/Target:AllTargetsInfos",
+ "//llvm/tools/llvm-cfi-verify/lib",
+ ]
+ sources = [
+ "FileAnalysis.cpp",
+ "GraphBuilder.cpp",
+ ]
+ has_custom_main = true
+}
Modified: llvm/trunk/utils/gn/secondary/llvm/utils/unittest/unittest.gni
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/utils/unittest/unittest.gni?rev=350492&r1=350491&r2=350492&view=diff
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/utils/unittest/unittest.gni (original)
+++ llvm/trunk/utils/gn/secondary/llvm/utils/unittest/unittest.gni Sun Jan 6 07:09:22 2019
@@ -1,7 +1,11 @@
# This file defines a template for adding a unittest binary.
#
# It's a thin wrapper around GN's built-in executable() target type and
-# accepts the same parameters.
+# accepts the same parameters, and in addition this paramater:
+#
+# has_custom_main (optional)
+# [bool] If set, link against gtest instead of UnitTestMain; for tests
+# that define their own main() function.
#
# Example use:
#
@@ -12,7 +16,9 @@
template("unittest") {
executable(target_name) {
- # Foward everything (configs, sources, deps, ...).
+ has_custom_main = false # Default value.
+
+ # Foward everything (has_custom_main if set; configs, sources, deps, ...).
forward_variables_from(invoker, "*")
assert(!defined(invoker.output_dir), "cannot set unittest output_dir")
assert(!defined(invoker.testonly), "cannot set unittest testonly")
@@ -37,7 +43,12 @@ template("unittest") {
# 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" ]
+
+ if (has_custom_main) {
+ deps += [ "//llvm/utils/unittest:gtest" ]
+ } else {
+ deps += [ "//llvm/utils/unittest/UnitTestMain" ]
+ }
testonly = true
}
}
More information about the llvm-commits
mailing list