gentoo-ebuilds/dev-python/sabctools/files/sabctools-8.2.6-py314testfix.patch
Joe Kappus 4d85ff822b
dev-python/sabctools: enable py3.14
Adds a patch from upstream to fix failing test on 3.14.

Signed-off-by: Joe Kappus <joe@wt.gd>
Part-of: https://github.com/gentoo/gentoo/pull/44787
Closes: https://github.com/gentoo/gentoo/pull/44787
Signed-off-by: Sam James <sam@gentoo.org>
2025-11-29 05:50:20 +00:00

46 lines
1.9 KiB
Diff

diff --git a/tests/test_decoder.py b/tests/test_decoder.py
index 9503923..d45e607 100644
--- a/tests/test_decoder.py
+++ b/tests/test_decoder.py
@@ -76,29 +76,32 @@ def test_empty():
def test_ref_counts():
"""Note that sys.getrefcount itself adds another reference!"""
+ # In Python 3.14+, getrefcount returns 1, in earlier versions it returns 2
+ expected_refcount = 1 if sys.version_info >= (3, 14) else 2
+
# Test regular case
data_plain = read_plain_yenc_file("test_regular.yenc")
data_out, filename, filesize, begin, end, crc_correct = sabctools_yenc_wrapper(data_plain)
- assert sys.getrefcount(data_plain) == 2
- assert sys.getrefcount(data_out) == 2
- assert sys.getrefcount(filename) == 2
- assert sys.getrefcount(begin) == 2
- assert sys.getrefcount(end) == 2
- assert sys.getrefcount(crc_correct) == 2
+ assert sys.getrefcount(data_plain) == expected_refcount
+ assert sys.getrefcount(data_out) == expected_refcount
+ assert sys.getrefcount(filename) == expected_refcount
+ assert sys.getrefcount(begin) == expected_refcount
+ assert sys.getrefcount(end) == expected_refcount
+ assert sys.getrefcount(crc_correct) == expected_refcount
# Test simple error case
fake_inp = memoryview(bytearray(b"1234"))
- assert sys.getrefcount(fake_inp) == 2
+ assert sys.getrefcount(fake_inp) == expected_refcount
with pytest.raises(ValueError):
sabctools.yenc_decode(fake_inp)
- assert sys.getrefcount(fake_inp) == 2
+ assert sys.getrefcount(fake_inp) == expected_refcount
# Test further processing
data_plain = read_plain_yenc_file("test_bad_crc_end.yenc")
with pytest.raises(ValueError):
sabctools_yenc_wrapper(data_plain)
- assert sys.getrefcount(data_plain) == 2
+ assert sys.getrefcount(data_plain) == expected_refcount
def test_crc_pickles():