From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id ECycE1flEV9gbgAA0tVLHw (envelope-from ) for ; Fri, 17 Jul 2020 17:52:23 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id NWluD1flEV+MZwAAB5/wlQ (envelope-from ) for ; Fri, 17 Jul 2020 17:52:23 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 548AF940414 for ; Fri, 17 Jul 2020 17:52:22 +0000 (UTC) Received: from localhost ([::1]:43794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jwUWy-0007ne-2c for larch@yhetil.org; Fri, 17 Jul 2020 13:52:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58528) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jwUWg-0007nU-CV for bug-guix@gnu.org; Fri, 17 Jul 2020 13:52:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46483) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jwUWg-0004QI-2Z for bug-guix@gnu.org; Fri, 17 Jul 2020 13:52:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jwUWg-0001Mz-1m for bug-guix@gnu.org; Fri, 17 Jul 2020 13:52:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#42409: weasyprint fails to build Resent-From: Michael Rohleder Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 17 Jul 2020 17:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 42409 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 42409@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15950082895225 (code B ref -1); Fri, 17 Jul 2020 17:52:01 +0000 Received: (at submit) by debbugs.gnu.org; 17 Jul 2020 17:51:29 +0000 Received: from localhost ([127.0.0.1]:58029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jwUW9-0001MD-B8 for submit@debbugs.gnu.org; Fri, 17 Jul 2020 13:51:29 -0400 Received: from lists.gnu.org ([209.51.188.17]:58490) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jwUW6-0001M3-7e for submit@debbugs.gnu.org; Fri, 17 Jul 2020 13:51:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58374) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jwUW5-0007No-Tj for bug-guix@gnu.org; Fri, 17 Jul 2020 13:51:25 -0400 Received: from wp224.webpack.hosteurope.de ([2a01:488:42:1000:50ed:84e7::]:36286) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jwUW3-0004I1-CJ for bug-guix@gnu.org; Fri, 17 Jul 2020 13:51:25 -0400 Received: from www.rohleder.de ([37.61.204.227]); authenticated by wp224.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) id 1jwUVy-0002ik-Bk; Fri, 17 Jul 2020 19:51:18 +0200 Received: from [192.168.1.3] (helo=micha) by www.rohleder.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1jwUVx-0005zb-8x for bug-guix@gnu.org; Fri, 17 Jul 2020 19:51:17 +0200 From: Michael Rohleder X-PGP-Fingerprint: 755E 2DE5 D0D5 85C5 2E78 2830 7C7A FFBE FEF2 CB25 X-PGP-Key: https://www.rohleder.de/~mike/pgpkey.asc Date: Fri, 17 Jul 2020 19:51:08 +0200 Message-ID: <87o8oem3n7.fsf@rohleder.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-bounce-key: webpack.hosteurope.de;mike@rohleder.de;1595008280;24fc885d; X-HE-SMSGID: 1jwUVy-0002ik-Bk Received-SPF: permerror client-ip=2a01:488:42:1000:50ed:84e7::; envelope-from=mike@rohleder.de; helo=wp224.webpack.hosteurope.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/17 13:51:18 X-ACL-Warn: Detected OS = ??? X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001, WEIRD_PORT=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -3.11 X-TUID: FJlHSbAsx0gM --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable weasyprint fails in tests: ... =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D FAILURES =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D __________________________________ test_acid2 _____________________________= _____ @assert_no_logs @requires('cairo', (1, 12, 0)) def test_acid2(): def render(filename): return HTML(resource_filename(filename)).render(enable_hinting= =3DTrue) =20=20=20=20 with capture_logs(): # This is a copy of http://www.webstandards.org/files/acid2/tes= t.html document =3D render('acid2-test.html') intro_page, test_page =3D document.pages # Ignore the intro page: it is not in the reference test_image, width, height =3D document.copy( [test_page]).write_image_surface() =20=20=20=20 # This is a copy of http://www.webstandards.org/files/acid2/referen= ce.html ref_image, ref_width, ref_height =3D render( 'acid2-reference.html').write_image_surface() =20=20=20=20 assert (width, height) =3D=3D (ref_width, ref_height) > assert_pixels_equal( 'acid2', width, height, image_to_pixels(test_image, width, heig= ht), image_to_pixels(ref_image, width, height), tolerance=3D2) weasyprint/tests/test_acid2.py:37:=20 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _= _ _=20 name =3D 'acid2', width =3D 794, height =3D 1123 raw =3D b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\= x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...00\x00\x00\x00\x00\x0= 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x= 00\x00\x00\x00\x00\x00' expected_raw =3D b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...00\x00\x00\x= 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\= x00\x00\x00\x00\x00\x00\x00\x00' tolerance =3D 2 def assert_pixels_equal(name, width, height, raw, expected_raw, toleran= ce=3D0): """Take 2 matrices of pixels and assert that they are the same.""" if raw !=3D expected_raw: # pragma: no cover for i, (value, expected) in enumerate(zip(raw, expected_raw)): if abs(value - expected) > tolerance: write_png(name, raw, width, height) write_png(name + '.expected', expected_raw, width, height) pixel_n =3D i // 4 x =3D pixel_n // width y =3D pixel_n % width i % 4 pixel =3D tuple(list(raw[i:i + 4])) expected_pixel =3D tuple(list( expected_raw[i:i + 4])) > assert 0, ( 'Pixel (%i, %i) in %s: expected rgba%s, got rgba%s' % (x, y, name, expected_pixel, pixel)) E AssertionError: Pixel (124, 160) in acid2: expected rgb= a(191, 127, 127, 255), got rgba(128, 0, 0, 255) weasyprint/tests/test_draw/__init__.py:163: AssertionError =2D----------------------------- Captured log call ------------------------= ------- INFO weasyprint.progress:__init__.py:106 Step 1 - Fetching and parsing = HTML - /tmp/guix-build-weasyprint-51.drv-0/WeasyPrint-51/weasyprint/tests/r= esources/acid2-test.html INFO weasyprint.progress:__init__.py:315 Step 2 - Fetching and parsing = CSS - CSS string WARNING weasyprint:__init__.py:825 Invalid or unsupported selector '[class= =3Dsecond two] ', (, 'expected ], got ident') WARNING weasyprint:__init__.py:86 Ignored `error: \}` at 90:74, unknown pr= operty. WARNING weasyprint:__init__.py:86 Ignored `m rgin: 2em` at 93:14, unknown property. WARNING weasyprint:__init__.py:825 Invalid or unsupported selector '; .parser ', (, 'expected a compound selector, got literal= ') WARNING weasyprint:__init__.py:86 Ignored `width: 200` at 95:14, invalid v= alue. WARNING weasyprint:__init__.py:86 Ignored `border: 5em solid red ! error` = at 96:14, invalid value. WARNING weasyprint:__init__.py:86 Ignored `background: red pink` at 97:14,= invalid value. INFO weasyprint.progress:__init__.py:315 Step 2 - Fetching and parsing = CSS - data:text/css,.picture%20%7B%20background%3A%20none%3B%20%7D INFO weasyprint.progress:__init__.py:67 Step 3 - Applying CSS INFO weasyprint.progress:document.py:371 Step 4 - Creating formatting s= tructure ERROR weasyprint:images.py:231 Failed to load image at "file:///tmp/guix= -build-weasyprint-51.drv-0/WeasyPrint-51/weasyprint/tests/resources/404" (U= RLError: ) ERROR weasyprint:images.py:231 Failed to load image at "data:application= /x-unknown,ERROR" (Pixbuf error: Unrecognized image file format) INFO weasyprint.progress:pages.py:798 Step 5 - Creating layout - Page 1 INFO weasyprint.progress:pages.py:798 Step 5 - Creating layout - Page 2 INFO weasyprint.progress:document.py:751 Step 6 - Drawing INFO weasyprint.progress:__init__.py:106 Step 1 - Fetching and parsing = HTML - /tmp/guix-build-weasyprint-51.drv-0/WeasyPrint-51/weasyprint/tests/r= esources/acid2-reference.html INFO weasyprint.progress:__init__.py:315 Step 2 - Fetching and parsing = CSS - CSS string INFO weasyprint.progress:__init__.py:67 Step 3 - Applying CSS INFO weasyprint.progress:document.py:371 Step 4 - Creating formatting s= tructure INFO weasyprint.progress:pages.py:798 Step 5 - Creating layout - Page 1 INFO weasyprint.progress:document.py:751 Step 6 - Drawing ______________________________ test_line_content __________________________= _____ @assert_no_logs def test_line_content(): for width, remaining in [(100, 'text for test'), (45, 'is a text for test')]: text =3D 'This is a text for test' _, length, resume_at, _, _, _ =3D make_text( text, width, font_family=3DSANS_FONTS.split(','), font_size= =3D19) > assert text[resume_at:] =3D=3D remaining E AssertionError: assert 'a text for test' =3D=3D 'text for test' E - a text for test E ? -- E + text for test ../../../WeasyPrint-51/weasyprint/tests/test_text.py:37: AssertionError ______________________________ test_line_breaking _________________________= _____ @assert_no_logs def test_line_breaking(): string =3D 'Th=C3=AFs is a text for test' =20=20=20=20 # These two tests do not really rely on installed fonts _, _, resume_at, _, _, _ =3D make_text(string, 90, font_size=3D1) assert resume_at is None =20=20=20=20 _, _, resume_at, _, _, _ =3D make_text(string, 90, font_size=3D100) assert string.encode('utf-8')[resume_at:].decode('utf-8') =3D=3D ( 'is a text for test') =20=20=20=20 _, _, resume_at, _, _, _ =3D make_text( string, 100, font_family=3DSANS_FONTS.split(','), font_size=3D1= 9) > assert string.encode('utf-8')[resume_at:].decode('utf-8') =3D=3D ( 'text for test') E AssertionError: assert 'a text for test' =3D=3D 'text for test' E - a text for test E ? -- E + text for test ../../../WeasyPrint-51/weasyprint/tests/test_text.py:62: AssertionError ... =3D 41 failed, 1132 passed, 1 deselected, 7 xfailed, 1 warning in 84.56s (0= :01:24) =3D command "pytest" "-k" "not test_flex_column_wrap_reverse" failed with statu= s 1 builder for `/gnu/store/5c9h7c9pnrbpmk1015vrckrwsf5hd5xr-weasyprint-51.drv'= failed with exit code 1 =2D-=20 "We all know Linux is great...it does infinite loops in 5 seconds." (Linus Torvalds about the superiority of Linux on the Amterdam Linux Symposium) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEdV4t5dDVhcUueCgwfHr/vv7yyyUFAl8R5QwACgkQfHr/vv7y yyVkHQgAwFFW/9aAWH6FFp64ZHSR0yTZN0EgE8YM4pYlQ46nFk3BjxBIAAGYALhY Dk0qvb7+VLOQuyx8db4lzJ0Ge2teoGIj8q/QN/NOrAVVbErYqgPqRJ2FoMOHd8NN Px4wGth9nMbVIVbOxsi/J05+gje6zhBgWuGmJJNYM4ig6TpIc+xFRNKjiZpP7hte gMDIjCAmeEkG4lDwPLl/N2KpIPQcgZaRgeFZGPzEhOZW2dbaReyV4aX46e3bLZcs tPpD5VYZhUbb3jbYBPmJEYSdoFBOqCxV5ftM2LwXljpB3iaAV3LqCKevERTF/h9F odGbneSXm2XVTBKqaW6gVie/o/ZV/w== =AGtn -----END PGP SIGNATURE----- --=-=-=--