1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
|
test_env = environment()
test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
test_env.set('REFTEST_MODULE_DIR', meson.current_build_dir())
test_env.set('GTK_IM_MODULE', 'gtk-im-context-simple')
test_env.set('GSETTINGS_BACKEND', 'memory')
test_env.set('G_ENABLE_DIAGNOSTIC', '0')
gtk_reftest_cargs = ['-DGDK_DISABLE_DEPRECATED', '-DGTK_DISABLE_DEPRECATED']
# FIXME: $(no_undefined) ?
libgtkreftestprivate = static_library('gtkreftestprivate',
'reftest-compare.c', 'reftest-module.c', 'reftest-snapshot.c',
c_args : gtk_reftest_cargs,
dependencies : libgtk_dep)
libreftest = static_library('gtkreftest',
'expand-expander.c',
'frame-inhibitor.c',
'image-recording-surface.c',
'letter-spacing.c',
'set-default-direction.c',
'statusbar-remove-all.c',
'textview-border-windows.c',
'textview-tags.c',
'animation-direction.c',
c_args : gtk_reftest_cargs,
dependencies : libgtk_dep)
tcdata = configuration_data()
tcdata.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir')))
#built_tests = ['reftests', 'reftests-dark', 'reftests-hc', 'reftests-hci']
#foreach t : built_tests
# configure_file(input : '@0@.test.in'.format(t),
# output : '@0@.test'.format(t),
# configuration : tcdata)
#endforeach
# FIXME: schemas from gtk+ dir?
# $(top_srcdir)/gtk/org.gtk.Settings.ColorChooser.gschema.xml
# $(top_srcdir)/gtk/org.gtk.Settings.FileChooser.gschema.xml
# gnome.compile_schemas()
gtk_reftest = executable('gtk-reftest', 'gtk-reftest.c',
c_args : gtk_reftest_cargs,
link_with : [libgtkreftestprivate, libreftest],
dependencies : libgtk_dep)
test('gtk-reftest', gtk_reftest, env : test_env)
# Installed data (TODO)
testdata = [
'721800-0px-dotted-border.css',
'721800-0px-dotted-border.ref.ui',
'721800-0px-dotted-border.ui',
'actionbar.css',
'actionbar.ref.ui',
'actionbar.ui',
'animation-direction.css',
'animation-direction.ref.ui',
'animation-direction.ui',
'animation-fill-mode-iteration-count.css',
'animation-fill-mode-iteration-count.ref.ui',
'animation-fill-mode-iteration-count.ui',
'background-area.css',
'background-area.ref.ui',
'background-area.ui',
'background-blend-mode-clip-interaction.css',
'background-blend-mode-clip-interaction.ref.ui',
'background-blend-mode-clip-interaction.ui',
'background-color-transparent.css',
'background-color-transparent.ref.ui',
'background-color-transparent.ui',
'background-image-multiple.css',
'background-image-multiple.ref.ui',
'background-image-multiple.ui',
'background-origin.css',
'background-origin.ref.ui',
'background-origin.ui',
'background-positioning-area-empty.ref.ui',
'background-positioning-area-empty.ui',
'background-position.css',
'background-position.ref.ui',
'background-position.ui',
'background-position-repeat.css',
'background-position-repeat.ref.ui',
'background-position-repeat.ui',
'background-position-repeat-bg.png',
'background-position-simple.css',
'background-position-simple.ref.ui',
'background-position-simple.ui',
'background-size.css',
'background-size.ref.ui',
'background-size.ui',
'background-size-keywords.css',
'background-size-keywords.ref.ui',
'background-size-keywords.ui',
'background-size-zero.css',
'background-size-zero.ref.ui',
'background-size-zero.ui',
'background-window-transparent.css',
'background-window-transparent.ref.ui',
'background-window-transparent.ui',
'bad-color-names.css',
'bad-color-names.ref.ui',
'bad-color-names.ui',
'reference-background-origin.png',
'border-color-default.css',
'border-color-default.ref.ui',
'border-color-default.ui',
'border-corner-zero-width-rendering.css',
'border-corner-zero-width-rendering.ref.ui',
'border-corner-zero-width-rendering.ui',
'border-half-pixel.css',
'border-half-pixel.ref.ui',
'border-half-pixel.ui',
'border-image-ball-green.png',
'border-image-ball-red.png',
'border-image-ball-yellow.png',
'border-image-balls.png',
'border-image-3-balls-green.png',
'border-image-3-balls-green-squished.png',
'border-image-3-balls-yellow.png',
'border-image-3-balls-yellow-squished.png',
'border-image-excess-size.css',
'border-image-excess-size.ref.ui',
'border-image-excess-size.ui',
'border-image-gradient.css',
'border-image-gradient.ref.ui',
'border-image-gradient.ui',
'border-image-url-scaled.css',
'border-image-url-scaled.ref.ui',
'border-image-url-scaled.ui',
'border-image-url.css',
'border-image-url.ref.ui',
'border-image-url.ui',
'border-radius-clamp.css',
'border-radius-clamp.ref.ui',
'border-radius-clamp.ui',
'border-rgb.png',
'border-rgb@2.png',
'border-style-none.css',
'border-style-none.ref.ui',
'border-style-none.ui',
'border-style.css',
'border-style.ref.ui',
'border-style.ui',
'box-child-expand.ref.ui',
'box-child-expand.ui',
'box-order.css',
'box-order.ref.ui',
'box-order.ui',
'box-packing.css',
'box-packing.ref.ui',
'box-packing.ui',
'box-pseudo-classes.css',
'box-pseudo-classes.ref.ui',
'box-pseudo-classes.ui',
'box-shadow-changes-modify-clip.css',
'box-shadow-changes-modify-clip.ref.ui',
'box-shadow-changes-modify-clip.ui',
'box-shadow-spec-inset.css',
'box-shadow-spec-inset.ref.ui',
'box-shadow-spec-inset.ui',
'box-shadow-spread.css',
'box-shadow-spread.ref.ui',
'box-shadow-spread.ui',
'box-shadow-with-blend-mode.css',
'box-shadow-with-blend-mode.ref.ui',
'box-shadow-with-blend-mode.ui',
'button-wrapping.ui',
'button-wrapping.ref.ui',
'color-transition.css',
'color-transition.ref.ui',
'color-transition.ui',
'css-em-label-size.css',
'css-em-label-size.ui',
'css-em-label-size.ref.ui',
'css-currentcolor-alpha.css',
'css-currentcolor-alpha.ui',
'css-currentcolor-alpha.ref.ui',
'css-image-aspect-ratio.css',
'css-image-aspect-ratio.ui',
'css-image-aspect-ratio.ref.ui',
'css-image-color-aspect-ratio.css',
'css-image-color-aspect-ratio.ui',
'css-image-color-aspect-ratio.ref.ui',
'css-match-class.css',
'css-match-class.ref.ui',
'css-match-class.ui',
'css-match-descendant-later.css',
'css-match-descendant-later.ref.ui',
'css-match-descendant-later.ui',
'css-match-exact.css',
'css-match-exact.ref.ui',
'css-match-exact.ui',
'css-match-import.css',
'css-match-import-import.css',
'css-match-import.ui',
'css-match-import.ref.ui',
'css-match-inherit.css',
'css-match-inherit.ref.ui',
'css-match-inherit.ui',
'css-match-inherit-different-state.css',
'css-match-inherit-different-state.ref.ui',
'css-match-inherit-different-state.ui',
'css-match-name.css',
'css-match-name.ref.ui',
'css-match-name.ui',
'css-match-siblings.css',
'css-match-siblings.ref.ui',
'css-match-siblings.ui',
'css-match-type.css',
'css-match-type.ref.ui',
'css-match-type.ui',
'css-multi-state.css',
'css-multi-state.ref.ui',
'css-multi-state.ui',
'fixed-widget-stacking.ref.ui',
'fixed-widget-stacking.ui',
'flipping-icons.ref.ui',
'flipping-icons.ui',
'font-sizes-names.css',
'font-sizes-names.ref.ui',
'font-sizes-names.ui',
'gtk-image-effect-inherit.css',
'gtk-image-effect-inherit.ref.ui',
'gtk-image-effect-inherit.ui',
'green-20x20.png',
'grid-empty-with-spacing.ref.ui',
'grid-empty-with-spacing.ui',
'grid-expand.css',
'grid-expand.ref.ui',
'grid-expand.ui',
'grid-wfh.ui',
'grid-wfh.ref.ui',
'grid-homogeneous.css',
'grid-homogeneous.ref.ui',
'grid-homogeneous.ui',
'grid-spacing1.ref.ui',
'grid-spacing1.ui',
'grid-spacing2.ref.ui',
'grid-spacing2.ui',
'grid-spacing3.css',
'grid-spacing3.ref.ui',
'grid-spacing3.ui',
'gtk-icontheme-sizing.css',
'gtk-icontheme-sizing.ref.ui',
'gtk-icontheme-sizing.ui',
'icon-effect-missing.css',
'icon-effect-missing.ref.ui',
'icon-effect-missing.ui',
'icon-shadow-no-transform.css',
'icon-shadow-no-transform.ref.ui',
'icon-shadow-no-transform.ui',
'icon-style-basics.css',
'icon-style-basics.ref.ui',
'icon-style-basics.ui',
'icon-vfuncs.css',
'icon-vfuncs.ref.ui',
'icon-vfuncs.ui',
'iconview-empty.css',
'iconview-empty.ui',
'iconview-empty.ref.ui',
'image-icon-name-use-fallback.ui',
'image-icon-name-use-fallback.ref.ui',
'image-icon-shadow-clipping.css',
'image-icon-shadow-clipping.ref.ui',
'image-icon-shadow-clipping.ui',
'image-load-from-file.css',
'image-load-from-file.ref.ui',
'image-load-from-file.ui',
'image-recording-surface.ref.ui',
'image-recording-surface.ui',
'info-bar-message-types.css',
'info-bar-message-types.ref.ui',
'info-bar-message-types.ui',
'inherit-and-initial.css',
'inherit-and-initial.ref.ui',
'inherit-and-initial.ui',
'label-attribute-preference.css',
'label-attribute-preference.ref.ui',
'label-attribute-preference.ui',
'label-background.css',
'label-background.ref.ui',
'label-background.ui',
'label-box-shadow-clip.css',
'label-box-shadow-clip.ref.ui',
'label-box-shadow-clip.ui',
'label-clipping.css',
'label-clipping.ref.ui',
'label-clipping.ui',
'label-ellipsize-small.ref.ui',
'label-ellipsize-small.ui',
'label-ellipsize-with-big.ref.ui',
'label-ellipsize-with-big.ui',
'label-shadows.css',
'label-shadows.ref.ui',
'label-shadows.ui',
'label-sizing.css',
'label-sizing.ref.ui',
'label-sizing.ui',
'label-small-ellipsized.ref.ui',
'label-small-ellipsized.ui',
'label-text-shadow-clipping.css',
'label-text-shadow-clipping.ref.ui',
'label-text-shadow-clipping.ui',
'label-text-shadow-changes-modify-clip.css',
'label-text-shadow-changes-modify-clip.ref.ui',
'label-text-shadow-changes-modify-clip.ui',
'label-width-chars-dont-shrink.ref.ui',
'label-width-chars-dont-shrink.ui',
'label-wrap-justify.ref.ui',
'label-wrap-justify.ui',
'letter-spacing.css',
'letter-spacing.ui',
'letter-spacing.ref.ui',
'linear-gradient.css',
'linear-gradient.ref.ui',
'linear-gradient.ui',
'linear-gradient-transition-to-other.css',
'linear-gradient-transition-to-other.ref.ui',
'linear-gradient-transition-to-other.ui',
'link-coloring.css',
'link-coloring.ref.ui',
'link-coloring.ui',
'marble.xpm',
'messagedialog-secondarytext.ui',
'messagedialog-secondarytext.ref.ui',
'named-colors.css',
'named-colors.ref.ui',
'named-colors.ui',
'no-colors.css',
'no-colors.ref.ui',
'no-colors.ui',
'nonresizable-size.ref.ui',
'nonresizable-size.ui',
'notebook-childproperties.css',
'notebook-childproperties.ui',
'notebook-childproperties.ref.ui',
'notebook-tab-position.css',
'notebook-tab-position.ui',
'notebook-tab-position.ref.ui',
'nth-child.css',
'nth-child.ref.ui',
'nth-child.ui',
'opacity.css',
'opacity.ui',
'opacity.ref.ui',
'opacity-initial.css',
'opacity-initial.ref.ui',
'opacity-initial.ui',
'overlay-no-main-widget.ref.ui',
'overlay-no-main-widget.ui',
'paned-undersized.css',
'paned-undersized.ref.ui',
'paned-undersized.ui',
'pseudoclass-on-box.css',
'pseudoclass-on-box.ref.ui',
'pseudoclass-on-box.ui',
'pseudoclass-on-parent.css',
'pseudoclass-on-parent.ref.ui',
'pseudoclass-on-parent.ui',
'quit-mnemonic.css',
'quit-mnemonic.ref.ui',
'quit-mnemonic.ui',
'repeating-radial-gradient-at-beginning.css',
'repeating-radial-gradient-at-beginning.ref.ui',
'repeating-radial-gradient-at-beginning.ui',
'reset-to-defaults.css',
'revealer-extra-size.ref.ui',
'revealer-extra-size.ui',
'revealer-wrappable-contents.ref.ui',
'revealer-wrappable-contents.ui',
'rotated-layout.ref.ui',
'rotated-layout.ui',
'separator-size.css',
'separator-size.ref.ui',
'separator-size.ui',
'set-default-direction.ui',
'set-default-direction.ref.ui',
'shadow-clip-rounding.css',
'shadow-clip-rounding.ref.ui',
'shadow-clip-rounding.ui',
'shorthand-entry-border.css',
'shorthand-entry-border.ref.ui',
'shorthand-entry-border.ui',
'sibling-pseudoclasses.css',
'sibling-pseudoclasses.ref.ui',
'sibling-pseudoclasses.ui',
'simple.ref.ui',
'simple.ui',
'sizegroups-basics.css',
'sizegroups-basics.ui',
'sizegroups-basics.ref.ui',
'sizegroups-evolution-identity-page.ui',
'sizegroups-evolution-identity-page.ref.ui',
'sizegroups-get-preferred-null.ui',
'sizegroups-get-preferred-null.ref.ui',
'statusbar-remove-all.ref.ui',
'statusbar-remove-all.ui',
'style-context-save-inheritance.css',
'style-context-save-inheritance.ref.ui',
'style-context-save-inheritance.ui',
'style-properties-nth-child.css',
'style-properties-nth-child.ref.ui',
'style-properties-nth-child.ui',
'style-properties-only-child.css',
'style-properties-only-child.ref.ui',
'style-properties-only-child.ui',
'symbolic-icon-translucent-color.css',
'symbolic-icon-translucent-color.ref.ui',
'symbolic-icon-translucent-color.ui',
'textview-border-windows.css',
'textview-border-windows.ref.ui',
'textview-border-windows.ui',
'textview-margins.css',
'textview-margins.ref.ui',
'textview-margins.ui',
'textview-tags.ref.ui',
'textview-tags.ui',
'toplevel-vs-popup.ref.ui',
'toplevel-vs-popup.ui',
'treeview-crash-too-wide.ref.ui',
'treeview-crash-too-wide.ui',
'treeview-fixed-height.css',
'treeview-fixed-height.ref.ui',
'treeview-fixed-height.ui',
'treeview-headers-hidden.ref.ui',
'treeview-headers-hidden.ui',
'unresolvable.css',
'unresolvable.ref.ui',
'unresolvable.ui',
'window-border-width.ref.ui',
'window-border-width.ui',
'window-default-size.ref.ui',
'window-default-size.ui',
'window-height-for-width.ref.ui',
'window-height-for-width.ui',
'window-show-contents-on-map.ref.ui',
'window-show-contents-on-map.ui',
]
|