Compare commits

..

No commits in common. "rawhide" and "f37" have entirely different histories.

10 changed files with 82 additions and 126 deletions

View file

@ -1 +0,0 @@
1

1
.gitignore vendored
View file

@ -1,2 +1 @@
/pycotap-1.1.0.tar.gz
/pycotap-1.3.1.tar.gz

View file

@ -1,5 +0,0 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

View file

@ -1,106 +1,54 @@
# Created by pyp2rpm-3.3.2
%global pypi_name pycotap
Name: python-%{pypi_name}
Version: 1.3.1
Release: 10%{?dist}
Version: 1.1.0
Release: 14%{?dist}
Summary: A tiny test runner that outputs TAP results to standard output
License: MIT
URL: https://github.com/remko/pycotap
URL: https://el-tramo.be/pycotap
Source0: %{pypi_source}
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: python3dist(setuptools)
%description
pycotap is a simple Python test runner for unit tests that outputs Test Anything
Protocol results directly to standard output. Contrary to other TAP runners
Protocol results directly to standard output.Contrary to other TAP runners
for Python, pycotap prints TAP (and *only* TAP) to standard output
instead of to a separate file, allowing you to pipe it directly to TAP pretty
printers and processors.
%package -n python3-%{pypi_name}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
%description -n python3-%{pypi_name}
pycotap is a simple Python test runner for unit tests that outputs Test Anything
Protocol results directly to standard output. Contrary to other TAP runners
Protocol results directly to standard output.Contrary to other TAP runners
for Python, pycotap prints TAP (and *only* TAP) to standard output
instead of to a separate file, allowing you to pipe it directly to TAP pretty
printers and processors.
%prep
%autosetup -n %{pypi_name}-%{version}
%generate_buildrequires
%pyproject_buildrequires
# Remove bundled egg-info
rm -rf %{pypi_name}.egg-info
%build
%pyproject_wheel
%py3_build
%install
%pyproject_install
%pyproject_save_files %{pypi_name}
%py3_install
find %{buildroot}/%{python3_sitelib} -name '*.py' | xargs sed -i '/^#!/d'
%__rm -f %{buildroot}/usr/COPYING
%check
%pyproject_check_import
%files -n python3-%{pypi_name} -f %{pyproject_files}
%files -n python3-%{pypi_name}
%{python3_sitelib}/%{pypi_name}
%{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 1.3.1-10
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 1.3.1-9
- Rebuilt for Python 3.14.0rc2 bytecode
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jul 09 2025 Shlomi Fish <shlomif@shlomifish.org> 1.3.1-7
- Stop using deprecated RPM macros ( https://bugzilla.redhat.com/show_bug.cgi?id=2378026 )
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 1.3.1-6
- Rebuilt for Python 3.14
* Thu Feb 13 2025 Shlomi Fish <shlomif@shlomifish.org> 1.3.1-5
- Update URL.
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Oct 11 2024 Takao Fujiwara <tfujiwar@redhat.com> 1.3.1-3
- Rebuilt for CI
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jul 12 2024 Shlomi Fish <shlomif@shlomifish.org> 1.3.1-1
- New upstream release ( https://bugzilla.redhat.com/show_bug.cgi?id=2297455 )
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1.1.0-21
- Rebuilt for Python 3.13
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Aug 21 2023 Parag Nemade <pnemade AT fedoraproject DOT org> - 1.1.0-18
- Mark this as SPDX license expression converted
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1.1.0-16
- Rebuilt for Python 3.12
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

View file

@ -1 +1 @@
SHA512 (pycotap-1.3.1.tar.gz) = e7d50340fb4e3f55037a96aaaba419e6753d4499564339b6562317455ed223c3fd93bf41d0bd9654c03a4bea09377daa192ca985bafc96983e4a2261dde348b8
SHA512 (pycotap-1.1.0.tar.gz) = dbe8d76c3e4b934dd4ff9ec0d48caafef3ae5583046a7316607b3c8cebf8cb920c68dc46487243aac81823994805c76f2be8ff0cbda593c70b70f268661fa289

View file

@ -1,5 +0,0 @@
summary: Simple test of python-pycotap
test: ./test.sh
framework: beakerlib
require:
- python3-pycotap

View file

@ -1,37 +0,0 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import unittest
import sys
from pycotap import TAPTestRunner
from pycotap import LogMode
class SimpleTest(unittest.TestCase):
@classmethod
def function_name(cls):
sys.stdout = sys.__stdout__
return sys._getframe().f_back.f_code.co_name
@classmethod
def setUpClass(cls):
print(cls.function_name())
def setUp(self):
print(SimpleTest.function_name())
def main(self):
print(SimpleTest.function_name())
def test_foo(self):
print(SimpleTest.function_name())
def main():
loader = unittest.TestLoader()
runner = TAPTestRunner(test_output_log=LogMode.LogToError)
unittest.main(testRunner=runner, testLoader=loader)
if __name__ == '__main__':
main()

View file

@ -1,9 +0,0 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartTest
rlRun -t "./test.py"
rlPhaseEnd
rlJournalEnd

53
tests/tests.py Executable file
View file

@ -0,0 +1,53 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from __future__ import print_function
import sys
import unittest
# Need to flush the output against Gtk.main()
def printflush(sentence):
try:
print(sentence, flush=True)
except IOError:
pass
def printerr(sentence):
try:
print(sentence, flush=True, file=sys.stderr)
except IOError:
pass
from pycotap import TAPTestRunner
from pycotap import LogMode
printflush('## Load pycotap')
class AnthyTest(unittest.TestCase):
__test_index = 0
@classmethod
def setUpClass(cls):
printflush('## setUpclass done')
cls.__test_index += 1
def setUp(self):
self.__test_index += 1
printflush('## setUp done')
def test_case1(self):
if self.__test_index != 2:
with self.subTest(i = self.__test_index):
self.fail('setUp does not run: ' + error.message)
printflush('## Test done %d' % self.__test_index)
def main():
loader = unittest.TestLoader()
# Log should be in stderr instead of StringIO
runner = TAPTestRunner(test_output_log=LogMode.LogToError)
unittest.main(testRunner=runner, testLoader=loader)
if __name__ == '__main__':
main()

13
tests/tests.yml Normal file
View file

@ -0,0 +1,13 @@
- hosts: localhost
tags:
- classic
roles:
- role: standard-test-basic
#- role: standard-test-beakerlib
required_packages:
- python3-pycotap
tests:
- smoke1:
dir: .
run: ./tests.py