[polly] r307651 - [Polly][CMake] Skip unit-tests in lit if gtest is not available

Philip Pfaffe via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 11 04:37:35 PDT 2017


Author: pfaffe
Date: Tue Jul 11 04:37:35 2017
New Revision: 307651

URL: http://llvm.org/viewvc/llvm-project?rev=307651&view=rev
Log:
[Polly][CMake] Skip unit-tests in lit if gtest is not available

Summary:
There is a bug in the current lit configurations for the unittests. If gtest is not available, the site-config for the unit tests won't be generated. Because lit recurses through the test directory, the lit configuration for the unit tests will be discovered nevertheless, leading to a fatal error in lit.

This patch semi-gracefully skips the unittests if gtest is not available. As a result, running lit now prints this: `warning: test suite 'Polly-Unit' contained no test`.

If people think that this is too annoying, the alternative would be to pick apart the test directory, so that the lit testsuite discovery will always only find one configuration. In fact, both of these things could be combined. While it's certainly nice that running a single lit command runs all the tests, I suppose people use the `check-polly` make target over lit most of the time, so the difference might not be noticed.

Reviewers: Meinersbur, grosser

Reviewed By: grosser

Subscribers: mgorny, bollu, pollydev, llvm-commits

Tags: #polly

Differential Revision: https://reviews.llvm.org/D34053

Modified:
    polly/trunk/CMakeLists.txt
    polly/trunk/test/CMakeLists.txt
    polly/trunk/test/Unit/lit.cfg
    polly/trunk/test/Unit/lit.site.cfg.in

Modified: polly/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/CMakeLists.txt?rev=307651&r1=307650&r2=307651&view=diff
==============================================================================
--- polly/trunk/CMakeLists.txt (original)
+++ polly/trunk/CMakeLists.txt Tue Jul 11 04:37:35 2017
@@ -24,6 +24,7 @@ if (NOT DEFINED LLVM_MAIN_SRC_DIR)
   endif()
 
   # Enable unit tests if available.
+  set(POLLY_GTEST_AVAIL 0)
   set(UNITTEST_DIR ${LLVM_SOURCE_ROOT}/utils/unittest)
   if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h)
     # The build tree already exports the gtest target, which we can reuse

Modified: polly/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/CMakeLists.txt?rev=307651&r1=307650&r2=307651&view=diff
==============================================================================
--- polly/trunk/test/CMakeLists.txt (original)
+++ polly/trunk/test/CMakeLists.txt Tue Jul 11 04:37:35 2017
@@ -62,12 +62,12 @@ add_lit_testsuite(check-polly-tests "Run
 set_target_properties(check-polly-tests PROPERTIES FOLDER "Polly")
 add_dependencies(check-polly check-polly-tests)
 
-if (POLLY_GTEST_AVAIL)
-  configure_lit_site_cfg(
-    ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
-    ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
-    )
+configure_lit_site_cfg(
+  ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
+  ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
+  )
 
+if (POLLY_GTEST_AVAIL)
   # Run only unit tests
   add_lit_testsuite(check-polly-unittests "Running polly unit tests only"
     ${CMAKE_CURRENT_BINARY_DIR}/Unit

Modified: polly/trunk/test/Unit/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Unit/lit.cfg?rev=307651&r1=307650&r2=307651&view=diff
==============================================================================
--- polly/trunk/test/Unit/lit.cfg (original)
+++ polly/trunk/test/Unit/lit.cfg Tue Jul 11 04:37:35 2017
@@ -11,6 +11,9 @@ import lit.util
 # name: The name of this test suite.
 config.name = 'Polly-Unit'
 
+if not config.has_unittests:
+    raise SystemExit
+
 # suffixes: A list of file extensions to treat as test files.
 config.suffixes = []
 

Modified: polly/trunk/test/Unit/lit.site.cfg.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Unit/lit.site.cfg.in?rev=307651&r1=307650&r2=307651&view=diff
==============================================================================
--- polly/trunk/test/Unit/lit.site.cfg.in (original)
+++ polly/trunk/test/Unit/lit.site.cfg.in Tue Jul 11 04:37:35 2017
@@ -14,6 +14,7 @@ config.shlibdir = "@SHLIBDIR@"
 config.target_triple = "@TARGET_TRIPLE@"
 config.enable_gpgpu_codegen = "@GPU_CODEGEN@"
 config.link_polly_into_tools = "@LINK_POLLY_INTO_TOOLS@"
+config.has_unittests = @POLLY_GTEST_AVAIL@
 
 # Support substitution of the tools_dir, libs_dirs, and build_mode with user
 # parameters. This is used when we can't determine the tool dir at




More information about the llvm-commits mailing list