CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
110 lines
3.0 KiB
Python
110 lines
3.0 KiB
Python
# -*- Python -*-
|
|
|
|
import shlex
|
|
import lit.util
|
|
|
|
from lit.llvm import llvm_config
|
|
from lit.llvm.subst import ToolSubst, FindTool
|
|
|
|
|
|
def shjoin(args, sep=" "):
|
|
return sep.join([shlex.quote(arg) for arg in args])
|
|
|
|
|
|
# Configuration file for the 'lit' test runner.
|
|
|
|
# name: The name of this test suite.
|
|
config.name = "flang-rt"
|
|
|
|
# TODO: Consolidate the logic for turning on the internal shell by default for all LLVM test suites.
|
|
# See https://github.com/llvm/llvm-project/issues/106636 for more details.
|
|
#
|
|
# We prefer the lit internal shell which provides a better user experience on failures
|
|
# unless the user explicitly disables it with LIT_USE_INTERNAL_SHELL=0 env var.
|
|
use_lit_shell = True
|
|
lit_shell_env = os.environ.get("LIT_USE_INTERNAL_SHELL")
|
|
if lit_shell_env:
|
|
use_lit_shell = lit.util.pythonize_bool(lit_shell_env)
|
|
|
|
# testFormat: The test format to use to interpret tests.
|
|
#
|
|
# For now we require '&&' between commands, until they get globally killed and
|
|
# the test runner updated.
|
|
config.test_format = lit.formats.ShTest(not use_lit_shell)
|
|
|
|
# suffixes: A list of file extensions to treat as test files.
|
|
config.suffixes = [
|
|
".c",
|
|
".cpp",
|
|
".f",
|
|
".F",
|
|
".ff",
|
|
".FOR",
|
|
".for",
|
|
".f77",
|
|
".f90",
|
|
".F90",
|
|
".ff90",
|
|
".f95",
|
|
".F95",
|
|
".ff95",
|
|
".fpp",
|
|
".FPP",
|
|
".cuf",
|
|
".CUF",
|
|
".f18",
|
|
".F18",
|
|
".f03",
|
|
".F03",
|
|
".f08",
|
|
".F08",
|
|
".ll",
|
|
".fir",
|
|
".mlir",
|
|
]
|
|
|
|
llvm_config.use_default_substitutions()
|
|
|
|
# test_source_root: The root path where tests are located.
|
|
config.test_source_root = os.path.dirname(__file__)
|
|
|
|
# test_exec_root: The root path where tests should be run.
|
|
# lit writes a '.lit_test_times.txt' file into this directory.
|
|
config.test_exec_root = config.flang_rt_binary_test_dir
|
|
|
|
# On MacOS, some tests need -isysroot to build binaries.
|
|
isysroot_flag = []
|
|
if config.osx_sysroot:
|
|
isysroot_flag = ["-isysroot", config.osx_sysroot]
|
|
config.substitutions.append(("%isysroot", " ".join(isysroot_flag)))
|
|
|
|
tools = [
|
|
ToolSubst(
|
|
"%flang",
|
|
command=config.flang,
|
|
unresolved="fatal",
|
|
),
|
|
ToolSubst(
|
|
"%clang",
|
|
command=FindTool("clang"),
|
|
unresolved="fatal",
|
|
),
|
|
ToolSubst("%cc", command=config.cc, unresolved="fatal"),
|
|
]
|
|
llvm_config.add_tool_substitutions(tools)
|
|
|
|
# Let tests find LLVM's standard tools (FileCheck, split-file, not, ...)
|
|
llvm_config.with_environment("PATH", config.llvm_tools_dir, append_path=True)
|
|
|
|
# Include path for C headers that define Flang's Fortran ABI.
|
|
config.substitutions.append(
|
|
("%include", os.path.join(config.flang_source_dir, "include"))
|
|
)
|
|
|
|
# Library path of libflang_rt.runtime.a/.so (for lib search path when using non-Flang driver for linking and LD_LIBRARY_PATH)
|
|
config.substitutions.append(("%libdir", config.flang_rt_output_resource_lib_dir))
|
|
|
|
# For CUDA offloading, additional steps (device linking) and libraries (cudart) are needed.
|
|
if config.flang_rt_experimental_offload_support == "CUDA":
|
|
config.available_features.add("offload-cuda")
|