From e7a8fe1967f295129b3118b1bc8a5cc210dcd528 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Thu, 10 Sep 2015 05:47:43 +0000 Subject: [PATCH] Add a way to skip the Go bindings tests even when Go is configured in CMake. The Go bindings tests in an unoptimized build take over 30 seconds for me, making it the slowest test in 'check-llvm' by a factor of two. I've only rigged this up fully to the CMake build. If someone is interested in rigging it up to the autoconf build, they're welcome to do so. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247243 91177308-0d34-0410-b5e6-96231b3b80d8 --- CMakeLists.txt | 1 + test/Bindings/Go/lit.local.cfg | 3 +++ test/Makefile | 1 + test/lit.site.cfg.in | 1 + 4 files changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index dac209765a89..cabb661dbd37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -338,6 +338,7 @@ option(LLVM_INCLUDE_EXAMPLES "Generate build targets for the LLVM examples" ON) option(LLVM_BUILD_TESTS "Build LLVM unit tests. If OFF, just generate build targets." OFF) option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON) +option(LLVM_INCLUDE_GO_TESTS "Include the Go bindings tests in test build targets." ON) option (LLVM_BUILD_DOCS "Build the llvm documentation." OFF) option (LLVM_INCLUDE_DOCS "Generate build targets for llvm documentation." ON) diff --git a/test/Bindings/Go/lit.local.cfg b/test/Bindings/Go/lit.local.cfg index e86595b8cb56..d68d867fb308 100644 --- a/test/Bindings/Go/lit.local.cfg +++ b/test/Bindings/Go/lit.local.cfg @@ -6,6 +6,9 @@ import sys if not 'go' in config.root.llvm_bindings: config.unsupported = True +if config.root.include_go_tests != 'ON': + config.unsupported = True + def find_executable(executable, path=None): if path is None: path = os.environ['PATH'] diff --git a/test/Makefile b/test/Makefile index 9b37cedaaffd..15843853b014 100644 --- a/test/Makefile +++ b/test/Makefile @@ -134,6 +134,7 @@ lit.site.cfg: FORCE @$(ECHOPATH) s!@OCAMLFLAGS@!$(addprefix -cclib ,$(LDFLAGS))!g >> lit.tmp @$(ECHOPATH) s=@HAVE_OCAMLOPT@=$(HAVE_OCAMLOPT)=g >> lit.tmp @$(ECHOPATH) s=@HAVE_OCAML_OUNIT@=$(HAVE_OCAML_OUNIT)=g >> lit.tmp + @$(ECHOPATH) s=@LLVM_INCLUDE_GO_TESTS@=ON=g >> lit.tmp @$(ECHOPATH) s=@GO_EXECUTABLE@=$(GO)=g >> lit.tmp @$(ECHOPATH) s!@HOST_CC@!$(CC)!g >> lit.tmp @$(ECHOPATH) s!@HOST_CXX@!$(CXX)!g >> lit.tmp diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in index a18103796588..13f5372ef7e3 100644 --- a/test/lit.site.cfg.in +++ b/test/lit.site.cfg.in @@ -19,6 +19,7 @@ config.ocamlfind_executable = "@OCAMLFIND@" config.have_ocamlopt = "@HAVE_OCAMLOPT@" config.have_ocaml_ounit = "@HAVE_OCAML_OUNIT@" config.ocaml_flags = "@OCAMLFLAGS@" +config.include_go_tests = "@LLVM_INCLUDE_GO_TESTS@" config.go_executable = "@GO_EXECUTABLE@" config.enable_shared = @ENABLE_SHARED@ config.enable_assertions = @ENABLE_ASSERTIONS@