Adjust tests to reflect libomp and lld support for s390x
libomp and openmp-rpm tests need to be run in s390x for LLVM>=18
toolchains test needs to install lld package and run lld commands
Metadata common to all tests include component, contact, framework,
test script and frequent required packages.
Normalized script names to 'runtest.sh'.
Instead of checking for DWARF4 only we now check for DWARF5 if clang is greater or equal to version 18. Only if Fedora is less than 38 we fall back to require DWARF4.
The grep in the output of `llvm-dwarfdump` could potentially match other hex numbers and now only matches the version.
Stop printing messages from the test that runs mock as they refer to
errors, causing confusion.
Send all these messages to /dev/null and print our own message saying
the test will be ignored.
Considering the macro variables do not have the ~rcN suffix, the rpm
version must be cleaned before it's used as input to validate the
correct value in the macro version.
clang may use a gcc from gcc-toolset instead the system version. In that
case we need to test the compatibility with that one, not with the
system based gcc.
This patch is highly based on the ppc64le-long-double test that was
available in the previous commit. However, it adds an extra step that
ignores mock if the test is run inside an unprivileged container
solution.
The first test (exp) evaluates if clang is able to build C programs for
both IBM double-double as well as IEEE 128-bit long double. As Fedora uses
glibc by default, which supports both scenarios, both executables should
work.
The second test (parse) uses clang in order to evaluate if C++ programs
built with default parameters and linking against libc++ use IEEE
128-bit long double.
This test should be extended in the future in order to evaluate that
clang is able to generate C++ programs for both IBM double-double and
IEEE 128-bit long double using libstdc++. This can't be enabled now
because of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81122 .
Modify the ppc64le-long-double test in order to be reused and executed
on all architectures, guaranteeing that gcc and clang will provide the
same default long double format on all architectures.