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/.gitignore b/.gitignore index baad5a5..9f7d103 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /chan-0.0.4.tar.gz +*.swp diff --git a/chan.spec b/chan.spec index 19610d3..f9beba5 100644 --- a/chan.spec +++ b/chan.spec @@ -1,12 +1,13 @@ Name: chan Version: 0.0.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Pure C implementation of Go channels License: ASL 2.0 URL: https://github.com/tylertreat/%{name} Source0: https://github.com/tylertreat/%{name}/archive/%{version}/%{name}-%{version}.tar.gz BuildRequires: gcc autoconf automake libtool +BuildRequires: make #Requires: %description @@ -59,6 +60,9 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 0.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 0.0.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..ce3cdc1 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,19 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} +--- !Policy +product_versions: + - rhel-8 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 0000000..1ad2c12 --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,6 @@ +summary: CI Gating Plan +discover: + how: fmf + directory: tests +execute: + how: beakerlib diff --git a/tests/README b/tests/README new file mode 100644 index 0000000..9ad59d4 --- /dev/null +++ b/tests/README @@ -0,0 +1,2 @@ +The test's Makefiles are not used in Fedora CI infrastructure. But are kept here +for backward compatibility with traditional beakerlib test harness in RHEL. diff --git a/tests/Sanity/sanity-test/Makefile b/tests/Sanity/sanity-test/Makefile new file mode 100644 index 0000000..50da3a7 --- /dev/null +++ b/tests/Sanity/sanity-test/Makefile @@ -0,0 +1,64 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /tools/chan/Sanity/sanity-test +# Description: Sanity upstream test of chan package +# Author: Jan Kuřík +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 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/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/tools/chan/Sanity/sanity-test +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Jan Kuřík " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: Sanity upstream test of chan package" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 15m" >> $(METADATA) + @echo "RunFor: chan" >> $(METADATA) + @echo "Requires: autoconf automake chan gcc libtool rpm-build" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2+" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + @echo "Bug: 1748642" >> $(METADATA) + @echo "Releases: -RHEL4 -RHEL6 -RHEL7 -RHELClient5 -RHELServer5" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/Sanity/sanity-test/PURPOSE b/tests/Sanity/sanity-test/PURPOSE new file mode 100644 index 0000000..f39e5f4 --- /dev/null +++ b/tests/Sanity/sanity-test/PURPOSE @@ -0,0 +1,5 @@ +PURPOSE of /tools/chan/Sanity/sanity-test +Description: Sanity upstream test of chan package +Author: Jan Kuřík +Bug summary: New rpm dependency (chan) needed for statsd PMDA +Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1748642 diff --git a/tests/Sanity/sanity-test/main.fmf b/tests/Sanity/sanity-test/main.fmf new file mode 100644 index 0000000..872788d --- /dev/null +++ b/tests/Sanity/sanity-test/main.fmf @@ -0,0 +1,20 @@ +summary: Sanity upstream test of chan package +description: | + Bug summary: New rpm dependency (chan) needed for statsd PMDA + Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1748642 +contact: +- Jan Kuřík +component: +- chan +test: ./runtest.sh +framework: beakerlib +recommend: +- autoconf +- automake +- chan +- gcc +- libtool +- rpm-build +duration: 15m +extra-summary: /tools/chan/Sanity/sanity-test +extra-task: /tools/chan/Sanity/sanity-test diff --git a/tests/Sanity/sanity-test/runtest.sh b/tests/Sanity/sanity-test/runtest.sh new file mode 100755 index 0000000..d813276 --- /dev/null +++ b/tests/Sanity/sanity-test/runtest.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/chan/Sanity/sanity-test +# Description: Sanity upstream test of chan package +# Author: Jan Kuřík +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 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="chan" +BUILD_USER=${BUILD_USER:-chanbld} + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest "Get source code and setup build environment" + rlFetchSrcForInstalled "${PACKAGE}" \ + || rlDie "Can not download SRPM of ${PACKAGE} - giving up" + rlRun "yum-builddep -y \ + $(rpm -q --qf '%{name}-%{version}-%{release}.src.rpm' ${PACKAGE}.$(arch))" \ + || rlDie "Can not install build dependencies - giving up" + rlRun "useradd -m -N $BUILD_USER" 0,9 && del="yes" + rlPhaseEnd + + rlPhaseStartTest "Build ${PACKAGE}" + rlRun "rpm -D \"_topdir ${TmpDir}\" -U \ + $(rpm -q --qf '%{name}-%{version}-%{release}.src.rpm' ${PACKAGE}.$(arch))" + rlRun "chown -R ${BUILD_USER}:users ${TmpDir}" + rlRun -s "su -c \ + 'rpmbuild -D \"_topdir ${TmpDir}\" -bc ${TmpDir}/SPECS/${PACKAGE}.spec' \ + ${BUILD_USER}" + rlFileSubmit "${rlRun_LOG}" "rpmbuild-${PACKAGE}.log" + rlPhaseEnd + + rlPhaseStartTest "Run upstream testsuite" + BDIR=$(rpm -q --qf '%{name}-%{version}' ${PACKAGE}.$(arch)) + if rlRun "pushd ${TmpDir}/BUILD/${BDIR}"; then + rlRun "rm -f .libs/libchan.so*" + rlRun "ln -s /usr/lib64/libchan.so.0 .libs/libchan.so" + rlRun "ln -s /usr/lib64/libchan.so.0 .libs/libchan.so.0" + rlRun "make src/chan_test" + rlRun -s "src/chan_test" + rlAssertGrep '[0-9]+ passed' "${rlRun_LOG}" -E + rlRun "popd" + fi + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd