+++ /dev/null
-# -*- Python -*- vim: set ft=python ts=4 sw=4 expandtab tw=79:
-
-# Configuration file for the 'lit' test runner.
-
-
-import os
-import site
-
-site.addsitedir(os.path.dirname(__file__))
-
-
-# Tell pylint that we know config and lit_config exist somewhere.
-if 'PYLINT_IMPORT' in os.environ:
- config = object()
- lit_config = object()
-
-# name: The name of this test suite.
-config.name = 'libunwind'
-
-# suffixes: A list of file extensions to treat as test files.
-config.suffixes = ['.cpp', '.s']
-
-# test_source_root: The root path where tests are located.
-config.test_source_root = os.path.dirname(__file__)
-
-# Infer the libcxx_test_source_root for configuration import.
-# If libcxx_source_root isn't specified in the config, assume that the libcxx
-# and libunwind source directories are sibling directories.
-libcxx_src_root = getattr(config, 'libcxx_src_root', None)
-if not libcxx_src_root:
- libcxx_src_root = os.path.join(config.test_source_root, '../../libcxx')
-libcxx_test_src_root = os.path.join(libcxx_src_root, 'utils')
-if os.path.isfile(os.path.join(libcxx_test_src_root, 'libcxx', '__init__.py')):
- site.addsitedir(libcxx_test_src_root)
-else:
- lit_config.fatal('Could not find libcxx test directory for test imports'
- ' in: %s' % libcxx_test_src_root)
-
-# Infer the test_exec_root from the libcxx_object root.
-obj_root = getattr(config, 'libunwind_obj_root', None)
-
-# Check that the test exec root is known.
-if obj_root is None:
- import libcxx.test.config
- libcxx.test.config.loadSiteConfig(
- lit_config, config, 'libunwind_site_config', 'LIBUNWIND_SITE_CONFIG')
- obj_root = getattr(config, 'libunwind_obj_root', None)
- if obj_root is None:
- import tempfile
- obj_root = tempfile.mkdtemp(prefix='libunwind-testsuite-')
- lit_config.warning('Creating temporary directory for object root: %s' %
- obj_root)
-
-config.test_exec_root = os.path.join(obj_root, 'test')
-
-cfg_variant = getattr(config, 'configuration_variant', 'libunwind')
-if cfg_variant:
- lit_config.note('Using configuration variant: %s' % cfg_variant)
-
-# Load the Configuration class from the module name <cfg_variant>.test.config.
-config_module_name = '.'.join([cfg_variant, 'test', 'config'])
-config_module = __import__(config_module_name, fromlist=['Configuration'])
-
-configuration = config_module.Configuration(lit_config, config)
-configuration.configure()
-configuration.print_config_info()
-if lit_config.params.get('use_old_format', False):
- lit_config.note("Using the old libc++ testing format")
- config.test_format = configuration.get_test_format()
-else:
- lit_config.note("Using the new libc++ testing format")
- import libcxx.test.newformat
- config.test_format = libcxx.test.newformat.CxxStandardLibraryTest()
@AUTO_GEN_COMMENT@
+
+import os
+import site
+
config.cxx_under_test = "@LIBUNWIND_COMPILER@"
config.project_obj_root = "@CMAKE_BINARY_DIR@"
config.libunwind_src_root = "@LIBUNWIND_SOURCE_DIR@"
config.gcc_toolchain = "@LIBUNWIND_GCC_TOOLCHAIN@"
config.cxx_ext_threads = @LIBUNWIND_BUILD_EXTERNAL_THREAD_LIBRARY@
-# Let the main config do the real work.
-lit_config.load_config(config, "@LIBUNWIND_SOURCE_DIR@/test/lit.cfg")
+site.addsitedir(os.path.join(config.libunwind_src_root, 'test'))
+site.addsitedir(os.path.join(config.libcxx_src_root, 'utils'))
+
+# name: The name of this test suite.
+config.name = 'libunwind'
+
+# suffixes: A list of file extensions to treat as test files.
+config.suffixes = ['.cpp', '.s']
+
+# test_source_root: The root path where tests are located.
+config.test_source_root = os.path.join(config.libunwind_src_root, 'test')
+
+# Allow expanding substitutions that are based on other substitutions
+config.recursiveExpansionLimit = 10
+
+# Infer the test_exec_root from the build directory.
+config.test_exec_root = os.path.join(config.libunwind_obj_root, 'test')
+
+lit_config.note('Using configuration variant: libunwind')
+import libunwind.test.config
+configuration = libunwind.test.config.Configuration(lit_config, config)
+configuration.configure()
+configuration.print_config_info()
+if lit_config.params.get('use_old_format', False):
+ lit_config.note("Using the old libc++ testing format")
+ config.test_format = configuration.get_test_format()
+else:
+ lit_config.note("Using the new libc++ testing format")
+ import libcxx.test.newformat
+ config.test_format = libcxx.test.newformat.CxxStandardLibraryTest()