blob: c4d93c0885a9cbef3790a9eb498254cefff2d9c2 [file] [log] [blame]
# lit.site.cfg.in - Local configuration for the 'lit' test runner -*- python -*-
#
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See https://swift.org/LICENSE.txt for license information
# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
#
# -----------------------------------------------------------------------------
import os
import platform
import sys
config.llvm_src_root = "@LLVM_MAIN_SRC_DIR@"
config.llvm_obj_root = "@LLVM_BINARY_DIR@"
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
config.llvm_code_generators = "@LLVM_TARGETS_TO_BUILD@".split(";")
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
config.swift_src_root = lit_config.params.get("swift_src_root", "@SWIFT_SOURCE_DIR@")
config.swift_obj_root = "@SWIFT_BINARY_DIR@"
config.target_triple = "@TARGET_TRIPLE@"
config.variant_triple = "@VARIANT_TRIPLE@"
config.variant_sdk = "@VARIANT_SDK@"
config.variant_suffix = "@VARIANT_SUFFIX@"
config.swiftlib_dir = "@LIT_SWIFTLIB_DIR@"
config.swift_test_results_dir = \
lit_config.params.get("swift_test_results_dir", "@SWIFT_TEST_RESULTS_DIR@")
config.darwin_xcrun_toolchain = "@SWIFT_DARWIN_XCRUN_TOOLCHAIN@"
config.android_ndk_path = "@SWIFT_ANDROID_NDK_PATH@"
config.android_ndk_gcc_version = "@SWIFT_ANDROID_NDK_GCC_VERSION@"
config.coverage_mode = "@SWIFT_ANALYZE_CODE_COVERAGE@"
config.lldb_build_root = "@LLDB_BUILD_DIR@"
# Please remember to handle empty strings and/or unset variables correctly.
if "@SWIFT_ASAN_BUILD@" == "TRUE":
config.available_features.add("asan")
else:
config.available_features.add('no_asan')
if "@SWIFT_RUNTIME_ENABLE_LEAK_CHECKER@" == "TRUE":
config.available_features.add('leak-checker')
if '@SWIFT_TOOLS_ENABLE_LTO@'.lower() in ['full', 'thin']:
config.available_features.add('lto')
else:
config.available_features.add('no_lto')
if "@LLVM_ENABLE_ASSERTIONS@" == "TRUE":
config.available_features.add('asserts')
else:
config.available_features.add('no_asserts')
if "@SWIFT_STDLIB_ASSERTIONS@" == "TRUE":
config.available_features.add('swift_stdlib_asserts')
else:
config.available_features.add('swift_stdlib_no_asserts')
if "@SWIFT_AST_VERIFIER@" == "TRUE":
config.available_features.add('swift_ast_verifier')
if "@SWIFT_OPTIMIZED@" == "TRUE":
config.available_features.add("optimized_stdlib")
if "@SWIFT_STDLIB_USE_NONATOMIC_RC@" == "TRUE":
config.available_features.add("nonatomic_rc")
if "@SWIFT_HAVE_WORKING_STD_REGEX@" == "FALSE":
config.available_features.add('broken_std_regex')
if "@SWIFT_ENABLE_RUNTIME_FUNCTION_COUNTERS@" == "TRUE":
config.available_features.add('runtime_function_counters')
if "@CMAKE_GENERATOR@" == "Xcode":
xcode_bin_dir = os.path.join(config.llvm_obj_root, "@LLVM_BUILD_TYPE@",
'bin')
lit_config.note('Adding to path: ' + xcode_bin_dir)
config.environment['PATH'] = \
os.path.pathsep.join((xcode_bin_dir, config.environment['PATH']))
config.available_features.add("CMAKE_GENERATOR=@CMAKE_GENERATOR@")
if "@SWIFT_BUILD_SYNTAXPARSERLIB@" == "TRUE":
config.available_features.add('syntax_parser_lib')
if "@SWIFT_ENABLE_SOURCEKIT_TESTS@" == "TRUE":
config.available_features.add('sourcekit')
if "@SWIFT_HAVE_LIBXML2@" == "TRUE":
config.available_features.add('libxml2')
if "@SWIFT_ENABLE_LLD_LINKER@" == "TRUE":
config.android_linker_name = "lld"
else:
# even if SWIFT_ENABLE_GOLD_LINKER isn't set, we cannot use BFD for Android
config.android_linker_name = "gold"
# Let the main config do the real work.
if config.test_exec_root is None:
config.test_exec_root = os.path.dirname(os.path.realpath(__file__))
lit_config.load_config(
config, os.path.join(config.swift_src_root, "test", "lit.cfg"))