Compare commits

...
Sign in to create a new pull request.

3 commits

Author SHA1 Message Date
Python Maint
aa07f62914 Rebuilt for Python 3.15.0b4 ABI change 2026-07-22 10:34:01 +02:00
Fedora Release Engineering
764a587fed Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-16 21:17:08 +00:00
Doğukan Çağatay
11c6a3ba43
Replace zeek-btest with pytest for running tests
zeek-btest was retired from Fedora due to build failures. All test files
in this package use a single `@TEST-EXEC: python3 %INPUT` directive, so
a small pytest plugin (conftest.py) that collects test files and runs
each as a subprocess is a complete replacement. Addresses #2485942

Drops the btest.cfg source file and the zeek-btest build dependency.
2026-06-06 20:41:54 +02:00
3 changed files with 41 additions and 14 deletions

View file

@ -1,9 +0,0 @@
[btest]
TestDirs = pysubnettree
TmpDir = %(testbase)s/.tmp
BaselineDir = %(testbase)s/Baseline
IgnoreDirs = .svn CVS .tmp
IgnoreFiles = *.tmp *.swp #* *.trace .DS_Store
[environment]
TMPDIR=%(testbase)s/.tmp

36
conftest.py Normal file
View file

@ -0,0 +1,36 @@
import subprocess
import sys
import pytest
def pytest_collect_file(parent, file_path):
if file_path.suffix == ".test":
return BtestFile.from_parent(parent, path=file_path)
class BtestFile(pytest.File):
def collect(self):
yield BtestItem.from_parent(self, name=self.path.stem)
class BtestItem(pytest.Item):
def runtest(self):
result = subprocess.run(
[sys.executable, str(self.parent.path)],
capture_output=True,
text=True,
)
if result.returncode != 0:
raise BtestFailure(result)
def repr_failure(self, excinfo):
exc = excinfo.value
return (exc.result.stdout + exc.result.stderr).strip()
def reportinfo(self):
return self.parent.path, None, f"btest: {self.name}"
class BtestFailure(Exception):
def __init__(self, result):
self.result = result

View file

@ -7,15 +7,15 @@ Summary: Python Module for CIDR Lookups
License: BSD-3-Clause-LBNL and BSD-4-Clause
URL: https://github.com/zeek/pysubnettree
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# btest config file for RPM build environment
Source1: btest.cfg
# pytest plugin to collect and run *.test files without btest
Source1: conftest.py
Provides: pysubnettree = %{version}-%{release}
Obsoletes: pysubnettree < 0.35-16
BuildRequires: python3-devel
BuildRequires: gcc-c++
BuildRequires: zeek-btest
BuildRequires: python3-pytest
%global _description %{expand:
@ -52,9 +52,9 @@ Summary: %{summary}
%check
%pyproject_check_import
cp %{SOURCE1} testing/conftest.py
cd testing
cp %{SOURCE1} btest.cfg
PYTHONPATH="%{buildroot}%{python3_sitearch}:$PWD/Scripts" btest -c btest.cfg -d
PYTHONPATH="%{buildroot}%{python3_sitearch}:$PWD/Scripts" pytest pysubnettree/
%files -n python3-pysubnettree -f %{pyproject_files}