Gather common metadata under a parent main.fmf

Metadata common to all tests include component, contact, framework,
test script and frequent required packages.
Normalized script names to 'runtest.sh'.
This commit is contained in:
Jesus Checa Hidalgo 2024-02-27 13:47:37 +01:00
commit 598eead7e1
22 changed files with 76 additions and 230 deletions

View file

@ -1,27 +1,22 @@
summary: clang-format-diff
test: "$WITH_SCL ./test.sh"
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/clang-format-diff
extra-task: /tools/clang/clang-format-diff
extra-nitrate: TC#0614126
adjust:
adjust+:
# Common requirements when LLVM is not SCL-ized
- require:
- require+:
- clang-tools-extra
when: "collection is not defined"
# Requirements for SCL-ized LLVM
- require:
- require+:
- llvm-toolset-13.0-clang-tools-extra
when: "collection == llvm-toolset-13.0"
- require:
- require+:
- llvm-toolset-14.0-clang-tools-extra
when: "collection == llvm-toolset-14.0"
- require:
- require+:
- llvm-toolset-15.0-clang-tools-extra
when: "collection == llvm-toolset-15.0"

View file

@ -1,34 +1,12 @@
summary: fedora-flags
test: "$WITH_SCL ./runtest.sh"
require:
require+:
- redhat-rpm-config
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/fedora-flags
extra-task: /tools/clang/fedora-flags
extra-nitrate: TC#0614127
adjust:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang
when: "collection is not defined"
# Requirements for SCL-ized LLVM
- require+:
- llvm-toolset-13.0-clang
when: "collection == llvm-toolset-13.0"
- require+:
- llvm-toolset-14.0-clang
when: "collection == llvm-toolset-14.0"
- require+:
- llvm-toolset-15.0-clang
when: "collection == llvm-toolset-15.0"
adjust+:
- because: s390x does not have epel repo which is required to provide rpm macros
enabled: false
when: >-

View file

@ -2,30 +2,9 @@ summary: Test that both gcc/clang compile/link compatibility.
description:
Build an object file with g++, link it with clang++ and viceversa, to ensure
that objects compiled with one can be linked with the other.
test: "$WITH_SCL ./test.sh"
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/gcc-clang-compatibility
extra-task: /tools/clang/gcc-clang-compatibility
require:
require+:
- gcc-c++
adjust:
- require+:
- clang
when: collection is not defined
# Requirements for SCL-ized LLVM
- require+:
- llvm-toolset-13.0-clang
when: "collection == llvm-toolset-13.0"
- require+:
- llvm-toolset-14.0-clang
when: "collection == llvm-toolset-14.0"
- require+:
- llvm-toolset-15.0-clang
when: "collection == llvm-toolset-15.0"

View file

@ -1,23 +1,17 @@
# The point of this test is to ensure that clang/clang-libs demand the correct
# libomp packages, and is able to use openmp headers and libraries
summary: test clang can find libomp header and libraries
test: "$WITH_SCL ./runtest.sh"
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/libomp
extra-task: /tools/clang/libomp
extra-nitrate: TC#0614137
require:
- clang
require+:
- clang-libs
- libomp
- libomp-devel
adjust:
adjust+:
- because: "libomp is not supported in s390x"
when: arch == s390x
enabled: false

View file

@ -1,16 +1,14 @@
# TODO: once llvm-test-suite is converted to TMT, we can just link the test from plan.
summary: Run tests from llvm-test-suite package
adjust:
adjust+:
- because: "llvm-test-suite is available for Fedora, not RHEL/CentOS"
when: >-
distro == rhel
or distro == centos
enabled: false
test: "$WITH_SCL ./test.sh"
require:
require+:
- git
- clang
- ninja-build

View file

@ -1,33 +1,11 @@
summary: Test that gcc and clang use the same long double format
test: $WITH_SCL ./runtest.sh
duration: 5m
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/long-double
extra-task: /tools/clang/long-double
extra-nitrate: TC#0614593
adjust:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang
when: "collection is not defined"
require+:
- gcc
- require+:
- gcc
when: distro != fedora
# Requirements for SCL-ized LLVM
- require+:
- llvm-toolset-13.0-clang
when: "collection == llvm-toolset-13.0"
- require+:
- llvm-toolset-14.0-clang
when: "collection == llvm-toolset-14.0"
- require+:
- llvm-toolset-15.0-clang
when: "collection == llvm-toolset-15.0"
id: 4096a1bb-d2a5-4aeb-b14d-fc465c293e32

45
tests/main.fmf Normal file
View file

@ -0,0 +1,45 @@
# Common configuration for all the tests in this repo
# All the tmt tests under this directory inherit the settings from this file
component:
- llvm-toolset
- clang
# Default QA contact. If more are relevant use 'contact+:' in each test metadata.
contact:
- Jesus Checa Hidalgo <jcheca@redhat.com>
# All tests are shell by default. If a specific test uses another framework
# such as beakerlib, define "framework: beakerlib" in the test's main.fmf
framework: shell
# Always define "test" key and override in adjust or in each specific test
# metadata if needed.
test: ./runtest.sh
# Commonly used keys are initialized to empty.
require: []
link: []
tag: []
adjust+:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang
when: collection is not defined
# Requirements for SCL-ized LLVM
# We need to override the test key to do the proper scl call
- test: scl enable llvm-toolset-13.0 -- ./runtest.sh
require+:
- llvm-toolset-13.0-clang
when: collection == llvm-toolset-13.0
- test: scl enable llvm-toolset-14.0 -- ./runtest.sh
require+:
- llvm-toolset-14.0-clang
when: collection == llvm-toolset-14.0
- test: scl enable llvm-toolset-15.0 -- ./runtest.sh
require+:
- llvm-toolset-15.0-clang
when: collection == llvm-toolset-15.0

View file

@ -1,17 +1,12 @@
summary: Test build a simple RPM package to ensure that -fopenmp works
test: "$WITH_SCL ./runtest.sh"
require:
require+:
- rpm-build
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/openmp-rpm
extra-task: /tools/clang/openmp-rpm
extra-nitrate: TC#0614128
adjust:
adjust+:
- because: "libomp not supported in s390x"
when: arch == s390x
enabled: false

View file

@ -1,21 +1,11 @@
summary: Test binary compatibility of the long double format on ppc64le
test: $WITH_SCL ./runtest.sh
duration: 1h
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/ppc64le-long-double
extra-task: /tools/clang/ppc64le-long-double
extra-nitrate: TC#0614129
adjust:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang
when: "collection is not defined"
adjust+:
- because: "Fedora CI runs in x86_64 only, emulate with qemu and mock"
require+:
- qemu-user-static
@ -29,19 +19,9 @@ adjust:
- because: "glibc in RHEL older than 9 don't support IEEE 128bit doubles"
enabled: false
when: distro < rhel-9
when: distro < rhel-9 or distro < centos-stream-9
- require+:
- because: "The test runs natively on RHEL so get gcc to build"
require+:
- gcc
when: distro != fedora
# Requirements for SCL-ized LLVM
- require+:
- llvm-toolset-13.0-clang
when: "collection == llvm-toolset-13.0"
- require+:
- llvm-toolset-14.0-clang
when: "collection == llvm-toolset-14.0"
- require+:
- llvm-toolset-15.0-clang
when: "collection == llvm-toolset-15.0"

View file

@ -1,32 +1,22 @@
summary: RHBZ1647130
test: "$WITH_SCL ./runtest.sh"
require: []
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/rhbz_167130
extra-task: /tools/clang/rhbz_167130
extra-nitrate: TC#0614130
adjust:
adjust+:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang
- clang-analyzer
when: "collection is not defined"
# Requirements for SCL-ized LLVM
- require+:
- llvm-toolset-13.0-clang
- llvm-toolset-13.0-clang-analyzer
when: "collection == llvm-toolset-13.0"
- require+:
- llvm-toolset-14.0-clang
- llvm-toolset-14.0-clang-analyzer
when: "collection == llvm-toolset-14.0"
- require+:
- llvm-toolset-15.0-clang
- llvm-toolset-15.0-clang-analyzer
when: "collection == llvm-toolset-15.0"

View file

@ -1,28 +1,5 @@
summary: RHBZ1657544
test: "$WITH_SCL ./runtest.sh"
require: []
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/rhbz_165744
extra-task: /tools/clang/rhbz_165744
extra-nitrate: TC#0614131
adjust:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang
when: "collection is not defined"
# Requirements for SCL-ized LLVM
- require+:
- llvm-toolset-13.0-clang
when: "collection == llvm-toolset-13.0"
- require+:
- llvm-toolset-14.0-clang
when: "collection == llvm-toolset-14.0"
- require+:
- llvm-toolset-15.0-clang
when: "collection == llvm-toolset-15.0"

View file

@ -1,25 +1,2 @@
summary: Test if debug information is disabled by default
test: "$WITH_SCL ./runtest.sh"
require: []
framework: shell
tier: 1
component:
- llvm-toolset
- clang
adjust:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang
when: "collection is not defined"
# Requirements for SCL-ized LLVM
- require+:
- llvm-toolset-13.0-clang
when: "collection == llvm-toolset-13.0"
- require+:
- llvm-toolset-14.0-clang
when: "collection == llvm-toolset-14.0"
- require+:
- llvm-toolset-15.0-clang
when: "collection == llvm-toolset-15.0"

View file

@ -1,14 +1,9 @@
summary: rhbz-482491
description: |
"Test that clang is able to find the right libgcc_s"
test: "$WITH_SCL ./test.sh"
require:
require+:
- libgcc
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/rhbz_482194
extra-task: /tools/clang/rhbz_482194
extra-nitrate: TC#0614132
@ -16,24 +11,8 @@ extra-nitrate: TC#0614132
link:
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1482491
adjust:
adjust+:
# gcc-x86_64-linux-gnu is not available in RHEL
- require+:
- gcc-x86_64-linux-gnu
when: "distro == fedora"
# Common requirements when LLVM is not SCL-ized
- require+:
- clang
when: "collection is not defined"
# Requirements for SCL-ized LLVM
- require+:
- llvm-toolset-13.0-clang
when: "collection == llvm-toolset-13.0"
- require+:
- llvm-toolset-14.0-clang
when: "collection == llvm-toolset-14.0"
- require+:
- llvm-toolset-15.0-clang
when: "collection == llvm-toolset-15.0"

View file

@ -1,10 +1,6 @@
summary: Test if RPM macros are properly set
test: "./runtest.sh"
framework: shell
tier: 1
component:
- clang
require:
require+:
- clang
- clang-devel
extra-summary: /tools/clang/rpmmacros

View file

@ -1,21 +1,15 @@
# TODO REVIEW: better summary
summary: ""
test: "$WITH_SCL ./runtest.sh"
require:
summary: "Test integration between clang, compiler-rt and lld"
require+:
- glibc-static
- yum-utils
# This require EPEL/CRB to be enabled on RHEL
- libstdc++-static
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/toolchains
extra-task: /tools/clang/toolchains
extra-nitrate: TC#0614133
adjust:
adjust+:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang

View file

@ -1,12 +1,8 @@
summary: Test that ucrt64 toolchain is detected
test: ./runtest.sh
component:
- clang
require:
- clang
require+:
- ucrt64-gcc-c++
adjust:
adjust+:
- enabled: false
when: distro != fedora or distro < fedora-37
because: "The ucrt64 toolchain is only available since Fedora 37"

View file

@ -1,17 +1,12 @@
summary: Test that clang uses DWARFv4 by default
test: "$WITH_SCL ./test.sh"
require:
require+:
- libgcc
framework: shell
tier: 1
component:
- llvm-toolset
- clang
extra-summary: /tools/clang/use-correct-dwarf-default
extra-task: /tools/clang/use-correct-dwarf-default
extra-nitrate: TC#0614134
adjust:
adjust+:
# Common requirements when LLVM is not SCL-ized
- require+:
- clang