weasyprint fails to build

OpenSubmitted by Michael Rohleder.
Details
One participant
  • Michael Rohleder
Owner
unassigned
Severity
normal
M
M
Michael Rohleder wrote on 17 Jul 19:51 +0200
(address . bug-guix@gnu.org)
87o8oem3n7.fsf@rohleder.de
weasyprint fails in tests:
...=================================== FAILURES ===================================__________________________________ test_acid2 __________________________________
@assert_no_logs @requires('cairo', (1, 12, 0)) def test_acid2(): def render(filename): return HTML(resource_filename(filename)).render(enable_hinting=True) with capture_logs(): # This is a copy of http://www.webstandards.org/files/acid2/test.html document = render('acid2-test.html') intro_page, test_page = document.pages # Ignore the intro page: it is not in the reference test_image, width, height = document.copy( [test_page]).write_image_surface() # This is a copy of http://www.webstandards.org/files/acid2/reference.html ref_image, ref_width, ref_height = render( 'acid2-reference.html').write_image_surface() assert (width, height) == (ref_width, ref_height)
Toggle quote (1 lines)> assert_pixels_equal(
'acid2', width, height, image_to_pixels(test_image, width, height), image_to_pixels(ref_image, width, height), tolerance=2)
weasyprint/tests/test_acid2.py:37: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
name = 'acid2', width = 794, height = 1123raw = 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\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'expected_raw = 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\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 = 2
def assert_pixels_equal(name, width, height, raw, expected_raw, tolerance=0): """Take 2 matrices of pixels and assert that they are the same.""" if raw != 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 = i // 4 x = pixel_n // width y = pixel_n % width i % 4 pixel = tuple(list(raw[i:i + 4])) expected_pixel = tuple(list( expected_raw[i:i + 4]))
Toggle quote (1 lines)> 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 rgba(191, 127, 127, 255), got rgba(128, 0, 0, 255)
weasyprint/tests/test_draw/__init__.py:163: AssertionError------------------------------ 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/resources/acid2-test.htmlINFO weasyprint.progress:__init__.py:315 Step 2 - Fetching and parsing CSS - CSS stringWARNING weasyprint:__init__.py:825 Invalid or unsupported selector '[class=second two] ', (<IdentToken two>, 'expected ], got ident')WARNING weasyprint:__init__.py:86 Ignored `error: \}` at 90:74, unknown property.WARNING weasyprint:__init__.py:86 Ignored `mrgin: 2em` at 93:14, unknown property.WARNING weasyprint:__init__.py:825 Invalid or unsupported selector '; .parser ', (<LiteralToken ;>, 'expected a compound selector, got literal')WARNING weasyprint:__init__.py:86 Ignored `width: 200` at 95:14, invalid value.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%7DINFO weasyprint.progress:__init__.py:67 Step 3 - Applying CSSINFO weasyprint.progress:document.py:371 Step 4 - Creating formatting structureERROR weasyprint:images.py:231 Failed to load image at "file:///tmp/guix-build-weasyprint-51.drv-0/WeasyPrint-51/weasyprint/tests/resources/404" (URLError: <urlopen error [Errno 2] No such file or directory: '/tmp/guix-build-weasyprint-51.drv-0/WeasyPrint-51/weasyprint/tests/resources/404'>)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 1INFO weasyprint.progress:pages.py:798 Step 5 - Creating layout - Page 2INFO weasyprint.progress:document.py:751 Step 6 - DrawingINFO weasyprint.progress:__init__.py:106 Step 1 - Fetching and parsing HTML - /tmp/guix-build-weasyprint-51.drv-0/WeasyPrint-51/weasyprint/tests/resources/acid2-reference.htmlINFO weasyprint.progress:__init__.py:315 Step 2 - Fetching and parsing CSS - CSS stringINFO weasyprint.progress:__init__.py:67 Step 3 - Applying CSSINFO weasyprint.progress:document.py:371 Step 4 - Creating formatting structureINFO weasyprint.progress:pages.py:798 Step 5 - Creating layout - Page 1INFO 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 = 'This is a text for test' _, length, resume_at, _, _, _ = make_text( text, width, font_family=SANS_FONTS.split(','), font_size=19)
Toggle quote (1 lines)> assert text[resume_at:] == remaining
E AssertionError: assert 'a text for test' == 'text for test'E - a text for testE ? --E + text for test
../../../WeasyPrint-51/weasyprint/tests/test_text.py:37: AssertionError______________________________ test_line_breaking ______________________________
@assert_no_logs def test_line_breaking(): string = 'Thïs is a text for test' # These two tests do not really rely on installed fonts _, _, resume_at, _, _, _ = make_text(string, 90, font_size=1) assert resume_at is None _, _, resume_at, _, _, _ = make_text(string, 90, font_size=100) assert string.encode('utf-8')[resume_at:].decode('utf-8') == ( 'is a text for test') _, _, resume_at, _, _, _ = make_text( string, 100, font_family=SANS_FONTS.split(','), font_size=19)
Toggle quote (1 lines)> assert string.encode('utf-8')[resume_at:].decode('utf-8') == (
'text for test')E AssertionError: assert 'a text for test' == 'text for test'E - a text for testE ? --E + text for test
../../../WeasyPrint-51/weasyprint/tests/test_text.py:62: AssertionError
...
= 41 failed, 1132 passed, 1 deselected, 7 xfailed, 1 warning in 84.56s (0:01:24) =command "pytest" "-k" "not test_flex_column_wrap_reverse" failed with status 1builder for `/gnu/store/5c9h7c9pnrbpmk1015vrckrwsf5hd5xr-weasyprint-51.drv' failed with exit code 1

-- "We all know Linux is great...it does infinite loops in 5 seconds."(Linus Torvalds about the superiority of Linux on the AmterdamLinux Symposium)
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEdV4t5dDVhcUueCgwfHr/vv7yyyUFAl8R5QwACgkQfHr/vv7yyyVkHQgAwFFW/9aAWH6FFp64ZHSR0yTZN0EgE8YM4pYlQ46nFk3BjxBIAAGYALhYDk0qvb7+VLOQuyx8db4lzJ0Ge2teoGIj8q/QN/NOrAVVbErYqgPqRJ2FoMOHd8NNPx4wGth9nMbVIVbOxsi/J05+gje6zhBgWuGmJJNYM4ig6TpIc+xFRNKjiZpP7htegMDIjCAmeEkG4lDwPLl/N2KpIPQcgZaRgeFZGPzEhOZW2dbaReyV4aX46e3bLZcstPpD5VYZhUbb3jbYBPmJEYSdoFBOqCxV5ftM2LwXljpB3iaAV3LqCKevERTF/h9FodGbneSXm2XVTBKqaW6gVie/o/ZV/w===AGtn-----END PGP SIGNATURE-----
?