binutils/tests/main.fmf
2024-08-06 12:10:33 +00:00

567 lines
20 KiB
Text

#
# Default values for all tests
#
# Reset description - not necessarily needed, but it makes the field set to something.
description: ""
# Set component to `binutils` - probably not having any exceptions.
component:
- binutils
# Default set of contacts - some tests will add more as needed to reflect the fact
# some tests were developed by other people.
contact:
- Milos Prchlik <mprchlik@redhat.com>
# No default links, but initialize the field so tests can only *add* links, never set
# the whole field later.
link: []
# No default tags, but initialize the field so tests can only *add* tags, never set
# the whole field later.
tag: []
# All tests are using beakerlib
framework: beakerlib
# All tests are expected to cover collections as well as system binutils.
# Individual tests may override this and avoid collection environment,
# or get disabled via `adjust`.
test: "$WITH_SCL ./test.sh"
# By default, our internal library is required for all tests.
require+:
- type: file
pattern:
- lib.sh
# Make is required so often that it's just easier to add it to all tests...
- make
# Adjust rules
adjust+:
- because: "/tmp is not big enough to hold tmpdir for tests"
when: distro >= rhel-9
environment+:
BU_TMPDIR_PARENT: "/"
- because: "/tmp is not big enough to hold tmpdir for tests"
when: distro >= fedora-38
environment+:
BU_TMPDIR_PARENT: "/"
#
# Default set of packages under the test, requirements, and related environment variables.
#
# Packages under the test:
#
# * always include corresponding variant of `binutils`, `binutils-devel` and `binutils-gold`.
#
# Requires:
#
# * we start with `gcc`, `gcc-c++`, `glibc` and corresponding `annobin`.
#
# Environments:
#
# * `PACKAGES` shall be only `binutils` or its collection variant and nothing else
# * `TOOLSET` shall be either the collection name when testing a collection build,
# or left unset. Note that `COLLECTIONS` is left unset completely, it's not used
# by any test
# * `_REQUIRES` lists the default requirements - `gcc`, `gcc-c++` and so on
# * `WITH_SCL` shall be set to `scl enable ...` command to enable the collection before
# running the test script itself, or left unset for non-collection environments
# * `BINUTILS_PACKAGE`, `GCC_PACKAGE` list packages providing active binutils and gcc
# in the test environment. `BINUTILS_PACKAGE` is usually the same as `PACKAGES` but
# but complements `GCC_PACKAGE`
# * `COLLECTION_PACKAGES` lists other binutils packages in the collection
#
# RHEL-10 / no collection
- when: distro == rhel-10 and collection is not defined
require+:
- binutils
- binutils-devel
- binutils-gold
- glibc
- gcc
- gcc-c++
- annobin-annocheck
- annobin-plugin-gcc
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin-annocheck annobin-plugin-gcc
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# RHEL-9 / no collection
- when: distro == rhel-9 and collection is not defined
require+:
- binutils
- binutils-devel
- binutils-gold
- glibc
- gcc
- gcc-c++
- annobin
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# RHEL-9 / gcc-toolset-14
- when: distro == rhel-9 and collection == gcc-toolset-14 and arch == x86_64,aarch64
require+:
- gcc-toolset-14-binutils
- gcc-toolset-14-binutils-devel
- gcc-toolset-14-binutils-gold
- gcc-toolset-14-binutils-gprofng
- gcc-toolset-14-gcc
- gcc-toolset-14-gcc-c++
- gcc-toolset-14-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-14-binutils
TOOLSET: gcc-toolset-14
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-14
BINUTILS_PACKAGE: gcc-toolset-14-binutils
GCC_PACKAGE: gcc-toolset-14-gcc
# yamllint disable-line rule:line-length
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold gcc-toolset-14-binutils-gprofng
- when: distro == rhel-9 and collection == gcc-toolset-14 and arch != x86_64 and arch != aarch64
require+:
- gcc-toolset-14-binutils
- gcc-toolset-14-binutils-devel
- gcc-toolset-14-binutils-gold
- gcc-toolset-14-gcc
- gcc-toolset-14-gcc-c++
- gcc-toolset-14-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-14-binutils
TOOLSET: gcc-toolset-14
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-14
BINUTILS_PACKAGE: gcc-toolset-14-binutils
GCC_PACKAGE: gcc-toolset-14-gcc
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold
# RHEL-9 / gcc-toolset-13
- when: distro == rhel-9 and collection == gcc-toolset-13 and arch == x86_64,aarch64
require+:
- gcc-toolset-13-binutils
- gcc-toolset-13-binutils-devel
- gcc-toolset-13-binutils-gold
- gcc-toolset-13-binutils-gprofng
- gcc-toolset-13-gcc
- gcc-toolset-13-gcc-c++
- gcc-toolset-13-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-13-binutils
TOOLSET: gcc-toolset-13
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-13
BINUTILS_PACKAGE: gcc-toolset-13-binutils
GCC_PACKAGE: gcc-toolset-13-gcc
# yamllint disable-line rule:line-length
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold gcc-toolset-13-binutils-gprofng
- when: distro == rhel-9 and collection == gcc-toolset-13 and arch != x86_64 and arch != aarch64
require+:
- gcc-toolset-13-binutils
- gcc-toolset-13-binutils-devel
- gcc-toolset-13-binutils-gold
- gcc-toolset-13-gcc
- gcc-toolset-13-gcc-c++
- gcc-toolset-13-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-13-binutils
TOOLSET: gcc-toolset-13
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-13
BINUTILS_PACKAGE: gcc-toolset-13-binutils
GCC_PACKAGE: gcc-toolset-13-gcc
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold
# RHEL-9 / gcc-toolset-12
- when: distro == rhel-9 and collection == gcc-toolset-12
require+:
- gcc-toolset-12-binutils
- gcc-toolset-12-binutils-devel
- gcc-toolset-12-binutils-gold
- gcc-toolset-12-gcc
- gcc-toolset-12-gcc-c++
- gcc-toolset-12-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-12-binutils
TOOLSET: gcc-toolset-12
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-12
BINUTILS_PACKAGE: gcc-toolset-12-binutils
GCC_PACKAGE: gcc-toolset-12-gcc
COLLECTION_PACKAGES: gcc-toolset-12-binutils gcc-toolset-12-binutils-devel gcc-toolset-12-binutils-gold
# RHEL-9 / gcc-toolset-11
# RHEL-8 / no collection
- when: distro == rhel-8 and collection is not defined
require+:
- binutils
- binutils-devel
# No binutils-gold for RHEL-8 system binutils
# - binutils-gold
- gcc
- gcc-c++
- annobin
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# RHEL-8 / gcc-toolset-14
- when: distro == rhel-8 and collection == gcc-toolset-14 and arch == x86_64,aarch64
require+:
- gcc-toolset-14-binutils
- gcc-toolset-14-binutils-devel
- gcc-toolset-14-binutils-gold
- gcc-toolset-14-binutils-gprofng
- gcc-toolset-14-gcc
- gcc-toolset-14-gcc-c++
- gcc-toolset-14-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-14-binutils
TOOLSET: gcc-toolset-14
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-14
BINUTILS_PACKAGE: gcc-toolset-14-binutils
GCC_PACKAGE: gcc-toolset-14-gcc
# yamllint disable-line rule:line-length
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold gcc-toolset-14-binutils-gprofng
- when: distro == rhel-8 and collection == gcc-toolset-14 and arch != x86_64 and arch != aarch64
require+:
- gcc-toolset-14-binutils
- gcc-toolset-14-binutils-devel
- gcc-toolset-14-binutils-gold
- gcc-toolset-14-gcc
- gcc-toolset-14-gcc-c++
- gcc-toolset-14-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-14-binutils
TOOLSET: gcc-toolset-14
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-14
BINUTILS_PACKAGE: gcc-toolset-14-binutils
GCC_PACKAGE: gcc-toolset-14-gcc
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold
# RHEL-8 / gcc-toolset-13
- when: distro == rhel-8 and collection == gcc-toolset-13 and arch == x86_64,aarch64
require+:
- gcc-toolset-13-binutils
- gcc-toolset-13-binutils-devel
- gcc-toolset-13-binutils-gold
- gcc-toolset-13-binutils-gprofng
- gcc-toolset-13-gcc
- gcc-toolset-13-gcc-c++
- gcc-toolset-13-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-13-binutils
TOOLSET: gcc-toolset-13
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-13
BINUTILS_PACKAGE: gcc-toolset-13-binutils
GCC_PACKAGE: gcc-toolset-13-gcc
# yamllint disable-line rule:line-length
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold gcc-toolset-13-binutils-gprofng
- when: distro == rhel-8 and collection == gcc-toolset-13 and arch != x86_64 and arch != aarch64
require+:
- gcc-toolset-13-binutils
- gcc-toolset-13-binutils-devel
- gcc-toolset-13-binutils-gold
- gcc-toolset-13-gcc
- gcc-toolset-13-gcc-c++
- gcc-toolset-13-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-13-binutils
TOOLSET: gcc-toolset-13
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-13
BINUTILS_PACKAGE: gcc-toolset-13-binutils
GCC_PACKAGE: gcc-toolset-13-gcc
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold
# RHEL-8 / gcc-toolset-12
- when: distro == rhel-8 and collection == gcc-toolset-12
require+:
- gcc-toolset-12-binutils
- gcc-toolset-12-binutils-devel
- gcc-toolset-12-binutils-gold
- gcc-toolset-12-gcc
- gcc-toolset-12-gcc-c++
- gcc-toolset-12-gcc-plugin-annobin
- gcc-toolset-12-annobin-plugin-gcc
environment+:
PACKAGES: gcc-toolset-12-binutils
TOOLSET: gcc-toolset-12
# yamllint disable-line rule:line-length
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin gcc-toolset-12-annobin-plugin-gcc glibc
WITH_SCL: scl enable gcc-toolset-12
BINUTILS_PACKAGE: gcc-toolset-12-binutils
GCC_PACKAGE: gcc-toolset-12-gcc
COLLECTION_PACKAGES: gcc-toolset-12-binutils gcc-toolset-12-binutils-devel gcc-toolset-12-binutils-gold
# RHEL-8 / gcc-toolset-11
# RHEL-7 / no collection
- when: distro == rhel-7 and collection is not defined
require+:
- binutils
- binutils-devel
# - binutils-gold
# - binutils-gprofng
- gcc
- gcc-c++
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# RHEL-7 / devtoolset-13
- when: distro == rhel-7 and collection == devtoolset-13
require+:
- devtoolset-13-binutils
- devtoolset-13-binutils-devel
- devtoolset-13-binutils-gold
- devtoolset-13-binutils-gprofng
- devtoolset-13-gcc
- devtoolset-13-gcc-c++
environment+:
PACKAGES: devtoolset-13-binutils
TOOLSET: devtoolset-13
_REQUIRES: devtoolset-13-gcc devtoolset-13-gcc-c++ glibc
WITH_SCL: scl enable devtoolset-13
BINUTILS_PACKAGE: devtoolset-13-binutils
GCC_PACKAGE: devtoolset-13-gcc
# yamllint disable-line rule:line-length
COLLECTION_PACKAGES: devtoolset-13-binutils devtoolset-13-binutils-devel devtoolset-13-binutils-gold devtoolset-13-binutils-gprofng
# RHEL-7 / devtoolset-12
# RHEL-7 / devtoolset-11
# CentOS Stream 10 / no collection
- when: distro == centos-stream-10 and collection is not defined
require+:
- binutils
- binutils-devel
- binutils-gold
- gcc
- gcc-c++
# TODO: CentOS Stream 10
# - annobin
environment+:
PACKAGES: binutils
# TODO: CentOS Stream 10
# _REQUIRES: gcc gcc-c++ glibc annobin
_REQUIRES: gcc gcc-c++ glibc
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# CentOS Stream 9 / no collection
- when: distro == centos-stream-9 and collection is not defined
require+:
- binutils
- binutils-devel
- binutils-gold
- gcc
- gcc-c++
- annobin
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# CentOS Stream 9 / gcc-toolset-14
- when: distro == centos-stream-9 and collection == gcc-toolset-14
require+:
- gcc-toolset-14-binutils
- gcc-toolset-14-binutils-devel
- gcc-toolset-14-binutils-gold
# TODO: why is it missing, not being shipped?
# - gcc-toolset-14-binutils-gprofng
- gcc-toolset-14-gcc
- gcc-toolset-14-gcc-c++
- gcc-toolset-14-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-14-binutils
TOOLSET: gcc-toolset-14
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-14
BINUTILS_PACKAGE: gcc-toolset-14-binutils
GCC_PACKAGE: gcc-toolset-14-gcc
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold
# CentOS Stream 9 / gcc-toolset-13
- when: distro == centos-stream-9 and collection == gcc-toolset-13
require+:
- gcc-toolset-13-binutils
- gcc-toolset-13-binutils-devel
- gcc-toolset-13-binutils-gold
# TODO: why is it missing, not being shipped?
# - gcc-toolset-13-binutils-gprofng
- gcc-toolset-13-gcc
- gcc-toolset-13-gcc-c++
- gcc-toolset-13-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-13-binutils
TOOLSET: gcc-toolset-13
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-13
BINUTILS_PACKAGE: gcc-toolset-13-binutils
GCC_PACKAGE: gcc-toolset-13-gcc
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold
# CentOS Stream 9 / gcc-toolset-12
# CentOS Stream 9 / gcc-toolset-11
# CentOS Stream 8 / no collection
- when: distro == centos-stream-8 and collection is not defined
require+:
- binutils
- binutils-devel
- gcc
- gcc-c++
- annobin
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# CentOS Stream 8 / gcc-toolset-13
- when: distro == centos-stream-8 and collection == gcc-toolset-13 and arch == x86_64,aarch64
require+:
- gcc-toolset-13-binutils
- gcc-toolset-13-binutils-devel
- gcc-toolset-13-binutils-gold
# TODO: why is it missing, not being shipped?
# - gcc-toolset-13-binutils-gprofng
- gcc-toolset-13-gcc
- gcc-toolset-13-gcc-c++
- gcc-toolset-13-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-13-binutils
TOOLSET: gcc-toolset-13
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-13
BINUTILS_PACKAGE: gcc-toolset-13-binutils
GCC_PACKAGE: gcc-toolset-13-gcc
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold
- when: distro == centos-stream-8 and collection == gcc-toolset-13 and arch != x86_64 and arch != aarch64
require+:
- gcc-toolset-13-binutils
- gcc-toolset-13-binutils-devel
- gcc-toolset-13-binutils-gold
- gcc-toolset-13-gcc
- gcc-toolset-13-gcc-c++
- gcc-toolset-13-gcc-plugin-annobin
environment+:
PACKAGES: gcc-toolset-13-binutils
TOOLSET: gcc-toolset-13
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
WITH_SCL: scl enable gcc-toolset-13
BINUTILS_PACKAGE: gcc-toolset-13-binutils
GCC_PACKAGE: gcc-toolset-13-gcc
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold
# CentOS Stream 8 / gcc-toolset-12
- when: distro == centos-stream-8 and collection == gcc-toolset-12
require+:
- gcc-toolset-12-binutils
- gcc-toolset-12-binutils-devel
- gcc-toolset-12-binutils-gold
- gcc-toolset-12-gcc
- gcc-toolset-12-gcc-c++
- gcc-toolset-12-gcc-plugin-annobin
- gcc-toolset-12-annobin-plugin-gcc
environment+:
PACKAGES: gcc-toolset-12-binutils
TOOLSET: gcc-toolset-12
# yamllint disable-line rule:line-length
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin gcc-toolset-12-annobin-plugin-gcc glibc
WITH_SCL: scl enable gcc-toolset-12
BINUTILS_PACKAGE: gcc-toolset-12-binutils
GCC_PACKAGE: gcc-toolset-12-gcc
COLLECTION_PACKAGES: gcc-toolset-12-binutils gcc-toolset-12-binutils-devel gcc-toolset-12-binutils-gold
# CentOS Stream 8 / gcc-toolset-11
# Fedora Rawhide / no collection
- when: distro == fedora-rawhide and collection is not defined
require+:
- binutils
- binutils-devel
- binutils-gold
- binutils-gprofng
- gcc
- gcc-c++
- annobin-plugin-gcc
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin-plugin-gcc
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# Fedora-40 / no collection
- when: distro == fedora-40 and collection is not defined
require+:
- binutils
- binutils-devel
- binutils-gold
- binutils-gprofng
- gcc
- gcc-c++
- annobin-plugin-gcc
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin-plugin-gcc
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# Fedora-39 / no collection
- when: distro == fedora-39 and collection is not defined
require+:
- binutils
- binutils-devel
- binutils-gold
- binutils-gprofng
- gcc
- gcc-c++
- annobin-plugin-gcc
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin-plugin-gcc
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc
# Fedora-38 / no collection
- when: distro == fedora-38 and collection is not defined
require+:
- binutils
- binutils-devel
- binutils-gold
- binutils-gprofng
- gcc
- gcc-c++
- annobin-plugin-gcc
environment+:
PACKAGES: binutils
_REQUIRES: gcc gcc-c++ glibc annobin-plugin-gcc
BINUTILS_PACKAGE: binutils
GCC_PACKAGE: gcc