2022-12-20 04:11:20 +00:00
|
|
|
compare_render = executable('compare-render',
|
2023-08-16 15:46:20 +00:00
|
|
|
['compare-render.c', '../reftests/reftest-compare.c', 'replay-node.c'],
|
2017-12-25 11:56:21 +00:00
|
|
|
dependencies: libgtk_dep,
|
2020-05-18 09:44:38 +00:00
|
|
|
c_args: common_cflags,
|
2017-12-25 11:56:21 +00:00
|
|
|
)
|
|
|
|
|
2022-12-20 04:11:20 +00:00
|
|
|
node_parser = executable('node-parser', 'node-parser.c',
|
2019-03-19 04:29:20 +00:00
|
|
|
dependencies: libgtk_dep,
|
2020-05-18 09:44:38 +00:00
|
|
|
c_args: common_cflags,
|
2019-03-19 04:29:20 +00:00
|
|
|
)
|
|
|
|
|
2019-03-19 07:16:07 +00:00
|
|
|
compare_render_tests = [
|
2024-01-12 04:04:31 +00:00
|
|
|
'big-box-glyph-nocairo',
|
2023-03-19 14:05:52 +00:00
|
|
|
'big-checkerboard',
|
|
|
|
'big-checkerboard-scaled-down',
|
|
|
|
'big-checkerboard-scaled-down-nearest',
|
2023-03-20 00:25:14 +00:00
|
|
|
'big-checkerboard-scaled-down2',
|
2019-05-09 01:56:25 +00:00
|
|
|
'blend-difference',
|
2023-04-30 20:16:32 +00:00
|
|
|
'blend-modes',
|
2021-04-01 21:03:54 +00:00
|
|
|
'blend-invisible-child',
|
2023-05-01 00:28:12 +00:00
|
|
|
'blend-in-rotate',
|
2021-04-01 21:03:54 +00:00
|
|
|
'blend-normal',
|
2023-10-25 19:12:23 +00:00
|
|
|
'blurred-lines',
|
2023-12-26 03:17:21 +00:00
|
|
|
'blur-child-bounds-oversize-nogl',
|
2023-12-05 16:07:54 +00:00
|
|
|
'blur-contents-outside-of-clip',
|
2023-12-26 03:17:21 +00:00
|
|
|
'blur-huge-contents-outside-of-clip-nogl',
|
2021-09-16 00:28:56 +00:00
|
|
|
'border-bottom-right',
|
2023-04-15 20:55:24 +00:00
|
|
|
'border-one-rounded',
|
2024-01-08 08:13:39 +00:00
|
|
|
'border-opacity',
|
2024-01-25 18:34:28 +00:00
|
|
|
'border-zero-width-color',
|
2021-04-01 21:03:54 +00:00
|
|
|
'borders-rotated',
|
|
|
|
'borders-scaled',
|
2024-01-12 18:28:35 +00:00
|
|
|
'clip-contained',
|
2020-09-02 22:05:16 +00:00
|
|
|
'clip-coordinates-2d',
|
2023-12-19 17:04:18 +00:00
|
|
|
'clip-coordinates-nocairo',
|
2021-04-01 21:03:54 +00:00
|
|
|
'clip-in-rounded-clip1',
|
|
|
|
'clip-in-rounded-clip2',
|
|
|
|
'clip-in-rounded-clip3',
|
2024-02-04 20:56:15 +00:00
|
|
|
'clip-in-smaller-rounded-clip',
|
2023-12-29 21:08:44 +00:00
|
|
|
'clip-intersection-fail-opacity-nogl',
|
2023-05-21 03:40:26 +00:00
|
|
|
'clipped-repeat',
|
2019-03-19 07:16:07 +00:00
|
|
|
'clipped_rounded_clip',
|
2021-04-01 21:03:54 +00:00
|
|
|
'clip-nested1',
|
2023-05-10 19:56:53 +00:00
|
|
|
'clip-translate-offscreen',
|
2019-05-09 01:56:25 +00:00
|
|
|
'color-blur0',
|
2019-05-28 03:51:20 +00:00
|
|
|
'color-matrix-identity',
|
2023-08-17 09:44:34 +00:00
|
|
|
'color-matrix-merge',
|
2022-05-18 19:16:33 +00:00
|
|
|
'color-matrix-parsing',
|
2023-12-27 00:43:03 +00:00
|
|
|
'conic-gradient-with-64-colorstops',
|
2024-01-22 17:21:47 +00:00
|
|
|
'container-single-child-offscreen-for-opacity',
|
2023-05-10 20:14:26 +00:00
|
|
|
'crossfade-clip-both-children',
|
2023-12-26 03:17:21 +00:00
|
|
|
'cross-fade-clipped-with-huge-children-nogl',
|
2019-04-24 10:48:59 +00:00
|
|
|
'cross-fade-in-opacity',
|
2023-05-01 00:20:12 +00:00
|
|
|
'cross-fade-in-rotate',
|
2021-04-01 21:00:31 +00:00
|
|
|
'css-background',
|
2019-05-20 01:32:30 +00:00
|
|
|
'empty-blend',
|
|
|
|
'empty-blur',
|
|
|
|
'empty-border',
|
2019-05-25 22:50:13 +00:00
|
|
|
'empty-cairo',
|
2019-05-20 01:32:30 +00:00
|
|
|
'empty-clip',
|
|
|
|
'empty-color',
|
|
|
|
'empty-color-matrix',
|
|
|
|
'empty-container',
|
|
|
|
'empty-cross-fade',
|
|
|
|
'empty-debug',
|
|
|
|
'empty-inset-shadow',
|
2023-05-01 20:00:24 +00:00
|
|
|
'empty-linear-gradient',
|
2023-02-15 00:04:34 +00:00
|
|
|
'empty-mask',
|
2019-05-20 01:32:30 +00:00
|
|
|
'empty-opacity',
|
|
|
|
'empty-outset-shadow',
|
|
|
|
'empty-repeat',
|
|
|
|
'empty-rounded-clip',
|
|
|
|
'empty-shadow',
|
|
|
|
'empty-texture',
|
|
|
|
'empty-transform',
|
2023-08-07 11:09:42 +00:00
|
|
|
'fill',
|
2023-12-29 06:13:49 +00:00
|
|
|
'fill-clipped-nogl',
|
2024-01-09 16:16:05 +00:00
|
|
|
'fill-fractional-translate-gradient-nogl',
|
|
|
|
'fill-fractional-translate-nogl',
|
2023-12-27 17:18:12 +00:00
|
|
|
'fill-opacity',
|
2024-01-08 07:25:34 +00:00
|
|
|
'fill-scaled-up',
|
2023-12-27 16:00:13 +00:00
|
|
|
'fill-with-3d-contents-nogl-nocairo',
|
2024-01-14 04:11:01 +00:00
|
|
|
'glyph-cache-overflow',
|
2024-01-22 06:43:31 +00:00
|
|
|
'glyph-cache-overflow-slices',
|
2022-02-25 02:40:57 +00:00
|
|
|
'huge-height',
|
|
|
|
'huge-width',
|
2021-04-01 21:03:54 +00:00
|
|
|
'inset-shadow-multiple',
|
2020-12-24 05:32:17 +00:00
|
|
|
'invalid-transform',
|
2021-04-01 21:03:54 +00:00
|
|
|
'issue-3615',
|
2023-12-25 18:20:48 +00:00
|
|
|
'linear-gradient-3d-nocairo',
|
2023-12-26 03:17:21 +00:00
|
|
|
'linear-gradient-nonorthogonal-scale-nogl',
|
2023-05-17 21:16:34 +00:00
|
|
|
'linear-gradient-with-64-colorstops',
|
2023-02-12 03:20:24 +00:00
|
|
|
'mask',
|
2023-07-03 18:51:51 +00:00
|
|
|
'mask-clipped-inverted-alpha',
|
2023-02-15 01:26:17 +00:00
|
|
|
'mask-modes',
|
2023-12-23 22:53:04 +00:00
|
|
|
'mask-modes-in-opacity',
|
2023-07-03 18:45:53 +00:00
|
|
|
'mask-modes-with-alpha',
|
2023-10-06 17:52:53 +00:00
|
|
|
'mask-texture-color-alpha',
|
2024-01-04 00:35:23 +00:00
|
|
|
'mipmap-generation-later',
|
2021-04-01 21:03:54 +00:00
|
|
|
'nested-rounded-clips',
|
2024-01-09 22:27:07 +00:00
|
|
|
'offscreen-fractional-translate-nogl',
|
2023-12-30 05:05:19 +00:00
|
|
|
'offscreen-pixel-alignment-nogl-nocairo',
|
2024-02-11 18:58:05 +00:00
|
|
|
'offscreen-pixel-alignment2',
|
2019-03-19 07:16:07 +00:00
|
|
|
'opacity_clip',
|
2023-12-01 11:13:30 +00:00
|
|
|
'opacity-colormatrix-combinations',
|
2021-09-15 05:37:57 +00:00
|
|
|
'opacity-overdraw',
|
2021-04-01 21:03:54 +00:00
|
|
|
'opacity-overlapping-children',
|
2019-03-19 07:16:07 +00:00
|
|
|
'outset_shadow_offset_both',
|
|
|
|
'outset_shadow_offset_x',
|
|
|
|
'outset_shadow_offset_y',
|
|
|
|
'outset_shadow_rounded_top',
|
2024-02-09 01:51:15 +00:00
|
|
|
'outset-shadow-scale-offset',
|
2019-03-19 07:16:07 +00:00
|
|
|
'outset_shadow_simple',
|
2023-12-27 03:28:04 +00:00
|
|
|
'radial-gradient-with-64-colorstops',
|
2019-08-10 12:47:02 +00:00
|
|
|
'repeat',
|
2023-09-07 14:02:09 +00:00
|
|
|
'repeating-linear-gradient-edge-colors',
|
|
|
|
'repeating-radial-gradient-edge-colors',
|
2023-12-23 13:17:35 +00:00
|
|
|
'repeat-child-bounds',
|
2023-05-09 22:08:24 +00:00
|
|
|
'repeat-empty-child-bounds',
|
2023-12-23 19:44:50 +00:00
|
|
|
'repeat-huge-overdraw',
|
2019-11-26 07:41:23 +00:00
|
|
|
'repeat-negative-coords',
|
2023-12-23 13:17:35 +00:00
|
|
|
'repeat-no-repeat',
|
2024-01-23 04:40:30 +00:00
|
|
|
'repeat-node-tiling-horizontal',
|
|
|
|
'repeat-node-tiling-vertical',
|
2024-02-11 19:02:52 +00:00
|
|
|
'repeat-noninteger-nogl-nocairo',
|
2023-12-23 17:08:21 +00:00
|
|
|
'repeat-repeats',
|
2023-12-26 03:17:21 +00:00
|
|
|
'repeat-repeats-nested-nogl',
|
2023-06-06 02:13:45 +00:00
|
|
|
'repeat-scaling',
|
2021-04-01 21:03:54 +00:00
|
|
|
'repeat-texture',
|
2023-06-08 10:52:33 +00:00
|
|
|
'repeating-gradient-scaled',
|
2023-12-28 06:04:04 +00:00
|
|
|
'rounded-clip-with-huge-bounds-nogl',
|
2023-02-13 00:44:18 +00:00
|
|
|
'scale-textures-negative-ngl',
|
|
|
|
'scale-up-down',
|
|
|
|
'scaled-cairo',
|
2023-02-11 18:43:05 +00:00
|
|
|
'scaled-texture',
|
2023-10-29 19:45:22 +00:00
|
|
|
'scaled-texture-scale',
|
2024-02-13 23:18:43 +00:00
|
|
|
'scaled-texture-scale-clip-nocairo',
|
2024-01-27 15:30:38 +00:00
|
|
|
'scale0-crash',
|
2023-09-07 21:02:37 +00:00
|
|
|
'shadow-behind',
|
2023-09-18 05:48:10 +00:00
|
|
|
'shadow-clip-contents',
|
2024-02-13 12:11:43 +00:00
|
|
|
'shadow-huge-offset',
|
2023-02-13 00:44:18 +00:00
|
|
|
'shadow-in-opacity',
|
2024-02-13 20:25:24 +00:00
|
|
|
'shadow-offset-clip',
|
2023-12-25 18:27:03 +00:00
|
|
|
'shadow-offset-to-outside-clip',
|
2023-09-07 20:57:57 +00:00
|
|
|
'shadow-opacity',
|
2023-09-11 03:17:56 +00:00
|
|
|
'shrink-rounded-border',
|
2023-08-07 11:09:42 +00:00
|
|
|
'stroke',
|
2023-12-29 06:13:49 +00:00
|
|
|
'stroke-clipped-nogl',
|
2024-01-09 16:16:05 +00:00
|
|
|
'stroke-fractional-translate-gradient-nogl',
|
|
|
|
'stroke-fractional-translate-nogl',
|
2023-12-27 21:29:36 +00:00
|
|
|
'stroke-opacity',
|
|
|
|
'stroke-with-3d-contents-nogl-nocairo',
|
2024-01-22 11:02:28 +00:00
|
|
|
'subpixel-positioning',
|
2024-01-23 05:41:25 +00:00
|
|
|
'subpixel-positioning-hidpi-nogl-nocairo',
|
2024-01-21 14:29:57 +00:00
|
|
|
'text-color-mix',
|
2024-01-13 22:45:34 +00:00
|
|
|
'text-glyph-lsb',
|
gsk: Add a compare test for mixed color runs
This tests the fixes in aa82190da659b5 and dcaa2c4ccb182c74cb40.
The test uses a custom font named 'text-mixed-color' which contains
six glyphs that are just boxes. Glyphs 1, 2, 3 are just plain glyphs,
and glyphs 4, 5, 6 are color glyphs in red, green and blue.
The glyphs are mapped to the characters A, B, C, D, E, F.
The test is currently disabled for cairo, since it has some issues
with transformed color glyphs.
2024-01-10 12:56:52 +00:00
|
|
|
'text-mixed-color-nocairo',
|
2024-01-10 23:09:08 +00:00
|
|
|
'text-mixed-color-colrv1',
|
2023-11-01 04:44:54 +00:00
|
|
|
'texture-coords',
|
2023-12-19 17:04:18 +00:00
|
|
|
'texture-scale-filters-nocairo',
|
2023-02-13 00:44:18 +00:00
|
|
|
'texture-scale-magnify-10000x',
|
2023-03-13 17:20:02 +00:00
|
|
|
'texture-scale-magnify-rotate',
|
2023-10-29 18:02:09 +00:00
|
|
|
'texture-scale-nearest-vs-linear',
|
2023-10-27 18:45:12 +00:00
|
|
|
'texture-scale-offset',
|
2023-03-04 01:50:38 +00:00
|
|
|
'texture-scale-stripes',
|
2023-02-13 00:44:18 +00:00
|
|
|
'texture-url',
|
2023-12-26 03:17:21 +00:00
|
|
|
'transform-huge-child-nogl',
|
|
|
|
'transform-huge-child-3d-nocairo-nogl',
|
2023-02-13 00:44:18 +00:00
|
|
|
'transform-in-transform',
|
|
|
|
'transform-in-transform-in-transform',
|
2023-12-19 17:04:18 +00:00
|
|
|
'z-transform-clipping-bounds-nocairo',
|
2019-07-28 13:35:37 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
# these are too sensitive to differences in the renderers
|
|
|
|
# to run in ci, but still useful to keep around
|
|
|
|
informative_render_tests = [
|
|
|
|
'big-glyph',
|
|
|
|
'empty-text',
|
|
|
|
'huge-glyph',
|
2023-12-19 17:04:18 +00:00
|
|
|
'rounded-clip-in-clip-nocairo', # both cairo and gl fail this one
|
2019-03-19 07:16:07 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
renderers = [
|
2022-12-14 17:31:50 +00:00
|
|
|
{ 'name': 'gl' },
|
2023-12-19 17:04:18 +00:00
|
|
|
{ 'name': 'broadway' },
|
|
|
|
{ 'name': 'cairo' },
|
2023-05-07 11:41:03 +00:00
|
|
|
{ 'name': 'ngl' },
|
|
|
|
{ 'name': 'vulkan' },
|
2022-12-14 17:31:50 +00:00
|
|
|
]
|
|
|
|
|
2023-05-01 20:00:24 +00:00
|
|
|
compare_xfails_small_texture = [
|
|
|
|
'big-checkerboard',
|
2023-05-04 19:36:57 +00:00
|
|
|
'big-checkerboard-scaled-down',
|
2023-12-26 03:17:21 +00:00
|
|
|
'big-checkerboard-scaled-down2',
|
|
|
|
'repeat-repeats', # only fails when rotated
|
2023-05-01 20:00:24 +00:00
|
|
|
]
|
|
|
|
|
2024-02-11 14:27:24 +00:00
|
|
|
variants = {
|
|
|
|
'plain': '--plain',
|
|
|
|
'flipped': '--flip',
|
|
|
|
'rotated': '--rotate',
|
|
|
|
'repeated': '--repeat',
|
|
|
|
'masked': '--mask',
|
|
|
|
'replayed': '--replay',
|
|
|
|
'clipped': '--clip',
|
|
|
|
}
|
|
|
|
|
2024-02-11 14:38:12 +00:00
|
|
|
compare_xfails = {
|
2024-02-14 03:47:18 +00:00
|
|
|
'ngl': {
|
|
|
|
'repeat-scaling': ['clipped'], # 6429
|
2024-02-12 03:38:26 +00:00
|
|
|
'radial-gradient-with-64-colorstops': ['clipped'],
|
2024-02-11 14:38:12 +00:00
|
|
|
},
|
2024-02-14 03:47:18 +00:00
|
|
|
'vulkan': {
|
2024-02-14 18:32:37 +00:00
|
|
|
'big-checkerboard': ['clipped'], # 6444
|
2024-02-11 14:38:12 +00:00
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2019-03-19 07:16:07 +00:00
|
|
|
foreach renderer : renderers
|
2024-02-11 14:27:24 +00:00
|
|
|
renderer_name = renderer.get('name')
|
2024-02-11 14:38:12 +00:00
|
|
|
renderer_xfails = compare_xfails.get(renderer_name, { })
|
2022-12-14 17:31:50 +00:00
|
|
|
|
2024-02-11 14:27:24 +00:00
|
|
|
foreach testname : compare_render_tests
|
2024-02-11 14:38:12 +00:00
|
|
|
test_xfails = renderer_xfails.get(testname, [])
|
2023-12-19 17:04:18 +00:00
|
|
|
exclude_term = '-no' + renderer_name
|
2022-12-14 17:31:50 +00:00
|
|
|
|
|
|
|
suites = [
|
|
|
|
'gsk',
|
|
|
|
'gsk-compare',
|
|
|
|
'gsk-' + renderer_name,
|
|
|
|
'gsk-compare-' + renderer_name,
|
|
|
|
]
|
|
|
|
|
2023-05-01 20:00:24 +00:00
|
|
|
if compare_xfails_small_texture.contains(testname)
|
2023-11-18 14:30:56 +00:00
|
|
|
suites += 'wayland_gles2_failing'
|
2023-05-01 20:00:24 +00:00
|
|
|
endif
|
|
|
|
|
2023-08-16 15:46:20 +00:00
|
|
|
test_env = [
|
|
|
|
'GSK_RENDERER=' + renderer_name,
|
|
|
|
'GTK_A11Y=test',
|
|
|
|
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
|
2024-01-10 12:56:11 +00:00
|
|
|
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
|
2024-01-11 03:15:14 +00:00
|
|
|
'TEST_FONT_DIR=@0@/fonts'.format(meson.current_source_dir())
|
2023-08-16 15:46:20 +00:00
|
|
|
]
|
|
|
|
|
2023-12-19 17:04:18 +00:00
|
|
|
if ((not testname.contains(exclude_term)) and
|
2023-05-07 11:41:03 +00:00
|
|
|
(renderer_name != 'broadway' or broadway_enabled) and
|
|
|
|
(renderer_name != 'vulkan' or have_vulkan))
|
2024-02-11 14:27:24 +00:00
|
|
|
|
|
|
|
foreach variant : variants.keys()
|
2024-02-11 14:38:12 +00:00
|
|
|
extra_suites = [ 'gsk-compare-' + variant + '-' + renderer_name ]
|
2024-02-11 16:57:55 +00:00
|
|
|
if test_xfails.contains(variant) or (renderer_name == 'cairo' and variant == 'clipped')
|
2024-02-11 14:38:12 +00:00
|
|
|
extra_suites += ['failing']
|
|
|
|
endif
|
2024-02-11 14:27:24 +00:00
|
|
|
test('compare ' + renderer_name + ' ' + testname + ' ' + variant, compare_render,
|
|
|
|
args: [
|
|
|
|
variants.get(variant),
|
|
|
|
'--output', join_paths(meson.current_build_dir(), 'compare', renderer_name),
|
|
|
|
join_paths(meson.current_source_dir(), 'compare', testname + '.node'),
|
|
|
|
join_paths(meson.current_source_dir(), 'compare', testname + '.png'),
|
|
|
|
],
|
|
|
|
env: test_env,
|
2024-02-11 14:38:12 +00:00
|
|
|
suite: suites + extra_suites
|
2024-02-11 14:27:24 +00:00
|
|
|
)
|
|
|
|
endforeach
|
2019-03-21 05:47:36 +00:00
|
|
|
endif
|
2019-03-19 07:16:07 +00:00
|
|
|
endforeach
|
|
|
|
endforeach
|
|
|
|
|
2019-03-19 04:29:20 +00:00
|
|
|
node_parser_tests = [
|
2019-05-20 01:38:45 +00:00
|
|
|
'blend.node',
|
2023-02-13 07:39:54 +00:00
|
|
|
'blend-unknown-mode.errors',
|
|
|
|
'blend-unknown-mode.node',
|
|
|
|
'blend-unknown-mode.ref.node',
|
2019-05-20 01:38:45 +00:00
|
|
|
'border.node',
|
|
|
|
'color.node',
|
2022-07-15 13:42:45 +00:00
|
|
|
'conic-gradient.node',
|
|
|
|
'conic-gradient.ref.node',
|
2019-05-14 01:20:09 +00:00
|
|
|
'crash1.errors',
|
|
|
|
'crash1.node',
|
|
|
|
'crash1.ref.node',
|
|
|
|
'crash2.errors',
|
|
|
|
'crash2.node',
|
|
|
|
'crash2.ref.node',
|
|
|
|
'crash3.node',
|
|
|
|
'crash3.ref.node',
|
|
|
|
'crash4.errors',
|
|
|
|
'crash4.node',
|
|
|
|
'crash4.ref.node',
|
2019-05-20 01:38:45 +00:00
|
|
|
'debug.node',
|
2022-07-15 13:42:45 +00:00
|
|
|
'debug-fail.node',
|
|
|
|
'debug-fail.ref.node',
|
|
|
|
'debug-fail.errors',
|
2019-05-19 19:34:13 +00:00
|
|
|
'empty-blend.node',
|
|
|
|
'empty-blend.ref.node',
|
|
|
|
'empty-blur.node',
|
|
|
|
'empty-blur.ref.node',
|
|
|
|
'empty-border.node',
|
|
|
|
'empty-border.ref.node',
|
2019-05-25 22:50:13 +00:00
|
|
|
'empty-cairo.node',
|
|
|
|
'empty-cairo.ref.node',
|
2019-05-19 19:34:13 +00:00
|
|
|
'empty-clip.node',
|
|
|
|
'empty-clip.ref.node',
|
|
|
|
'empty-color.node',
|
|
|
|
'empty-color.ref.node',
|
|
|
|
'empty-color-matrix.node',
|
|
|
|
'empty-color-matrix.ref.node',
|
|
|
|
'empty-container.node',
|
|
|
|
'empty-container.ref.node',
|
|
|
|
'empty-cross-fade.node',
|
|
|
|
'empty-cross-fade.ref.node',
|
|
|
|
'empty-debug.node',
|
|
|
|
'empty-debug.ref.node',
|
2023-08-07 04:03:17 +00:00
|
|
|
'empty-fill.node',
|
|
|
|
'empty-fill.ref.node',
|
2019-05-19 19:34:13 +00:00
|
|
|
'empty-inset-shadow.node',
|
|
|
|
'empty-inset-shadow.ref.node',
|
|
|
|
'empty-linear-gradient.node',
|
|
|
|
'empty-linear-gradient.ref.node',
|
2023-02-15 00:04:34 +00:00
|
|
|
'empty-mask.node',
|
|
|
|
'empty-mask.ref.node',
|
2019-05-19 19:34:13 +00:00
|
|
|
'empty-opacity.node',
|
|
|
|
'empty-opacity.ref.node',
|
|
|
|
'empty-outset-shadow.node',
|
|
|
|
'empty-outset-shadow.ref.node',
|
|
|
|
'empty-repeat.node',
|
|
|
|
'empty-repeat.ref.node',
|
|
|
|
'empty-rounded-clip.node',
|
|
|
|
'empty-rounded-clip.ref.node',
|
|
|
|
'empty-shadow.node',
|
|
|
|
'empty-shadow.ref.node',
|
2023-08-07 04:03:17 +00:00
|
|
|
'empty-stroke.node',
|
|
|
|
'empty-stroke.ref.node',
|
2019-05-19 19:34:13 +00:00
|
|
|
'empty-text.node',
|
|
|
|
'empty-text.ref.node',
|
|
|
|
'empty-texture.node',
|
|
|
|
'empty-texture.ref.node',
|
2023-02-13 06:59:15 +00:00
|
|
|
'empty-texture-scale.node',
|
|
|
|
'empty-texture-scale.ref.node',
|
2019-05-19 19:34:13 +00:00
|
|
|
'empty-transform.node',
|
|
|
|
'empty-transform.ref.node',
|
2023-08-07 04:03:17 +00:00
|
|
|
'fill.node',
|
|
|
|
'fill.ref.node',
|
2023-08-26 03:10:04 +00:00
|
|
|
'fill2.node',
|
|
|
|
'fill2.ref.node',
|
2022-07-15 13:42:45 +00:00
|
|
|
'glshader.node',
|
|
|
|
'glshader.ref.node',
|
|
|
|
'glshader.errors',
|
|
|
|
'gradient-fail.node',
|
|
|
|
'gradient-fail.ref.node',
|
|
|
|
'gradient-fail.errors',
|
2023-02-15 01:28:02 +00:00
|
|
|
'mask-modes.node',
|
|
|
|
'mask-modes.ref.node',
|
2023-03-28 22:12:59 +00:00
|
|
|
'node-names.node',
|
|
|
|
'node-names-everywhere.errors',
|
|
|
|
'node-names-everywhere.node',
|
|
|
|
'node-names-everywhere.ref.node',
|
2022-07-15 13:42:45 +00:00
|
|
|
'radial-gradient.node',
|
|
|
|
'radial-gradient.ref.node',
|
|
|
|
'repeating-linear-gradient.node',
|
|
|
|
'repeating-linear-gradient.ref.node',
|
|
|
|
'repeating-radial-gradient.node',
|
|
|
|
'repeating-radial-gradient.ref.node',
|
2019-05-20 01:38:45 +00:00
|
|
|
'rounded-rect.node',
|
|
|
|
'shadow.node',
|
2022-07-15 13:42:45 +00:00
|
|
|
'shadow-fail.node',
|
|
|
|
'shadow-fail.ref.node',
|
|
|
|
'shadow-fail.errors',
|
2023-03-28 19:09:01 +00:00
|
|
|
'string-error.errors',
|
|
|
|
'string-error.node',
|
|
|
|
'string-error.ref.node',
|
2023-08-07 04:03:17 +00:00
|
|
|
'stroke.node',
|
|
|
|
'stroke.ref.node',
|
2019-05-20 01:38:45 +00:00
|
|
|
'testswitch.node',
|
2023-09-13 17:33:07 +00:00
|
|
|
'text-color.node',
|
2022-07-15 13:42:45 +00:00
|
|
|
'text-fail.node',
|
|
|
|
'text-fail.ref.node',
|
|
|
|
'text-fail.errors',
|
2024-01-15 04:17:58 +00:00
|
|
|
'text-font-blob.node',
|
|
|
|
'text-font-blob.ref.node',
|
2024-01-15 16:38:49 +00:00
|
|
|
'text-font-errors.node',
|
|
|
|
'text-font-errors.ref.node',
|
|
|
|
'text-font-errors.errors',
|
2023-09-13 17:29:27 +00:00
|
|
|
'text-no-color.node',
|
2022-07-15 13:42:45 +00:00
|
|
|
'texture-fail.node',
|
|
|
|
'texture-fail.ref.node',
|
2024-01-15 16:38:49 +00:00
|
|
|
'texture-fail.errors',
|
2023-03-28 22:12:59 +00:00
|
|
|
'texture-names.node',
|
2023-03-13 17:20:02 +00:00
|
|
|
'texture-scale-filters.node',
|
|
|
|
'texture-scale-filters.ref.node',
|
2023-02-13 07:39:54 +00:00
|
|
|
'texture-scale-unknown-filter.errors',
|
|
|
|
'texture-scale-unknown-filter.node',
|
|
|
|
'texture-scale-unknown-filter.ref.node',
|
2022-07-15 13:42:45 +00:00
|
|
|
'transform-fail.node',
|
|
|
|
'transform-fail.ref.node',
|
|
|
|
'transform-fail.errors',
|
2023-12-28 16:21:30 +00:00
|
|
|
# this fails in f40 since libpng changes the pngs while reencoding
|
|
|
|
#'widgetfactory.node',
|
2019-03-19 04:29:20 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
foreach test : node_parser_tests
|
2019-05-14 01:20:09 +00:00
|
|
|
if test.endswith('.node') and not test.endswith('.ref.node')
|
|
|
|
test('parser ' + test, node_parser,
|
2020-12-15 12:31:38 +00:00
|
|
|
args: [
|
|
|
|
join_paths(meson.current_source_dir(), 'nodeparser', test)
|
|
|
|
],
|
|
|
|
env: [
|
|
|
|
'GSK_RENDERER=opengl',
|
|
|
|
'GTK_A11Y=test',
|
|
|
|
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
|
|
|
|
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir())
|
|
|
|
],
|
2023-11-10 20:34:30 +00:00
|
|
|
protocol: 'exitcode',
|
2020-12-15 12:31:38 +00:00
|
|
|
suite: 'gsk',
|
|
|
|
)
|
2019-05-14 01:20:09 +00:00
|
|
|
endif
|
2019-03-19 04:29:20 +00:00
|
|
|
endforeach
|
2019-06-03 16:10:09 +00:00
|
|
|
|
2023-11-10 20:34:30 +00:00
|
|
|
# offload does not work outside of linux
|
|
|
|
if os_linux
|
|
|
|
offload = executable('offload', 'offload.c', 'gskrendernodeattach.c',
|
|
|
|
dependencies : libgtk_static_dep,
|
|
|
|
c_args: common_cflags,
|
|
|
|
)
|
|
|
|
|
|
|
|
offload_tests = [
|
|
|
|
'simple.node',
|
|
|
|
'transforms.node',
|
|
|
|
'deep.node',
|
|
|
|
'move.node',
|
|
|
|
'start_offloading.node',
|
|
|
|
'stop_offloading.node',
|
2024-01-31 02:48:26 +00:00
|
|
|
'source.node',
|
|
|
|
'nested.node',
|
2023-11-10 20:34:30 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
foreach test : offload_tests
|
|
|
|
if test.endswith('.node') and not test.endswith('.out')
|
2024-01-07 11:07:27 +00:00
|
|
|
test('offload ' + test, offload,
|
2023-11-10 20:34:30 +00:00
|
|
|
args: [
|
|
|
|
join_paths(meson.current_source_dir(), 'offload', test)
|
|
|
|
],
|
|
|
|
env: [
|
|
|
|
'GSK_RENDERER=opengl',
|
|
|
|
'GTK_A11Y=test',
|
|
|
|
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
|
|
|
|
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir())
|
|
|
|
],
|
|
|
|
protocol: 'exitcode',
|
2024-02-07 17:37:57 +00:00
|
|
|
suite: ['gsk', 'offload'],
|
2023-11-10 20:34:30 +00:00
|
|
|
)
|
|
|
|
endif
|
|
|
|
endforeach
|
|
|
|
endif
|
|
|
|
|
2019-06-03 16:10:09 +00:00
|
|
|
tests = [
|
2024-02-14 01:02:47 +00:00
|
|
|
[ 'normalize', [ 'normalize.c', '../reftests/reftest-compare.c' ] ],
|
2023-12-08 23:39:54 +00:00
|
|
|
[ 'transform' ],
|
|
|
|
[ 'shader' ],
|
|
|
|
[ 'path', [ 'path-utils.c' ] ],
|
|
|
|
[ 'path-special-cases' ],
|
|
|
|
[ 'scaling' ],
|
2019-06-03 16:10:09 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
test_cargs = []
|
|
|
|
|
|
|
|
foreach t : tests
|
|
|
|
test_name = t.get(0)
|
|
|
|
test_srcs = ['@0@.c'.format(test_name)] + t.get(1, [])
|
|
|
|
test_extra_cargs = t.get(2, [])
|
|
|
|
test_extra_ldflags = t.get(3, [])
|
|
|
|
|
|
|
|
test_exe = executable(test_name, test_srcs,
|
2022-12-20 04:11:20 +00:00
|
|
|
dependencies : libgtk_dep,
|
2020-03-06 17:11:46 +00:00
|
|
|
c_args : test_cargs + test_extra_cargs + common_cflags,
|
2019-06-03 16:10:09 +00:00
|
|
|
link_args : test_extra_ldflags,
|
2020-12-15 12:31:38 +00:00
|
|
|
)
|
2019-06-03 16:10:09 +00:00
|
|
|
|
|
|
|
test(test_name, test_exe,
|
2020-12-15 12:31:38 +00:00
|
|
|
args: [ '--tap', '-k' ],
|
|
|
|
protocol: 'tap',
|
|
|
|
env: [
|
|
|
|
'GSK_RENDERER=cairo',
|
|
|
|
'GTK_A11Y=test',
|
|
|
|
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
|
|
|
|
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir())
|
|
|
|
],
|
|
|
|
suite: 'gsk',
|
|
|
|
)
|
2019-06-03 16:10:09 +00:00
|
|
|
endforeach
|
2021-03-28 14:21:18 +00:00
|
|
|
|
|
|
|
internal_tests = [
|
2023-12-08 23:36:42 +00:00
|
|
|
[ 'boundingbox'],
|
2023-07-08 15:31:29 +00:00
|
|
|
[ 'curve' ],
|
|
|
|
[ 'curve-special-cases' ],
|
2021-07-13 13:02:16 +00:00
|
|
|
[ 'diff' ],
|
|
|
|
[ 'half-float' ],
|
2023-12-08 23:36:42 +00:00
|
|
|
[ 'misc'],
|
|
|
|
[ 'path-private' ],
|
|
|
|
[ 'rounded-rect'],
|
2021-03-28 14:21:18 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
foreach t : internal_tests
|
|
|
|
test_name = t.get(0)
|
|
|
|
test_srcs = ['@0@.c'.format(test_name)] + t.get(1, [])
|
|
|
|
test_extra_cargs = t.get(2, [])
|
|
|
|
test_extra_ldflags = t.get(3, [])
|
|
|
|
|
2022-12-20 04:11:20 +00:00
|
|
|
test_exe = executable(test_name,
|
|
|
|
sources: test_srcs,
|
|
|
|
dependencies : libgtk_static_dep,
|
2023-05-09 18:01:21 +00:00
|
|
|
c_args : test_cargs + test_extra_cargs + common_cflags + ['-DGTK_COMPILATION'],
|
2021-03-28 14:21:18 +00:00
|
|
|
link_args : test_extra_ldflags,
|
|
|
|
)
|
|
|
|
|
|
|
|
test(test_name, test_exe,
|
|
|
|
args: [ '--tap', '-k' ],
|
|
|
|
protocol: 'tap',
|
|
|
|
env: [
|
|
|
|
'GSK_RENDERER=cairo',
|
|
|
|
'GTK_A11Y=test',
|
|
|
|
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
|
|
|
|
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir())
|
|
|
|
],
|
|
|
|
suite: 'gsk',
|
|
|
|
)
|
|
|
|
endforeach
|
|
|
|
|
|
|
|
|