Tobias Hieta f98ee40f4b
[NFC][Py Reformat] Reformat python files in the rest of the dirs
This is an ongoing series of commits that are reformatting our
Python code. This catches the last of the python files to
reformat. Since they where so few I bunched them together.

Reformatting is done with `black`.

If you end up having problems merging this commit because you
have made changes to a python file, the best way to handle that
is to run git checkout --ours <yourfile> and then reformat it
with black.

If you run into any problems, post to discourse about it and
we will try to help.

RFC Thread below:

https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Reviewed By: jhenderson, #libc, Mordante, sivachandra

Differential Revision: https://reviews.llvm.org/D150784
2023-05-25 11:17:05 +02:00

114 lines
3.7 KiB
Python

# -*- Python -*-
import os
import platform
import re
import lit.formats
def get_required_attr(config, attr_name):
attr_value = getattr(config, attr_name, None)
if attr_value == None:
lit_config.fatal(
"No attribute %r in test configuration! You may need to run "
"tests from your build directory or add this attribute "
"to lit.site.cfg.py " % attr_name
)
return attr_value
# Setup config name.
config.name = "MemProfiler" + config.name_suffix
# Platform-specific default MEMPROF_OPTIONS for lit tests.
default_memprof_opts = list(config.default_sanitizer_opts)
default_memprof_opts_str = ":".join(default_memprof_opts)
if default_memprof_opts_str:
config.environment["MEMPROF_OPTIONS"] = default_memprof_opts_str
default_memprof_opts_str += ":"
config.substitutions.append(
("%env_memprof_opts=", "env MEMPROF_OPTIONS=" + default_memprof_opts_str)
)
# Setup source root.
config.test_source_root = os.path.dirname(__file__)
libdl_flag = "-ldl"
# Setup default compiler flags used with -fmemory-profile option.
# FIXME: Review the set of required flags and check if it can be reduced.
target_cflags = [get_required_attr(config, "target_cflags")]
target_cxxflags = config.cxx_mode_flags + target_cflags
clang_memprof_static_cflags = (
[
"-fmemory-profile",
"-mno-omit-leaf-frame-pointer",
"-fno-omit-frame-pointer",
"-fno-optimize-sibling-calls",
]
+ config.debug_info_flags
+ target_cflags
)
clang_memprof_static_cxxflags = config.cxx_mode_flags + clang_memprof_static_cflags
memprof_dynamic_flags = []
if config.memprof_dynamic:
memprof_dynamic_flags = ["-shared-libsan"]
config.available_features.add("memprof-dynamic-runtime")
else:
config.available_features.add("memprof-static-runtime")
clang_memprof_cflags = clang_memprof_static_cflags + memprof_dynamic_flags
clang_memprof_cxxflags = clang_memprof_static_cxxflags + memprof_dynamic_flags
def build_invocation(compile_flags):
return " " + " ".join([config.clang] + compile_flags) + " "
config.substitutions.append(("%clang ", build_invocation(target_cflags)))
config.substitutions.append(("%clangxx ", build_invocation(target_cxxflags)))
config.substitutions.append(("%clang_memprof ", build_invocation(clang_memprof_cflags)))
config.substitutions.append(
("%clangxx_memprof ", build_invocation(clang_memprof_cxxflags))
)
if config.memprof_dynamic:
shared_libmemprof_path = os.path.join(
config.compiler_rt_libdir,
"libclang_rt.memprof{}.so".format(config.target_suffix),
)
config.substitutions.append(("%shared_libmemprof", shared_libmemprof_path))
config.substitutions.append(
("%clang_memprof_static ", build_invocation(clang_memprof_static_cflags))
)
config.substitutions.append(
("%clangxx_memprof_static ", build_invocation(clang_memprof_static_cxxflags))
)
config.substitutions.append(("%libdl", libdl_flag))
config.available_features.add("memprof-" + config.bits + "-bits")
config.available_features.add("fast-unwinder-works")
# Set LD_LIBRARY_PATH to pick dynamic runtime up properly.
new_ld_library_path = os.path.pathsep.join(
(config.compiler_rt_libdir, config.environment.get("LD_LIBRARY_PATH", ""))
)
config.environment["LD_LIBRARY_PATH"] = new_ld_library_path
# Default test suffixes.
config.suffixes = [".c", ".cpp"]
config.substitutions.append(("%fPIC", "-fPIC"))
config.substitutions.append(("%fPIE", "-fPIE"))
config.substitutions.append(("%pie", "-pie"))
# Only run the tests on supported OSs.
if config.host_os not in ["Linux"]:
config.unsupported = True
if not config.parallelism_group:
config.parallelism_group = "shadow-memory"