From 807241feafdd04c2b90c92c86dc4e00bc06a3d33 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 19 Mar 2022 17:36:03 +0100 Subject: [PATCH 1/3] tests: test passing a font family to ToyFontFace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new backend in cairo 1.17.6 has problems with this, but we never tested this directly on the Python level. Śee https://gitlab.freedesktop.org/cairo/cairo/-/issues/544 --- tests/test_font.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test_font.py b/tests/test_font.py index c4dfa80f..5d3e27aa 100644 --- a/tests/test_font.py +++ b/tests/test_font.py @@ -204,6 +204,10 @@ def test_toy_font_face(): def test_toy_font_get_family(): font_face = cairo.ToyFontFace("") assert isinstance(font_face.get_family(), str) + font_face = cairo.ToyFontFace("serif") + assert isinstance(font_face.get_family(), str) + font_face = cairo.ToyFontFace("sans-serif") + assert isinstance(font_face.get_family(), str) def test_toy_font_get_slant(): From 678edd94d8a6dfb5d51f9c3549e6ee8c90a73744 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 19 Mar 2022 17:37:32 +0100 Subject: [PATCH 2/3] tests: allow a different default document unit for SVGSurface It was changed upstream, despite being documented. See https://gitlab.freedesktop.org/cairo/cairo/-/issues/545 --- tests/test_surface.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/test_surface.py b/tests/test_surface.py index 20f1bd4a..503bc50e 100644 --- a/tests/test_surface.py +++ b/tests/test_surface.py @@ -267,7 +267,10 @@ def test_svg_version_to_string(): reason="too old cairo") def test_svg_surface_get_document_unit(): with cairo.SVGSurface(None, 10, 10) as surface: - assert surface.get_document_unit() == cairo.SVGUnit.PT + # https://gitlab.freedesktop.org/cairo/cairo/-/issues/545 + assert surface.get_document_unit() in [cairo.SVGUnit.PT, cairo.SVGUnit.USER] + + with cairo.SVGSurface(None, 10, 10) as surface: surface.set_document_unit(cairo.SVGUnit.PX) assert surface.get_document_unit() == cairo.SVGUnit.PX with pytest.raises(cairo.Error): From 843e3db002e8d114362e6714babfffc400dbe4c0 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 19 Mar 2022 18:10:53 +0100 Subject: [PATCH 3/3] CI: add a special hypothesis settings profile for CI Increase the deadline and run more tests --- tests/test_hypothesis.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/test_hypothesis.py b/tests/test_hypothesis.py index 80ebb5bc..c76bc319 100644 --- a/tests/test_hypothesis.py +++ b/tests/test_hypothesis.py @@ -17,6 +17,16 @@ from .hypothesis_fspaths import fspaths +if "CI" in os.environ: + # CI can be slow, so be patient + # Also we can run more tests there + settings.register_profile( + "ci", + deadline=settings.default.deadline * 5, + max_examples=settings.default.max_examples * 5) + settings.load_profile("ci") + + @pytest.fixture(scope='module') def tempdir_path(): dir_ = tempfile.mkdtemp() @@ -44,7 +54,6 @@ def cairo_ver(): platform.python_implementation() == "PyPy" and sys.pypy_version_info < (7, 3, 0), reason="PyPy bugs") @given(path=fspaths()) -@settings(max_examples=500) def test_fspaths(tempdir_path, path): p = _to_temp_path(tempdir_path, path)