After a recent file update, the output is now:
> a.exe: PE32+ executable for MS Windows 5.02 (console), x86-64, 18 sections
Adjust the grep to match both the old and new output. I think the
key parts are that it's a "PE32+ executable" for x86-64.
This commit mitigates test failures due to git unreliability and
improves test time over test reruns using cached SRPMs.
- Added CACHE_DIR_BASE, KERNEL_SRPM_PATTERN and KERNEL SRPM variables.
- Implemented checkCache() to look for an existing SRPM in the cache and
install its build dependencies.
- Implemented cloneKernelTree() for cloning the kernel-ark repo with
retries.
- Implemented generateSRPM() to handle all operations required to generate
an SRPM and cache it.
- Updated main test phase to utilize caching and SRPM generation
functions.
* The default version is now 5. If clang version is older than 18 then
fall back to version 4.
* Added optional env var to overwrite required dwarf version.
* Updated fmf metadata to use dwarf4 in distros that don't support v5
* Fedora 38 is EOL, removed dead code.
* The default version is now 5. If clang version is older than 18 then
fall back to version 4.
* Added optional env var to overwrite required dwarf version.
* Updated fmf metadata to use dwarf4 in distros that don't support v5
* Fedora 38 is EOL, removed dead code.
llvm-toolset module is being updated to 18 in rhel 8.10 and we
need to test newly added lld there. Set it as recommend for now
as we still have LLVM 17 in default rhel8 stream
Move the dummy source inline to %prep and checks from runtest.sh into
%check, to take advantage of rpm facilities instead of fighting them,
and now we can just run this anywhere at all without any cumbersome
override defines and any rpm version.
dnf5 is the default pkg manager in rawhide and config-manager command
has different interface. Falling back to dnf-3.
Added lld and llvm-devel as explicit requirements in test metadata
Added extra logging of which packages (NVRs) where installed by tmt
and the amount of cpus and memory the running system has.
This commit adds a new test that rebuilds kernel-ark with clang to
ensure that we do not break the upstream builds. This is a squashed
commit of the following:
PoC for kernel-ark build test and plan
kernel-ark: create virtual test and run all build configurations
Created configurations for lto/non-lto and base/debug, adding proper
relevancies. Test script parametrized with environment variables so it
can be reused by all these configs.
Fix relevancy for debug/non-lto build
Fix dependency install logic
Final cleanups
Make kernel-ark-build plan to be run only if triggered manually
Rename kernel-ark plan to avoid naming confusions with the test
Add documentation for kernel-ark test
Use the clang command to locate the correct clang package name
instead of hardcoding "clang" in the test. This is needed for the
test to work with compat packages which are named differently.
tmt should take care of any dependencies required by the test.
Letting the test call dnf and install packages can break the environment
and cause invalid results in subsequent tests, specially when testing
compat packages.
Query the clang nvr checking which package provides the clang binary
instead querying directly for "clang" package. Add also support for
running the test with compat packages (clang17, clang16)
libomp is supported in s390x only in Fedora, and if LLVM is 18 or newer
For libomp installed from fedora repos this means Fedora >= 40, for
LLVM snapshots it's enabled always.
Snapshot builds are able to test natively on ppc64le despite using
Fedora. This restriction only exists when running Bodhi tests.
So, let ppc64le-long-double use the same test script as RHEL.
Filter out this test until redhat-rpm-config gets its side of the update.
Otherwise, this will cause failures when building clang on Fedora and
when running the daily snapshots.
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.