From 32bd0c43f8189f26fc9dcc929ef13ab8aa90d3e4 Mon Sep 17 00:00:00 2001 From: Julian Smith Date: Tue, 15 Jul 2025 18:19:52 +0100 Subject: [PATCH 1/2] tests/gentle_compare.py: make pixmaps_rms() reuse rms(). --- tests/gentle_compare.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tests/gentle_compare.py b/tests/gentle_compare.py index fd962b789..b83fdd5f6 100644 --- a/tests/gentle_compare.py +++ b/tests/gentle_compare.py @@ -28,13 +28,17 @@ def gentle_compare(w0, w1): return True -def rms(a, b): +def rms(a, b, verbose=None, out_prefix=''): ''' Returns RMS diff of raw bytes of two sequences. ''' + if verbose is True: + verbose = 100000 assert len(a) == len(b) e = 0 - for aa, bb in zip(a, b): + for i, (aa, bb) in enumerate(zip(a, b)): + if verbose and (i % verbose == 0): + print(f'{out_prefix}rms(): {i=} {e=} {aa=} {aa=}.') e += (aa - bb) ** 2 rms = math.sqrt(e / len(a)) return rms @@ -58,14 +62,9 @@ def pixmaps_rms(a, b, out_prefix=''): a_mv = a.samples_mv b_mv = b.samples_mv assert len(a_mv) == len(b_mv) - e = 0 - for i, (a_byte, b_byte) in enumerate(zip(a_mv, b_mv)): - if i % 100000 == 0: - print(f'{out_prefix}compare_pixmaps(): {i=} {e=} {a_byte=} {b_byte=}.') - e += (a_byte - b_byte) ** 2 - rms = math.sqrt(e / len(a_mv)) - print(f'{out_prefix}compare_pixmaps(): {e=} {rms=}.') - return rms + ret = rms(a_mv, b_mv, verbose=True, out_prefix=out_prefix) + print(f'{out_prefix}pixmaps_rms(): {ret=}.') + return ret def pixmaps_diff(a, b, out_prefix=''): From 9ff020655bcb1a9873579c36ff53c1263809d7c2 Mon Sep 17 00:00:00 2001 From: Julian Smith Date: Tue, 15 Jul 2025 18:20:11 +0100 Subject: [PATCH 2/2] tests/test_general.py: test_2596(): update for latest mupdf master. --- tests/test_general.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_general.py b/tests/test_general.py index b443df748..e5b3c149f 100644 --- a/tests/test_general.py +++ b/tests/test_general.py @@ -609,7 +609,7 @@ def test_2596(): pix1 = page.get_pixmap() assert pix1.samples == pix0.samples rebased = hasattr(pymupdf, 'mupdf') - if rebased: + if pymupdf.mupdf_version_tuple < (1, 27): wt = pymupdf.TOOLS.mupdf_warnings() assert wt == 'too many indirections (possible indirection cycle involving 24 0 R)'