Convert tests to tmt
Also pull the gcc-fedora-flags test from rpms/gcc and pull the clang-fedora-flags from rpms/clang.
This commit is contained in:
parent
b95ec8412d
commit
1f3e0863cc
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
11
tests/auto-set-build-flags/main.fmf
Normal file
11
tests/auto-set-build-flags/main.fmf
Normal file
@ -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
|
16
tests/build-gating.fmf
Normal file
16
tests/build-gating.fmf
Normal file
@ -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
|
6
tests/build-self/main.fmf
Normal file
6
tests/build-self/main.fmf
Normal file
@ -0,0 +1,6 @@
|
||||
summary: self-build test
|
||||
|
||||
require:
|
||||
- dnf-plugins-core
|
||||
- rpm-build
|
||||
test: ./runtest.sh
|
7
tests/build-self/runtest.sh
Executable file
7
tests/build-self/runtest.sh
Executable file
@ -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
|
@ -1,5 +0,0 @@
|
||||
#include <stdio.h>
|
||||
|
||||
void hello() {
|
||||
printf("Hello World\n");
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
#include <iostream>
|
||||
|
||||
void hello() {
|
||||
std::cout << "Hello World\n";
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
void hello();
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
hello();
|
||||
return 0;
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
void hello();
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
hello();
|
||||
return 0;
|
||||
}
|
@ -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"
|
8
tests/no-new-dependency/main.fmf
Normal file
8
tests/no-new-dependency/main.fmf
Normal file
@ -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
|
@ -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
|
Loading…
Reference in New Issue
Block a user