summaryrefslogtreecommitdiff
path: root/.gitlab-ci
Commit message (Collapse)AuthorAgeFilesLines
* [quartz] Cleanup and make better use of cairo_quartz_image_surface_t.John Ralls2023-02-142-2/+0
| | | | | | | | | Use a CGBitmapContext mapping the underlying image surface's data instead of maintaining a CGImage. Generalize the quartz surface snapshot mechanism to work with both cairo_quartz_surface_t and cairo_quartz_image_surface_t and to use the latter to get a CGContext around non-quartz surfaces. Use this snapshot machanism to get a CGImageRef when needed from a cairo_quartz_image_surface_t.
* Remove the test ignore that was unintentionaly committed in !380Adrian Johnson2023-01-032-4/+0
|
* Fix user-font with foreground in group failures on image, PDF, and PSAdrian Johnson2023-01-034-0/+6
|
* Merge branch 'round-join' into 'master'Uli Schlachter2022-12-292-4/+0
|\ | | | | | | | | Remove `round-join-bug-520*` CI exceptions for Quartz backend See merge request cairo/cairo!377
| * Removed `round-join-bug-520*` CI exceptions for Quartz backendChristian Rohlfs2022-12-282-4/+0
| | | | | | | | | | Removed lines from `.gitlab-ci/ignore-quartz*`; Added `round-join-bug-520-bevel.quartz.ref.png` file.
* | ps: Fix crash in self-copy-overlapUli Schlachter2022-12-282-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | According to valgrind, there is a use-after-free here. The function _cairo_ps_surface_emit_surface() temporarily replaces some member of a struct and then later re-sets it. However, there is an early return possible that would skip that part of the code. This commit moves the re-set up so that no freed pointers are left behind. This seems to fix the crash. Signed-off-by: Uli Schlachter <psychon@znc.in>
* | Test cairo-ps in CIUli Schlachter2022-12-284-0/+829
|/ | | | | | | This adds the necessary dependencies for testing cairo-ps to CI and sets up jobs for testing the ps2 and ps3 backends. Signed-off-by: Uli Schlachter <psychon@znc.in>
* test: Add new `round-join-bug-520` testsChristian Rohlfs2022-12-282-0/+4
| | | | https://gitlab.freedesktop.org/cairo/cairo/-/issues/520
* Change expected fails and reference image so that Quartz CI passes.John Ralls2022-11-171-1/+0
|
* Merge branch 'fix-rgb24-tests' into 'master'Uli Schlachter2022-05-292-2/+0
|\ | | | | | | | | Fix clip-unbounded and alpha-similar in CI See merge request cairo/cairo!301
| * Add an rgb24 ref image for alpha similarUli Schlachter2022-03-132-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit copies the current alpha-similar.image.rgb24.out.png to alpha-similar.rgb24.ref.png to make the test pass. This failure goes back to commits 6647511 / 049060 which changed the image comparison in the test suite. Previously, transparent "nothing" and black compared equal, but said commits fixed that. Thus, having a special reference image with black instead of transparency is the right fix. Signed-off-by: Uli Schlachter <psychon@znc.in>
* | Merge branch 'fix-clip-unbounded' into 'master'Uli Schlachter2022-05-2914-14/+0
|\ \ | |/ | | | | | | Add missing ref image for clip-unbounded See merge request cairo/cairo!261
| * Add missing ref image for clip-unboundedUli Schlachter2021-10-1914-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit copies clip-unbounded.base.rgb24.ref.png to clip-unbounded.rgb24.ref.png. This makes the test pass for rgb24 targets. This failure goes back to commits 6647511 / 049060 which changed the image comparison in the test suite. Previously, transparent "nothing" and black compared equal, but said commits fixed that. Thus, having a special reference image with black instead of transparency is the right fix. Signed-off-by: Uli Schlachter <psychon@znc.in>
* | Update huge-linear and huge-radial pdf ref imagesAdrian Johnson2022-05-282-0/+4
| | | | | | | | pdf output is correct but the poppler rendering is incorrect
* | Update ref imagesAdrian Johnson2022-03-051-1/+0
| |
* | [quartz] Remove cached image_surface on quartz surfaces.John Ralls2022-02-241-1/+0
|/ | | | | Caching doesn't really do anything and removing it provides a 50% speedup and gets pdf-operators-text to pass on argb32.
* test: explicitly handle image formats in buffer_diff_coreManuel Stoeckl2021-08-2919-573/+572
| | | | | | | | | | | | | | In practice, the A and B images may be any mixture of RGB24 and ARGB32 formats, so this change accepts all combinations of these types, and converts the pixel values to a common (ARGB32) format as needed. Some of the newly added test failures are cases where the image output is RGB24, but the matching reference image is ARGB32 with noticeable transparency. Some of the newly passing tests are cases where the unused 'alpha' channel of an RGB24 image was not equal to 0xff, and the previous code had incorrectly used this channel in max_diff calculations.
* pdiff: convert RGB24 image values to ARGB32 on readManuel Stoeckl2021-08-2913-12/+48
| | | | | | | | | | | | To avoid reading a potentially garbage alpha channel when users of pdiff_compare pass in RGB24 images, if the format is RGB24, force the alpha channel to be 0xff. This commit also updates CI to adjust for the new tests that have started/stopped failing. New failures often are cases where the reference image has alpha transparency, but the test output does not; new passing tests may indicate that the unused alpha channel of an RGB24 image was garbage, but now is ignored.
* ci: sort lists of ignored testsManuel Stoeckl2021-08-2924-527/+527
|
* Switch to line-separated test failure listsUli Schlachter2021-06-0324-24/+2119
| | | | | | | | | | | | | Having comma separated lists of test names that we expect to fail leads to really unreadable and useless diffs. Thus, this commit changes these lists to be separated by newlines. This change was generated with: ( cd .gitlab-ci ; for x in * ; do tr ',' '\n' < $x > .$x ; mv .$x $x ; done ) The code in .gitlab-ci.yml is changed to use tr again to transfer these lists back so that everything still works. Signed-off-by: Uli Schlachter <psychon@znc.in>
* Rename a fileUli Schlachter2021-06-031-0/+0
| | | | | | | | | | Because shell variables cannot contain &, this character was replaced with an underscore in the shell variable. However, we can have this character just fine in the file name. Thus, this commits renames a file to actually include the proper name of the boilerplate target, which is xcb-window&. Signed-off-by: Uli Schlachter <psychon@znc.in>
* Move test failure lists into separate filesUli Schlachter2021-06-0324-0/+24
Before this commit, .gitlab-ci.yml is way too large, because it contains the list with all the expected test failure. This commit moves those lists to extra files. The files were generated with a shell one-liner: grep CAIRO_TEST_IGNORE .gitlab-ci.yml | while read line ; do backend=$(echo $line | cut -f 3 -d ' ' | cut -f1 -d= | sed -e 's/CAIRO_TEST_IGNORE_//;s/_/-/g') ; content=$(echo $line | cut -f2- -d=) ; echo $backend ; echo $content > .gitlab-ci/ignore-${backend}.txt ; done The changes to .gitlab-ci.yml were also generated with some shell scripting that generates a sed argument: grep CAIRO_TEST_IGNORE .gitlab-ci.yml | while read line ; do backend=$(echo $line | cut -f 3 -d ' ' | cut -f1 -d= ) ; file=$(echo $backend | sed -e 's/CAIRO_TEST_IGNORE_//;s/_/-/g') ; printf "/$backend/s#=.*#=\$(cat .gitlab-ci/ignore-${file}.txt)#;"; done ; echo The above can then be applied via (but of course adding ' around it and I also left out the final ;): sed -i -e [the output of the above] .gitlab-ci.yml Just for completeness, [the output of the above] is: /CAIRO_TEST_IGNORE_pdf_argb32/s#=.*#=$(cat .gitlab-ci/ignore-pdf-argb32.txt)#;/CAIRO_TEST_IGNORE_pdf_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-pdf-rgb24.txt)#;/CAIRO_TEST_IGNORE_script_argb32/s#=.*#=$(cat .gitlab-ci/ignore-script-argb32.txt)#;/CAIRO_TEST_IGNORE_image_argb32/s#=.*#=$(cat .gitlab-ci/ignore-image-argb32.txt)#;/CAIRO_TEST_IGNORE_image_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-image-rgb24.txt)#;/CAIRO_TEST_IGNORE_image16_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-image16-rgb24.txt)#;/CAIRO_TEST_IGNORE_recording_argb32/s#=.*#=$(cat .gitlab-ci/ignore-recording-argb32.txt)#;/CAIRO_TEST_IGNORE_recording_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-recording-rgb24.txt)#;/CAIRO_TEST_IGNORE_svg11_argb32/s#=.*#=$(cat .gitlab-ci/ignore-svg11-argb32.txt)#;/CAIRO_TEST_IGNORE_svg11_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-svg11-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_argb32/s#=.*#=$(cat .gitlab-ci/ignore-xcb-argb32.txt)#;/CAIRO_TEST_IGNORE_xcb_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xcb-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_window_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xcb-window-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_window__rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xcb-window--rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_render_0_0_argb32/s#=.*#=$(cat .gitlab-ci/ignore-xcb-render-0-0-argb32.txt)#;/CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_fallback_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xcb-fallback-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_argb32/s#=.*#=$(cat .gitlab-ci/ignore-xlib-argb32.txt)#;/CAIRO_TEST_IGNORE_xlib_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xlib-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_window_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xlib-window-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_render_0_0_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_fallback_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-xlib-fallback-rgb24.txt)#;/CAIRO_TEST_IGNORE_quartz_argb32/s#=.*#=$(cat .gitlab-ci/ignore-quartz-argb32.txt)#;/CAIRO_TEST_IGNORE_quartz_rgb24/s#=.*#=$(cat .gitlab-ci/ignore-quartz-rgb24.txt)#; (All line breaks are only added for readability and are not part of the one-liners) Signed-off-by: Uli Schlachter <psychon@znc.in>