CI Gating: Introduce dist-git tests

This commit is contained in:
Martin Cermak 2021-09-02 09:40:48 +02:00 committed by Stepan Oksanichenko
parent c5f9aa4867
commit 237d587e86
5 changed files with 84 additions and 0 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

1
.yasm.metadata Normal file
View File

@ -0,0 +1 @@
b7574e9f0826bedef975d64d3825f75fbaeef55e yasm-1.3.0.tar.gz

6
plans/ci.fmf Normal file
View File

@ -0,0 +1,6 @@
summary: CI Gating Plan
discover:
how: fmf
directory: tests
execute:
how: beakerlib

View File

@ -0,0 +1,17 @@
summary: testsuite
description: ''
contact: Martin Cermak <mcermak@redhat.com>
component:
- yasm
test: ./runtest.sh
framework: beakerlib
recommend:
- yasm
- bison
- byacc
- gettext-devel
- xmlto
- rpm-build
duration: 48h
extra-summary: /tools/yasm/Regression/testsuite
extra-task: /tools/yasm/Regression/testsuite

View File

@ -0,0 +1,59 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/yasm/Regression/testsuite
# Description: testsuite
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="yasm"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TMP=\$(mktemp -d)"
rlRun "pushd $TMP"
rlFetchSrcForInstalled $PACKAGE
rlRun "dnf builddep -y *src.rpm --nobest"
rlRun "rpm --define='_topdir $TMP' -Uvh *src.rpm"
rlRun "rpmbuild --define='_topdir $TMP' -bc SPECS/yasm.spec"
rlRun "pushd BUILD/yasm-*"
rlPhaseEnd
rlPhaseStartTest
rlRun "make check |& tee test.log"
rlRun "PASS=$(awk '/# PASS:/ {print $3}' test.log)"
rlRun "FAIL=$(awk '/# FAIL:/ {print $3}' test.log)"
rlRun "test $PASS -ge 44"
rlRun "test $FAIL -eq 0"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd; popd"
rlRun "rm -r $TMP"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd