From c4f3172978e8f02fa31374d00854e02804b76c65 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Mon, 2 Nov 2020 16:55:59 +0100 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/omping.git#0d9f4a4d8563298b29a6eebf1737ee919fc5fa8b --- .gitignore | 4 ++ gating.yaml | 15 +++++ omping.rpmlintrc | 2 + omping.spec | 125 +++++++++++++++++++++++++++++++++++++++++ sources | 1 + tests/.gitignore | 3 + tests/smoke/runtest.sh | 76 +++++++++++++++++++++++++ tests/tests.yml | 10 ++++ 8 files changed, 236 insertions(+) create mode 100644 gating.yaml create mode 100644 omping.rpmlintrc create mode 100644 omping.spec create mode 100644 sources create mode 100644 tests/.gitignore create mode 100644 tests/smoke/runtest.sh create mode 100644 tests/tests.yml diff --git a/.gitignore b/.gitignore index e69de29..9817053 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,4 @@ +/omping-0.0.1.tar.gz +/omping-0.0.2.tar.gz +/omping-0.0.3.tar.gz +/omping-0.0.4.tar.gz diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..f075ad7 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,15 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +--- !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} diff --git a/omping.rpmlintrc b/omping.rpmlintrc new file mode 100644 index 0000000..246b81e --- /dev/null +++ b/omping.rpmlintrc @@ -0,0 +1,2 @@ +# Spelling error multicast +addFilter(r'W: spelling-error .* multicast') diff --git a/omping.spec b/omping.spec new file mode 100644 index 0000000..c9c483f --- /dev/null +++ b/omping.spec @@ -0,0 +1,125 @@ +Name: omping +Version: 0.0.4 +Release: 23%{?dist} +Summary: Utility to test IP multicast functionality +License: ISC +URL: https://github.com/jfriesse/omping +Source0: https://github.com/jfriesse/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz + +BuildRequires: gcc + +%description +Omping (Open Multicast Ping) is tool to test IP multicast functionality +primarily in local network. + +%prep +%setup -q + +%build +%set_build_flags +%make_build + +%install +%make_install PREFIX="%{_prefix}" + +%files +%doc AUTHORS +%license COPYING +%{_bindir}/%{name} +%{_mandir}/man8/* + +%changelog +* Tue Jul 28 2020 Fedora Release Engineering - 0.0.4-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 22 2020 Jan Friesse - 0.0.4-22 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Thu Mar 19 2020 Jan Friesse - 0.0.4-21 +- Add CI tests +- Enable gating + +* Wed Jan 29 2020 Fedora Release Engineering - 0.0.4-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 0.0.4-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Mar 20 2019 Jan Friesse - 0.0.4-18 +- Use license and set_build_flags macro +- Fix URL and source + +* Fri Feb 01 2019 Fedora Release Engineering - 0.0.4-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 0.0.4-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 10 2018 Jan Friesse - 0.0.4-15 +- Modernize spec file a bit +- Fix spec file changelog dates +- Add gcc build requirement + +* Mon Jul 9 2018 Florian Weimer - 0.0.4-14 +- Use LDFLAGS from redhat-rpm-config + +* Thu Feb 08 2018 Fedora Release Engineering - 0.0.4-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0.0.4-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.0.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.0.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 0.0.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 0.0.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 0.0.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.0.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 0.0.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 0.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jul 20 2012 Fedora Release Engineering - 0.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 0.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Jun 22 2011 Jan Friesse - 0.0.4-1 +- Update to version 0.0.4 + +* Mon May 02 2011 Jan Friesse - 0.0.3-1 +- Update to version 0.0.3 + +* Thu Apr 14 2011 Jan Friesse - 0.0.2-3 +- Resolves rhbz#696509 + +* Tue Feb 08 2011 Fedora Release Engineering - 0.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 22 2010 Jan Friesse - 0.0.2-1 +- Update to upstream release 0.0.2 + +* Tue Nov 30 2010 Jan Friesse - 0.0.1-3 +- Display error if only one host is specified + +* Wed Nov 24 2010 Jan Friesse - 0.0.1-2 +- Change hard coded prefix path to macro + +* Fri Nov 19 2010 Jan Friesse - 0.0.1-1 +- Initial package for Fedora diff --git a/sources b/sources new file mode 100644 index 0000000..e9b0138 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (omping-0.0.4.tar.gz) = 358362b41c8a502f95f4a7ac044122159cc73b2b124849c957d4041c14dc38057febeb725066ceb7c595ed059a60c7dffd14c986fa90119a8d27055e665bd023 diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 0000000..e6c79fd --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1,3 @@ +# Ignore tests runs/artefacts. +artifacts/** +**/*.retry diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh new file mode 100644 index 0000000..5cd93c1 --- /dev/null +++ b/tests/smoke/runtest.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +# Copyright (c) 2019, Red Hat, Inc. +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND RED HAT, INC. DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL RED HAT, INC. BE LIABLE +# FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# Author: Jan Friesse + +# Home https://github.com/jfriesse/csts/tree/master/smoke + +# -e is really important +set -xe +set -o pipefail + +#################### +# Helper functions # +#################### +get_ip() { + ip_res=$(ip route get 8.8.8.8) + # Format is "8.8.8.8 via ROUTE_IPADDR dev DEV src IPADDR uid NUMBER" + # Remove everything up to "src " and then everything after " " + addr=${ip_res##*src } + addr=${addr%% *} + + echo "$addr" +} + +################## +# Test functions # +################## + +test_omping_v() { + # Check that omping -V prints version + ver_res=`omping -V` + [ "$ver_res" != "${ver_res/[0-9]*\.[0-9]*\.[0-9]/}" ] + + # Check that omping exists and prints usage + res=`omping || true` + [ "$res" != "${res/usage/}" ] +} + +test_man_page() { + man -w "omping" +} + +test_local_ping() { + omping_res_file=`mktemp` + local_ip=$(get_ip) + + omping -c 5 "$local_ip" | tee "$omping_res_file" + + grep "$local_ip.*joined (S,G)" "$omping_res_file" + grep "$local_ip.*given amount of query messages was sent" "$omping_res_file" + grep "$local_ip.*unicast, xmt/rcv/%loss =.*min/avg/max/std-dev" "$omping_res_file" + grep "$local_ip.*multicast, xmt/rcv/%loss =.*min/avg/max/std-dev" "$omping_res_file" + + rm -f "$omping_res_file" +} + +######## +# main # +######## +test_omping_v +test_man_page + +test_local_ping diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..65995c8 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,10 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + tests: + - smoke + required_packages: + - iproute + - omping