From 81ddce57d920de51007d69d747f2583288487b96 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 24 May 2022 19:03:59 -0700 Subject: [PATCH] Convert tests to tmt Also pull the gcc-fedora-flags test from rpms/gcc and pull the clang-fedora-flags from rpms/clang. --- .fmf/version | 1 + tests/auto-set-build-flags/main.fmf | 11 ++++++ tests/build-gating.fmf | 16 +++++++++ tests/build-self/main.fmf | 6 ++++ tests/build-self/runtest.sh | 7 ++++ tests/gcc-fedora-flags/hello.c | 5 --- tests/gcc-fedora-flags/hello.cpp | 5 --- tests/gcc-fedora-flags/main.c | 6 ---- tests/gcc-fedora-flags/main.cpp | 6 ---- tests/gcc-fedora-flags/runtest.sh | 29 ---------------- tests/no-new-dependency/main.fmf | 8 +++++ tests/tests.yml | 52 ----------------------------- 12 files changed, 49 insertions(+), 103 deletions(-) create mode 100644 .fmf/version create mode 100644 tests/auto-set-build-flags/main.fmf create mode 100644 tests/build-gating.fmf create mode 100644 tests/build-self/main.fmf create mode 100755 tests/build-self/runtest.sh delete mode 100644 tests/gcc-fedora-flags/hello.c delete mode 100644 tests/gcc-fedora-flags/hello.cpp delete mode 100644 tests/gcc-fedora-flags/main.c delete mode 100644 tests/gcc-fedora-flags/main.cpp delete mode 100644 tests/gcc-fedora-flags/runtest.sh create mode 100644 tests/no-new-dependency/main.fmf delete mode 100644 tests/tests.yml diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/tests/auto-set-build-flags/main.fmf b/tests/auto-set-build-flags/main.fmf new file mode 100644 index 0000000..6777d59 --- /dev/null +++ b/tests/auto-set-build-flags/main.fmf @@ -0,0 +1,11 @@ +summary: > + Check the that the environment variables for build flags are automatically set + https://fedoraproject.org/wiki/Changes/SetBuildFlagsBuildCheck + +require: + - annobin-annocheck + - gcc + - gcc-c++ + - make + +test: ./runtest.sh diff --git a/tests/build-gating.fmf b/tests/build-gating.fmf new file mode 100644 index 0000000..fea5c48 --- /dev/null +++ b/tests/build-gating.fmf @@ -0,0 +1,16 @@ +summary: Tests +discover: + - name: redhat-rpm-config-tests + how: fmf + - name: gcc-fedora-flags + how: fmf + url: https://src.fedoraproject.org/rpms/gcc.git + ref: rawhide + test: fedora-flags + - name: clang-fedora-flags + how: fmf + url: https://src.fedoraproject.org/rpms/clang.git + ref: rawhide + test: fedora-flags +execute: + how: tmt diff --git a/tests/build-self/main.fmf b/tests/build-self/main.fmf new file mode 100644 index 0000000..0d84895 --- /dev/null +++ b/tests/build-self/main.fmf @@ -0,0 +1,6 @@ +summary: self-build test + +require: + - dnf-plugins-core + - rpm-build +test: ./runtest.sh diff --git a/tests/build-self/runtest.sh b/tests/build-self/runtest.sh new file mode 100755 index 0000000..68ab7cc --- /dev/null +++ b/tests/build-self/runtest.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -e + +spec=$TMT_TREE/redhat-rpm-config.spec +dnf -y build-dep $spec +rpmbuild --define "_sourcedir $TMT_TREE" -ba $spec diff --git a/tests/gcc-fedora-flags/hello.c b/tests/gcc-fedora-flags/hello.c deleted file mode 100644 index 51b259b..0000000 --- a/tests/gcc-fedora-flags/hello.c +++ /dev/null @@ -1,5 +0,0 @@ -#include - -void hello() { - printf("Hello World\n"); -} diff --git a/tests/gcc-fedora-flags/hello.cpp b/tests/gcc-fedora-flags/hello.cpp deleted file mode 100644 index 400612b..0000000 --- a/tests/gcc-fedora-flags/hello.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include - -void hello() { - std::cout << "Hello World\n"; -} diff --git a/tests/gcc-fedora-flags/main.c b/tests/gcc-fedora-flags/main.c deleted file mode 100644 index 1a3455d..0000000 --- a/tests/gcc-fedora-flags/main.c +++ /dev/null @@ -1,6 +0,0 @@ -void hello(); - -int main(int argc, char **argv) { - hello(); - return 0; -} diff --git a/tests/gcc-fedora-flags/main.cpp b/tests/gcc-fedora-flags/main.cpp deleted file mode 100644 index 1a3455d..0000000 --- a/tests/gcc-fedora-flags/main.cpp +++ /dev/null @@ -1,6 +0,0 @@ -void hello(); - -int main(int argc, char **argv) { - hello(); - return 0; -} diff --git a/tests/gcc-fedora-flags/runtest.sh b/tests/gcc-fedora-flags/runtest.sh deleted file mode 100644 index 01b656b..0000000 --- a/tests/gcc-fedora-flags/runtest.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -set -ex - -default_cflags=$(rpm -E '%{build_cflags}') -default_cxxflags=$(rpm -E '%{build_cxxflags}') -default_ldflags=$(rpm -E '%{build_ldflags}') - -cflags=$(rpm -D '%toolchain gcc' -E '%{build_cflags}') -cxxflags=$(rpm -D '%toolchain gcc' -E '%{build_cxxflags}') -ldflags=$(rpm -D '%toolchain gcc' -E '%{build_ldflags}') - -test "$default_cflags" = "$cflags" -test "$default_cxxflags" = "$cxxflags" -test "$default_ldflags" = "$ldflags" - -gcc $cflags -o hello.o -c hello.c -annocheck hello.o -gcc $cflags -o main.o -c main.c -gcc $ldflags -o hello main.o hello.o -annocheck hello -./hello | grep "Hello World" - -g++ $cxxflags -o hello-cpp.o -c hello.cpp -annocheck hello-cpp.o -g++ $cxxflags -o main-cpp.o -c main.cpp -g++ $ldflags -o hello-cpp main-cpp.o hello-cpp.o -annocheck hello-cpp -./hello-cpp | grep "Hello World" diff --git a/tests/no-new-dependency/main.fmf b/tests/no-new-dependency/main.fmf new file mode 100644 index 0000000..4edbb14 --- /dev/null +++ b/tests/no-new-dependency/main.fmf @@ -0,0 +1,8 @@ +summary: Test that we don't accidently introduce any new dependencies. + +require: + - diffutils + - grep + - redhat-rpm-config + - rpm +test: ./runtest.sh diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 52d9cec..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- -- hosts: localhost - tags: - - classic - tasks: - - dnf: - name: "*" - state: latest - -- hosts: localhost - tags: - - classic - pre_tasks: - - import_role: - name: standard-test-source - vars: - fetch_only: True - - roles: - - role: standard-test-basic - tags: - - classic - required_packages: - - rpm - # build-self - - dnf - - rpm-build - # clang/fedora-flags - - clang - #gcc-fedora-flags - - gcc - - gcc-c++ - - annobin-annocheck - #auto-set-build-flags - - gcc - - gcc-c++ - - annobin-annocheck - - make - # no-new-dependency - - diffutils - - grep - repositories: - - repo: https://src.fedoraproject.org/tests/clang.git - dest: clang - tests: - - build-self: - dir: . - run: "dnf -y build-dep {{ tenv_workdir }}/redhat-rpm-config.spec && rpmbuild --define '_sourcedir {{ tenv_workdir }}' -ba {{ tenv_workdir }}/redhat-rpm-config.spec" - - clang/fedora-flags - - gcc-fedora-flags - - no-new-dependency - - auto-set-build-flags