summaryrefslogtreecommitdiffstats
path: root/Misc/python-config.in
blob: 9ac44146d4da47bfc94ad481d47f616d7e9ebf09 (plain)
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
#!@EXENAME@

import sys
import os
import getopt
from distutils import sysconfig

valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', 
              'ldflags', 'help']

def exit_with_usage(code=1):
    print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0], 
                                            '|'.join('--'+opt for opt in valid_opts))
    sys.exit(code)

try:
    opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
except getopt.error:
    exit_with_usage()

if not opts:
    exit_with_usage()

opt = opts[0][0]

pyver = sysconfig.get_config_var('VERSION')
getvar = sysconfig.get_config_var

if opt == '--help':
    exit_with_usage(0)

elif opt == '--prefix':
    print sysconfig.PREFIX

elif opt == '--exec-prefix':
    print sysconfig.EXEC_PREFIX

elif opt in ('--includes', '--cflags'):
    flags = ['-I' + sysconfig.get_python_inc(),
             '-I' + sysconfig.get_python_inc(plat_specific=True)]
    if opt == '--cflags':
        flags.extend(getvar('CFLAGS').split())
    print ' '.join(flags)

elif opt in ('--libs', '--ldflags'):
    libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
    libs.append('-lpython'+pyver)
    # add the prefix/lib/pythonX.Y/config dir, but only if there is no
    # shared library in prefix/lib/.
    if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'):
        libs.insert(0, '-L' + getvar('LIBPL'))
    print ' '.join(libs)

914d5b575a4a7c0ed65d2fb8f45acc76'>tests/arthur/common/common.pri18
-rw-r--r--tests/arthur/common/common.pro20
-rw-r--r--tests/arthur/common/framework.cpp130
-rw-r--r--tests/arthur/common/framework.h76
-rw-r--r--tests/arthur/common/images.qrc33
-rw-r--r--tests/arthur/common/images/alpha.pngbin0 -> 2422 bytes-rw-r--r--tests/arthur/common/images/alpha2x2.pngbin0 -> 169 bytes-rw-r--r--tests/arthur/common/images/bitmap.pngbin0 -> 254 bytes-rw-r--r--tests/arthur/common/images/border.pngbin0 -> 182 bytes-rw-r--r--tests/arthur/common/images/dome_argb32.pngbin0 -> 18234 bytes-rw-r--r--tests/arthur/common/images/dome_indexed.pngbin0 -> 7946 bytes-rw-r--r--tests/arthur/common/images/dome_indexed_mask.pngbin0 -> 5411 bytes-rw-r--r--tests/arthur/common/images/dome_mono.pngbin0 -> 1391 bytes-rw-r--r--tests/arthur/common/images/dome_mono_128.pngbin0 -> 2649 bytes-rw-r--r--tests/arthur/common/images/dome_mono_palette.pngbin0 -> 1404 bytes-rw-r--r--tests/arthur/common/images/dome_rgb32.pngbin0 -> 17890 bytes-rw-r--r--tests/arthur/common/images/dot.pngbin0 -> 287 bytes-rw-r--r--tests/arthur/common/images/face.pngbin0 -> 2414 bytes-rw-r--r--tests/arthur/common/images/gam030.pngbin0 -> 213 bytes-rw-r--r--tests/arthur/common/images/gam045.pngbin0 -> 216 bytes-rw-r--r--tests/arthur/common/images/gam056.pngbin0 -> 216 bytes-rw-r--r--tests/arthur/common/images/gam100.pngbin0 -> 205 bytes-rw-r--r--tests/arthur/common/images/gam200.pngbin0 -> 187 bytes-rw-r--r--tests/arthur/common/images/image.pngbin0 -> 169554 bytes-rw-r--r--tests/arthur/common/images/mask.pngbin0 -> 274 bytes-rw-r--r--tests/arthur/common/images/mask_100.pngbin0 -> 319 bytes-rw-r--r--tests/arthur/common/images/masked.pngbin0 -> 788 bytes-rw-r--r--tests/arthur/common/images/sign.pngbin0 -> 10647 bytes-rw-r--r--tests/arthur/common/images/solid.pngbin0 -> 607 bytes-rw-r--r--tests/arthur/common/images/solid2x2.pngbin0 -> 169 bytes-rw-r--r--tests/arthur/common/images/struct-image-01.jpgbin0 -> 4751 bytes-rw-r--r--tests/arthur/common/images/struct-image-01.pngbin0 -> 63238 bytes-rw-r--r--tests/arthur/common/images/zebra.pngbin0 -> 426 bytes-rw-r--r--tests/arthur/common/paintcommands.cpp2658
-rw-r--r--tests/arthur/common/paintcommands.h334
-rw-r--r--tests/arthur/common/qengines.cpp737
-rw-r--r--tests/arthur/common/qengines.h241
-rw-r--r--tests/arthur/common/xmldata.cpp110
-rw-r--r--tests/arthur/common/xmldata.h153
-rw-r--r--tests/arthur/data/1.1/color-prop-03-t.svg101
-rw-r--r--tests/arthur/data/1.1/coords-trans-01-b.svg240
-rw-r--r--tests/arthur/data/1.1/coords-trans-02-t.svg178
-rw-r--r--tests/arthur/data/1.1/coords-trans-03-t.svg100
-rw-r--r--tests/arthur/data/1.1/coords-trans-04-t.svg69
-rw-r--r--tests/arthur/data/1.1/coords-trans-05-t.svg89
-rw-r--r--tests/arthur/data/1.1/coords-trans-06-t.svg83
-rw-r--r--tests/arthur/data/1.1/fonts-elem-01-t.svg103
-rw-r--r--tests/arthur/data/1.1/fonts-elem-02-t.svg107
-rw-r--r--tests/arthur/data/1.1/interact-zoom-01-t.svg71
-rw-r--r--tests/arthur/data/1.1/linking-a-04-t.svg124
-rw-r--r--tests/arthur/data/1.1/linking-uri-03-t.svg74
-rw-r--r--tests/arthur/data/1.1/metadata-example-01-b.svg175
-rw-r--r--tests/arthur/data/1.1/painting-fill-01-t.svg80
-rw-r--r--tests/arthur/data/1.1/painting-fill-02-t.svg80
-rw-r--r--tests/arthur/data/1.1/painting-fill-03-t.svg77
-rw-r--r--tests/arthur/data/1.1/painting-fill-04-t.svg57
-rw-r--r--tests/arthur/data/1.1/painting-stroke-01-t.svg55
-rw-r--r--tests/arthur/data/1.1/painting-stroke-02-t.svg56
-rw-r--r--tests/arthur/data/1.1/painting-stroke-03-t.svg57
-rw-r--r--tests/arthur/data/1.1/painting-stroke-04-t.svg71
-rw-r--r--tests/arthur/data/1.1/paths-data-01-t.svg158
-rw-r--r--tests/arthur/data/1.1/paths-data-02-t.svg132
-rw-r--r--tests/arthur/data/1.1/paths-data-04-t.svg92
-rw-r--r--tests/arthur/data/1.1/paths-data-05-t.svg89
-rw-r--r--tests/arthur/data/1.1/paths-data-06-t.svg72
-rw-r--r--tests/arthur/data/1.1/paths-data-07-t.svg72
-rw-r--r--tests/arthur/data/1.1/pservers-grad-07-b.svg74
-rw-r--r--tests/arthur/data/1.1/pservers-grad-11-b.svg100
-rw-r--r--tests/arthur/data/1.1/render-elems-01-t.svg54
-rw-r--r--tests/arthur/data/1.1/render-elems-02-t.svg75
-rw-r--r--tests/arthur/data/1.1/render-elems-03-t.svg57
-rw-r--r--tests/arthur/data/1.1/render-elems-06-t.svg75
-rw-r--r--tests/arthur/data/1.1/render-elems-07-t.svg76
-rw-r--r--tests/arthur/data/1.1/render-elems-08-t.svg78
-rw-r--r--tests/arthur/data/1.1/render-groups-03-t.svg117
-rw-r--r--tests/arthur/data/1.1/shapes-circle-01-t.svg56
-rw-r--r--tests/arthur/data/1.1/shapes-ellipse-01-t.svg72
-rw-r--r--tests/arthur/data/1.1/shapes-line-01-t.svg80
-rw-r--r--tests/arthur/data/1.1/shapes-polygon-01-t.svg73
-rw-r--r--tests/arthur/data/1.1/shapes-polyline-01-t.svg84
-rw-r--r--tests/arthur/data/1.1/shapes-rect-01-t.svg72
-rw-r--r--tests/arthur/data/1.1/struct-cond-01-t.svg75
-rw-r--r--tests/arthur/data/1.1/struct-cond-02-t.svg574
-rw-r--r--tests/arthur/data/1.1/struct-defs-01-t.svg85
-rw-r--r--tests/arthur/data/1.1/struct-group-01-t.svg71
-rw-r--r--tests/arthur/data/1.1/struct-image-01-t.svg65
-rw-r--r--tests/arthur/data/1.1/struct-image-03-t.svg54
-rw-r--r--tests/arthur/data/1.1/struct-image-04-t.svg126
-rw-r--r--tests/arthur/data/1.1/styling-pres-01-t.svg38
-rw-r--r--tests/arthur/data/1.1/text-fonts-01-t.svg98
-rw-r--r--tests/arthur/data/1.1/text-fonts-02-t.svg73
-rw-r--r--tests/arthur/data/1.1/text-intro-01-t.svg69
-rw-r--r--tests/arthur/data/1.1/text-intro-04-t.svg68
-rw-r--r--tests/arthur/data/1.1/text-ws-01-t.svg99
-rw-r--r--tests/arthur/data/1.1/text-ws-02-t.svg104
-rw-r--r--tests/arthur/data/1.2/07_07.svg40
-rw-r--r--tests/arthur/data/1.2/07_12.svg21
-rw-r--r--tests/arthur/data/1.2/08_02.svg26
-rw-r--r--tests/arthur/data/1.2/08_03.svg28
-rw-r--r--tests/arthur/data/1.2/08_04.svg19
-rw-r--r--tests/arthur/data/1.2/09_02.svg14
-rw-r--r--tests/arthur/data/1.2/09_03.svg10
-rw-r--r--tests/arthur/data/1.2/09_04.svg15
-rw-r--r--tests/arthur/data/1.2/09_05.svg20
-rw-r--r--tests/arthur/data/1.2/09_06.svg16
-rw-r--r--tests/arthur/data/1.2/09_07.svg15
-rw-r--r--tests/arthur/data/1.2/10_03.svg15
-rw-r--r--tests/arthur/data/1.2/10_04.svg20
-rw-r--r--tests/arthur/data/1.2/10_05.svg21
-rw-r--r--tests/arthur/data/1.2/10_06.svg20
-rw-r--r--tests/arthur/data/1.2/10_07.svg20
-rw-r--r--tests/arthur/data/1.2/10_08.svg23
-rw-r--r--tests/arthur/data/1.2/10_09.svg30
-rw-r--r--tests/arthur/data/1.2/10_10.svg23
-rw-r--r--tests/arthur/data/1.2/10_11.svg24
-rw-r--r--tests/arthur/data/1.2/11_01.svg20
-rw-r--r--tests/arthur/data/1.2/11_02.svg9
-rw-r--r--tests/arthur/data/1.2/11_03.svg11
-rw-r--r--tests/arthur/data/1.2/13_01.svg20
-rw-r--r--tests/arthur/data/1.2/13_02.svg22
-rw-r--r--tests/arthur/data/1.2/19_01.svg51
-rw-r--r--tests/arthur/data/1.2/19_02.svg25
-rw-r--r--tests/arthur/data/1.2/animation.svg11
-rw-r--r--tests/arthur/data/1.2/cubic02.svg77
-rw-r--r--tests/arthur/data/1.2/fillrule-evenodd.svg38
-rw-r--r--tests/arthur/data/1.2/fillrule-nonzero.svg38
-rw-r--r--tests/arthur/data/1.2/linecap.svg32
-rw-r--r--tests/arthur/data/1.2/linejoin.svg29
-rw-r--r--tests/arthur/data/1.2/media01.svg20
-rw-r--r--tests/arthur/data/1.2/media02.svg13
-rw-r--r--tests/arthur/data/1.2/media03.svg13
-rw-r--r--tests/arthur/data/1.2/media04.svg24
-rw-r--r--tests/arthur/data/1.2/media05.svg27
-rw-r--r--tests/arthur/data/1.2/mpath01.svg10
-rw-r--r--tests/arthur/data/1.2/non-scaling-stroke.svg15
-rw-r--r--tests/arthur/data/1.2/noonoo.svg13
-rw-r--r--tests/arthur/data/1.2/referencedRect.svg9
-rw-r--r--tests/arthur/data/1.2/referencedRect2.svg9
-rw-r--r--tests/arthur/data/1.2/solidcolor.svg16
-rw-r--r--tests/arthur/data/1.2/textArea01.svg10
-rw-r--r--tests/arthur/data/1.2/timed-lyrics.svg22
-rw-r--r--tests/arthur/data/1.2/use.svg22
-rw-r--r--tests/arthur/data/bugs/.gitattributes2
-rw-r--r--tests/arthur/data/bugs/gradient-defaults.svg18
-rw-r--r--tests/arthur/data/bugs/gradient_pen_fill.svg32
-rw-r--r--tests/arthur/data/bugs/openglcurve.svg35
-rw-r--r--tests/arthur/data/bugs/org_module.svg389
-rw-r--r--tests/arthur/data/bugs/resolve_linear.svg29
-rw-r--r--tests/arthur/data/bugs/resolve_radial.svg36
-rw-r--r--tests/arthur/data/bugs/text_pens.svg7
-rw-r--r--tests/arthur/data/framework.ini22
-rw-r--r--tests/arthur/data/images/alpha.pngbin0 -> 2422 bytes-rw-r--r--tests/arthur/data/images/bitmap.pngbin0 -> 254 bytes-rw-r--r--tests/arthur/data/images/border.pngbin0 -> 182 bytes-rw-r--r--tests/arthur/data/images/dome_argb32.pngbin0 -> 18234 bytes-rw-r--r--tests/arthur/data/images/dome_indexed.pngbin0 -> 7946 bytes-rw-r--r--tests/arthur/data/images/dome_indexed_mask.pngbin0 -> 5411 bytes-rw-r--r--tests/arthur/data/images/dome_mono.pngbin0 -> 1391 bytes-rw-r--r--tests/arthur/data/images/dome_mono_128.pngbin0 -> 2649 bytes-rw-r--r--tests/arthur/data/images/dome_mono_palette.pngbin0 -> 1404 bytes-rw-r--r--tests/arthur/data/images/dome_rgb32.pngbin0 -> 17890 bytes-rw-r--r--tests/arthur/data/images/dot.pngbin0 -> 287 bytes-rw-r--r--tests/arthur/data/images/face.pngbin0 -> 2414 bytes-rw-r--r--tests/arthur/data/images/gam030.pngbin0 -> 213 bytes-rw-r--r--tests/arthur/data/images/gam045.pngbin0 -> 216 bytes-rw-r--r--tests/arthur/data/images/gam056.pngbin0 -> 216 bytes-rw-r--r--tests/arthur/data/images/gam100.pngbin0 -> 205 bytes-rw-r--r--tests/arthur/data/images/gam200.pngbin0 -> 187 bytes-rw-r--r--tests/arthur/data/images/image.pngbin0 -> 169554 bytes-rw-r--r--tests/arthur/data/images/mask.pngbin0 -> 274 bytes-rw-r--r--tests/arthur/data/images/mask_100.pngbin0 -> 319 bytes-rw-r--r--tests/arthur/data/images/masked.pngbin0 -> 788 bytes-rw-r--r--tests/arthur/data/images/paths.qps32
-rw-r--r--tests/arthur/data/images/pens.qps96
-rw-r--r--tests/arthur/data/images/sign.pngbin0 -> 10647 bytes-rw-r--r--tests/arthur/data/images/solid.pngbin0 -> 607 bytes-rw-r--r--tests/arthur/data/images/struct-image-01.jpgbin0 -> 4751 bytes-rw-r--r--tests/arthur/data/images/struct-image-01.pngbin0 -> 63238 bytes-rw-r--r--tests/arthur/data/qps/alphas.qps63
-rw-r--r--tests/arthur/data/qps/alphas_qps.pngbin0 -> 45840 bytes-rw-r--r--tests/arthur/data/qps/arcs.qps65
-rw-r--r--tests/arthur/data/qps/arcs2.qps44
-rw-r--r--tests/arthur/data/qps/arcs2_qps.pngbin0 -> 9136 bytes-rw-r--r--tests/arthur/data/qps/arcs_qps.pngbin0 -> 110658 bytes-rw-r--r--tests/arthur/data/qps/background.qps133
-rw-r--r--tests/arthur/data/qps/background_brush.qps2
-rw-r--r--tests/arthur/data/qps/background_brush_qps.pngbin0 -> 62149 bytes-rw-r--r--tests/arthur/data/qps/background_qps.pngbin0 -> 53461 bytes-rw-r--r--tests/arthur/data/qps/beziers.qps144
-rw-r--r--tests/arthur/data/qps/beziers_qps.pngbin0 -> 57610 bytes-rw-r--r--tests/arthur/data/qps/bitmaps.qps163
-rw-r--r--tests/arthur/data/qps/bitmaps_qps.pngbin0 -> 89888 bytes-rw-r--r--tests/arthur/data/qps/brush_pens.qps101
-rw-r--r--tests/arthur/data/qps/brush_pens_qps.pngbin0 -> 77823 bytes-rw-r--r--tests/arthur/data/qps/brushes.qps77
-rw-r--r--tests/arthur/data/qps/brushes_qps.pngbin0 -> 134906 bytes-rw-r--r--tests/arthur/data/qps/clippaths.qps58
-rw-r--r--tests/arthur/data/qps/clippaths_qps.pngbin0 -> 6484 bytes-rw-r--r--tests/arthur/data/qps/clipping.qps179
-rw-r--r--tests/arthur/data/qps/clipping_qps.pngbin0 -> 14424 bytes-rw-r--r--tests/arthur/data/qps/clipping_state.qps57
-rw-r--r--tests/arthur/data/qps/clipping_state_qps.pngbin0 -> 5089 bytes-rw-r--r--tests/arthur/data/qps/cliprects.qps57
-rw-r--r--tests/arthur/data/qps/cliprects_qps.pngbin0 -> 6484 bytes-rw-r--r--tests/arthur/data/qps/conical_gradients.qps82
-rw-r--r--tests/arthur/data/qps/conical_gradients_perspectives.qps61
-rw-r--r--tests/arthur/data/qps/conical_gradients_perspectives_qps.pngbin0 -> 115264 bytes-rw-r--r--tests/arthur/data/qps/conical_gradients_qps.pngbin0 -> 108982 bytes-rw-r--r--tests/arthur/data/qps/dashes.qps265
-rw-r--r--tests/arthur/data/qps/dashes_qps.pngbin0 -> 48344 bytes-rw-r--r--tests/arthur/data/qps/degeneratebeziers.qps7
-rw-r--r--tests/arthur/data/qps/degeneratebeziers_qps.pngbin0 -> 5503 bytes-rw-r--r--tests/arthur/data/qps/deviceclipping.qps45
-rw-r--r--tests/arthur/data/qps/deviceclipping_qps.pngbin0 -> 12919 bytes-rw-r--r--tests/arthur/data/qps/drawpoints.qps98
-rw-r--r--tests/arthur/data/qps/drawpoints_qps.pngbin0 -> 8224 bytes-rw-r--r--tests/arthur/data/qps/drawtext.qps85
-rw-r--r--tests/arthur/data/qps/drawtext_qps.pngbin0 -> 55646 bytes-rw-r--r--tests/arthur/data/qps/ellipses.qps83
-rw-r--r--tests/arthur/data/qps/ellipses_qps.pngbin0 -> 36197 bytes-rw-r--r--tests/arthur/data/qps/filltest.qps410
-rw-r--r--tests/arthur/data/qps/filltest_qps.pngbin0 -> 22602 bytes-rw-r--r--tests/arthur/data/qps/fonts.qps64
-rw-r--r--tests/arthur/data/qps/fonts_qps.pngbin0 -> 75853 bytes-rw-r--r--tests/arthur/data/qps/gradients.qps41
-rw-r--r--tests/arthur/data/qps/gradients_qps.pngbin0 -> 41596 bytes-rw-r--r--tests/arthur/data/qps/image_formats.qps78
-rw-r--r--tests/arthur/data/qps/image_formats_qps.pngbin0 -> 275242 bytes-rw-r--r--tests/arthur/data/qps/images.qps103
-rw-r--r--tests/arthur/data/qps/images2.qps143
-rw-r--r--tests/arthur/data/qps/images2_qps.pngbin0 -> 182146 bytes-rw-r--r--tests/arthur/data/qps/images_qps.pngbin0 -> 322000 bytes-rw-r--r--tests/arthur/data/qps/join_cap_styles.qps60
-rw-r--r--tests/arthur/data/qps/join_cap_styles_duplicate_control_points.qps65
-rw-r--r--tests/arthur/data/qps/join_cap_styles_duplicate_control_points_qps.pngbin0 -> 42237 bytes-rw-r--r--tests/arthur/data/qps/join_cap_styles_qps.pngbin0 -> 37518 bytes-rw-r--r--tests/arthur/data/qps/linear_gradients.qps141
-rw-r--r--tests/arthur/data/qps/linear_gradients_perspectives.qps60
-rw-r--r--tests/arthur/data/qps/linear_gradients_perspectives_qps.pngbin0 -> 78017 bytes-rw-r--r--tests/arthur/data/qps/linear_gradients_qps.pngbin0 -> 82119 bytes-rw-r--r--tests/arthur/data/qps/linear_resolving_gradients.qps75
-rw-r--r--tests/arthur/data/qps/linear_resolving_gradients_qps.pngbin0 -> 76697 bytes-rw-r--r--tests/arthur/data/qps/lineconsistency.qps70
-rw-r--r--tests/arthur/data/qps/lineconsistency_qps.pngbin0 -> 12500 bytes-rw-r--r--tests/arthur/data/qps/linedashes.qps92
-rw-r--r--tests/arthur/data/qps/linedashes2.qps151
-rw-r--r--tests/arthur/data/qps/linedashes2_aa.qps2
-rw-r--r--tests/arthur/data/qps/linedashes2_aa_qps.pngbin0 -> 28956 bytes-rw-r--r--tests/arthur/data/qps/linedashes2_qps.pngbin0 -> 12182 bytes-rw-r--r--tests/arthur/data/qps/linedashes_qps.pngbin0 -> 11801 bytes-rw-r--r--tests/arthur/data/qps/lines.qps555
-rw-r--r--tests/arthur/data/qps/lines2.qps176
-rw-r--r--tests/arthur/data/qps/lines2_qps.pngbin0 -> 36623 bytes-rw-r--r--tests/arthur/data/qps/lines_qps.pngbin0 -> 113575 bytes-rw-r--r--tests/arthur/data/qps/object_bounding_mode.qps35
-rw-r--r--tests/arthur/data/qps/object_bounding_mode_qps.pngbin0 -> 85460 bytes-rw-r--r--tests/arthur/data/qps/pathfill.qps35
-rw-r--r--tests/arthur/data/qps/pathfill_qps.pngbin0 -> 198538 bytes-rw-r--r--tests/arthur/data/qps/paths.qps32
-rw-r--r--tests/arthur/data/qps/paths_aa.qps2
-rw-r--r--tests/arthur/data/qps/paths_aa_qps.pngbin0 -> 92711 bytes-rw-r--r--tests/arthur/data/qps/paths_qps.pngbin0 -> 20637 bytes-rw-r--r--tests/arthur/data/qps/pens.qps130
-rw-r--r--tests/arthur/data/qps/pens_aa.qps3
-rw-r--r--tests/arthur/data/qps/pens_aa_qps.pngbin0 -> 30813 bytes-rw-r--r--tests/arthur/data/qps/pens_cosmetic.qps107
-rw-r--r--tests/arthur/data/qps/pens_cosmetic_qps.pngbin0 -> 47487 bytes-rw-r--r--tests/arthur/data/qps/pens_qps.pngbin0 -> 11822 bytes-rw-r--r--tests/arthur/data/qps/perspectives.qps70
-rw-r--r--tests/arthur/data/qps/perspectives2.qps307
-rw-r--r--tests/arthur/data/qps/perspectives2_qps.pngbin0 -> 234054 bytes-rw-r--r--tests/arthur/data/qps/perspectives_qps.pngbin0 -> 491494 bytes-rw-r--r--tests/arthur/data/qps/pixmap_rotation.qps27
-rw-r--r--tests/arthur/data/qps/pixmap_rotation_qps.pngbin0 -> 8141 bytes-rw-r--r--tests/arthur/data/qps/pixmap_scaling.qps219
-rw-r--r--tests/arthur/data/qps/pixmap_subpixel.qps115
-rw-r--r--tests/arthur/data/qps/pixmap_subpixel_qps.pngbin0 -> 5317 bytes-rw-r--r--tests/arthur/data/qps/pixmaps.qps103
-rw-r--r--tests/arthur/data/qps/pixmaps_qps.pngbin0 -> 321685 bytes-rw-r--r--tests/arthur/data/qps/porter_duff.qps248
-rw-r--r--tests/arthur/data/qps/porter_duff2.qps256
-rw-r--r--tests/arthur/data/qps/porter_duff2_qps.pngbin0 -> 99167 bytes-rw-r--r--tests/arthur/data/qps/porter_duff_qps.pngbin0 -> 39375 bytes-rw-r--r--tests/arthur/data/qps/primitives.qps179
-rw-r--r--tests/arthur/data/qps/primitives_qps.pngbin0 -> 104235 bytes-rw-r--r--tests/arthur/data/qps/radial_gradients.qps96
-rw-r--r--tests/arthur/data/qps/radial_gradients_perspectives.qps60
-rw-r--r--tests/arthur/data/qps/radial_gradients_perspectives_qps.pngbin0 -> 133150 bytes-rw-r--r--tests/arthur/data/qps/radial_gradients_qps.pngbin0 -> 156036 bytes-rw-r--r--tests/arthur/data/qps/rasterops.qps83
-rw-r--r--tests/arthur/data/qps/rasterops_qps.pngbin0 -> 20400 bytes-rw-r--r--tests/arthur/data/qps/sizes.qps147
-rw-r--r--tests/arthur/data/qps/sizes_qps.pngbin0 -> 42355 bytes-rw-r--r--tests/arthur/data/qps/text.qps122
-rw-r--r--tests/arthur/data/qps/text_perspectives.qps100
-rw-r--r--tests/arthur/data/qps/text_perspectives_qps.pngbin0 -> 112750 bytes-rw-r--r--tests/arthur/data/qps/text_qps.pngbin0 -> 72027 bytes-rw-r--r--tests/arthur/data/qps/tiled_pixmap.qps82
-rw-r--r--tests/arthur/data/qps/tiled_pixmap_qps.pngbin0 -> 376370 bytes-rw-r--r--tests/arthur/data/random/arcs02.svg59
-rw-r--r--tests/arthur/data/random/atop.svg55
-rw-r--r--tests/arthur/data/random/clinton.svg370
-rw-r--r--tests/arthur/data/random/cowboy.svg4110
-rw-r--r--tests/arthur/data/random/gear_is_rising.svg702
-rw-r--r--tests/arthur/data/random/gearflowers.svg8342
-rw-r--r--tests/arthur/data/random/kde-look.svg16674
-rw-r--r--tests/arthur/data/random/linear_grad_transform.svg51
-rw-r--r--tests/arthur/data/random/longhorn.svg1595
-rw-r--r--tests/arthur/data/random/multiply.svg48
-rw-r--r--tests/arthur/data/random/picasso.svg2842
-rw-r--r--tests/arthur/data/random/porterduff.svg298
-rw-r--r--tests/arthur/data/random/radial_grad_transform.svg59
-rw-r--r--tests/arthur/data/random/solidcolor.svg15
-rw-r--r--tests/arthur/data/random/spiral.svg536
-rw-r--r--tests/arthur/data/random/tests.svg36
-rw-r--r--tests/arthur/data/random/tests2.svg12
-rw-r--r--tests/arthur/data/random/tiger.svg728
-rw-r--r--tests/arthur/data/random/uluru.pngbin0 -> 11749 bytes-rw-r--r--tests/arthur/data/random/worldcup.svg14668
-rw-r--r--tests/arthur/datagenerator/datagenerator.cpp481
-rw-r--r--tests/arthur/datagenerator/datagenerator.h103
-rw-r--r--tests/arthur/datagenerator/datagenerator.pri2
-rw-r--r--tests/arthur/datagenerator/datagenerator.pro20
-rw-r--r--tests/arthur/datagenerator/main.cpp54
-rw-r--r--tests/arthur/datagenerator/xmlgenerator.cpp262
-rw-r--r--tests/arthur/datagenerator/xmlgenerator.h73
-rw-r--r--tests/arthur/htmlgenerator/htmlgenerator.cpp518
-rw-r--r--tests/arthur/htmlgenerator/htmlgenerator.h126
-rw-r--r--tests/arthur/htmlgenerator/htmlgenerator.pro18
-rw-r--r--tests/arthur/htmlgenerator/main.cpp54
-rw-r--r--tests/arthur/lance/enum.pngbin0 -> 4619 bytes-rw-r--r--tests/arthur/lance/icons.qrc6
-rw-r--r--tests/arthur/lance/interactivewidget.cpp202
-rw-r--r--tests/arthur/lance/interactivewidget.h80
-rw-r--r--tests/arthur/lance/lance.pro23
-rw-r--r--tests/arthur/lance/main.cpp683
-rw-r--r--tests/arthur/lance/tools.pngbin0 -> 4424 bytes-rw-r--r--tests/arthur/lance/widgets.h211
-rw-r--r--tests/arthur/performancediff/main.cpp54
-rw-r--r--tests/arthur/performancediff/performancediff.cpp219
-rw-r--r--tests/arthur/performancediff/performancediff.h73
-rw-r--r--tests/arthur/performancediff/performancediff.pro18
-rw-r--r--tests/arthur/shower/main.cpp99
-rw-r--r--tests/arthur/shower/shower.cpp125
-rw-r--r--tests/arthur/shower/shower.h73
-rw-r--r--tests/arthur/shower/shower.pro16
350 files changed, 73257 insertions, 0 deletions
diff --git a/tests/arthur/.gitattributes b/tests/arthur/.gitattributes
new file mode 100644
index 0000000..b7fa3a0
--- /dev/null
+++ b/tests/arthur/.gitattributes
@@ -0,0 +1,2 @@
+data/*/*.svg -crlf
+data/qps/*.qps -crlf
diff --git a/tests/arthur/README b/tests/arthur/README
new file mode 100644
index 0000000..0178351
--- /dev/null
+++ b/tests/arthur/README
@@ -0,0 +1,84 @@
+This is a simple regression testing framework for Arthur.
+
+There are three parts to it.
+
+1) datagenerator . which is the main part. it's used to
+ run all the tests, create output png files,
+ measure rendering performance and output it in
+ data.xml file. datagenerator reads in
+ framework.ini to figure out where to look for tests.
+ if the framework.ini file isn't in the current directory
+ you have to specify its location with the -framework
+ parameter. by default datagenerator generates output in the
+ current directory - to specify output directory pass in
+ -output parameter followed by a directory name. if the given
+ directory doesn't exist it will be created.
+
+ it's recommended to always specify -iterations argument (followed
+ by the number). if the argument has been specified datagenerator
+ will try to render all testcases the given amount of times yielding
+ a lot more precise results.
+
+ if one wants to test just a specified engine -engine argument
+ should be specified (followed by the desired engine name).
+
+ individual testsuites can be run with -suite paramenter.
+ individual testcases from testcases can also be reran with
+ -testcase paramenter.
+
+ given files can also be tested individually. if the option -file
+ is specified with a SVG file engines will be tested against just
+ that file and output will be written directly to stdout (not files).
+ it's useful when optimizing one engine with particular case in
+ mind.
+
+ Example command line:
+ ./bin/datagenerator -framework data/framework.ini -output sampleout -iterations 5 -engine [ENGINE]
+
+2) htmlgenerator. which is used to generate html pages out of
+ generated output (generated by datagenerator). htmlgenerator also
+ reads in the framework.ini file. so the option -framework also
+ applies. but htmlgenerator takes a mandatory directory name as the
+ second argument. the mandatory directory name is the directory to
+ which you output the files generated by datagenerator (either
+ whatever followed the -output or the current directory)
+
+ htmlgenerator will generate html pages that can be viewed to
+ manually inspect the results.
+
+ Example command line:
+ ./bin/htmlgenerator -framework data/framework.ini sampleout
+
+3) performancediff. diffs the performance data between two output
+ directories. so assuming you already have data for all the engines,
+ you change something in an engine. to see the performance
+ difference run
+ ./bin/datagenerator -framework data/framework.ini -output newoutput -iterations 5
+ and then
+ ./bin/performancediff sampleout newoutput
+
+ The performance results will be printed out.
+
+ The two first columns are in ms. The last one is a
+ percentage of difference.
+
+ After the percentage a '+' or a '-' sign followed by a
+ number will be sometimes printed.
+
+ '+' signifies the new results were mathematically better. '-' is of
+ course just the opposite.
+ the number following '+' is the minimum rendering time the engine
+ spent rendering the given file up till this moment.
+ the number following '-' is the maximum rendering time the engine
+ spent rendering the given file up till this moment.
+
+ (if the current results are out of the scope from within maximum and
+ minimum number then the respective sign is printed out.)
+-------------------------------------------------------------------
+
+Note that the generated output directories can be copied from one
+machine to the other. htmlgenerator will generate webpages for all
+engines with valid data.xml files. So if you want add NativeWin32 and
+NativeMac engines you'll have to have someone with a windows and mac
+run datagenerator with "-engine NativeWin32" or "-engine NativeMac"
+options and then sending you the respective output directories.
diff --git a/tests/arthur/arthurtester.pri b/tests/arthur/arthurtester.pri
new file mode 100644
index 0000000..87ca082
--- /dev/null
+++ b/tests/arthur/arthurtester.pri
@@ -0,0 +1,21 @@
+DEFINES += QT_COMPAT_WARNINGS QT_NO_CAST_TO_ASCII
+
+INCLUDEPATH += $$COMMON_FOLDER
+
+include($$COMMON_FOLDER/common.pri)
+
+#build_all:!build_pass {
+# CONFIG -= build_all
+# CONFIG += release
+#}
+#contains(CONFIG, debug_and_release_target) {
+# CONFIG(debug, debug|release) {
+# LIBS+=-L$$COMMON_FOLDER/debug
+# } else {
+# LIBS+=-L$$COMMON_FOLDER/release
+# }
+#} else {
+# LIBS += -L$$COMMON_FOLDER
+#}
+#
+#LIBS += -ltestcommon
diff --git a/tests/arthur/arthurtester.pro b/tests/arthur/arthurtester.pro
new file mode 100644
index 0000000..443ec56
--- /dev/null
+++ b/tests/arthur/arthurtester.pro
@@ -0,0 +1,6 @@
+# -*-Mode:makefile-*-
+TEMPLATE = subdirs
+SUBDIRS = datagenerator htmlgenerator \
+ performancediff shower lance
+
+
diff --git a/tests/arthur/common/common.pri b/tests/arthur/common/common.pri
new file mode 100644
index 0000000..58cb636
--- /dev/null
+++ b/tests/arthur/common/common.pri
@@ -0,0 +1,18 @@
+VPATH+=$$PWD
+INCLUDEPATH += $$PWD
+
+contains(QT_CONFIG, opengl):DEFINES += BUILD_OPENGL
+
+SOURCES += \
+ xmldata.cpp \
+ paintcommands.cpp \
+ qengines.cpp \
+ framework.cpp
+
+HEADERS += \
+ xmldata.h \
+ paintcommands.h \
+ qengines.h \
+ framework.h
+
+RESOURCES += images.qrc
diff --git a/tests/arthur/common/common.pro b/tests/arthur/common/common.pro
new file mode 100644
index 0000000..9510f87
--- /dev/null
+++ b/tests/arthur/common/common.pro
@@ -0,0 +1,20 @@
+# -*- Mode: makefile -*-
+#
+# not used as a library all binaries include common.pri anyway
+#
+#COMMON_FOLDER = ../common
+#include(../arthurtester.pri)
+#TEMPLATE = lib
+#CONFIG += static
+#QT += xml opengl svg qt3support
+
+#build_all:!build_pass {
+# CONFIG -= build_all
+# CONFIG += release
+#}
+
+#TARGET = testcommon
+
+#include(common.pri)
+
+
diff --git a/tests/arthur/common/framework.cpp b/tests/arthur/common/framework.cpp
new file mode 100644
index 0000000..b2f008f
--- /dev/null
+++ b/tests/arthur/common/framework.cpp
@@ -0,0 +1,130 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "framework.h"
+
+#include <QFile>
+#include <QFileInfo>
+#include <QSettings>
+#include <QStringList>
+#include <QtDebug>
+
+Framework::Framework()
+ : qsettings(0)
+{
+}
+
+Framework::Framework(const QString &file)
+ : qsettings(0)
+{
+ load(file);
+}
+
+Framework::~Framework()
+{
+ delete qsettings;
+ qsettings = 0;
+}
+
+QString Framework::basePath() const
+{
+ if (!qsettings)
+ return QString();
+
+ QFileInfo fi(qsettings->fileName());
+ return fi.absolutePath();
+}
+
+
+QStringList Framework::suites() const
+{
+ if (!qsettings)
+ return QStringList();
+
+ QStringList tests = qsettings->childGroups();
+ qDebug()<<"here suites "<<tests;
+ tests.removeAll("General");
+ tests.removeAll("Blacklist");
+ return tests;
+}
+
+
+bool Framework::isTestBlacklisted(const QString &engineName,
+ const QString &testcase) const
+{
+ return m_blacklist[engineName].contains(testcase);
+}
+
+bool Framework::isValid() const
+{
+ return qsettings;
+}
+
+void Framework::load(const QString &file)
+{
+ if (qsettings) {
+ delete qsettings;
+ qsettings = 0;
+ }
+ if (QFile::exists(file)) {
+ qsettings = new QSettings(file, QSettings::IniFormat);
+ qsettings->beginGroup(QString("Blacklist"));
+ QStringList engines = qsettings->childKeys();
+ foreach(QString engineName, engines) {
+ QStringList testcases = qsettings->value(engineName).toStringList();
+ m_blacklist.insert(engineName, testcases);
+ qDebug()<<"Blacklists for "<<testcases;
+ }
+ qsettings->endGroup();
+ }
+}
+
+QString Framework::outputDir() const
+{
+ qsettings->beginGroup("General");
+ QString outputDirName = qsettings->value("outputDir").toString();
+ qsettings->endGroup();
+ return outputDirName;
+}
+
+QSettings * Framework::settings() const
+{
+ return qsettings;
+}
diff --git a/tests/arthur/common/framework.h b/tests/arthur/common/framework.h
new file mode 100644
index 0000000..e5f41c5
--- /dev/null
+++ b/tests/arthur/common/framework.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef FRAMEWORK_H
+#define FRAMEWORK_H
+
+#include <QMap>
+#include <QStringList>
+#include <QString>
+
+QT_FORWARD_DECLARE_CLASS(QSettings)
+
+class Framework
+{
+public:
+ Framework();
+ Framework(const QString &file);
+ ~Framework();
+
+ bool isValid() const;
+
+ void load(const QString &file);
+
+ QSettings *settings() const;
+
+
+ QString basePath() const;
+ QString outputDir() const;
+
+ QStringList suites() const;
+
+ bool isTestBlacklisted(const QString &engineName,
+ const QString &testcase) const;
+private:
+ QSettings *qsettings;
+ QMap<QString, QStringList> m_blacklist;
+};
+
+#endif
diff --git a/tests/arthur/common/images.qrc b/tests/arthur/common/images.qrc
new file mode 100644
index 0000000..8e94760
--- /dev/null
+++ b/tests/arthur/common/images.qrc
@@ -0,0 +1,33 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+<qresource>
+ <file>images/alpha.png</file>
+ <file>images/border.png</file>
+ <file>images/dome_argb32.png</file>
+ <file>images/dome_indexed.png</file>
+ <file>images/dome_mono_palette.png</file>
+ <file>images/dome_rgb32.png</file>
+ <file>images/face.png</file>
+ <file>images/gam045.png</file>
+ <file>images/gam100.png</file>
+ <file>images/image.png</file>
+ <file>images/masked.png</file>
+ <file>images/sign.png</file>
+ <file>images/struct-image-01.jpg</file>
+ <file>images/bitmap.png</file>
+ <file>images/dome_indexed_mask.png</file>
+ <file>images/dome_mono_128.png</file>
+ <file>images/dome_mono.png</file>
+ <file>images/dot.png</file>
+ <file>images/gam030.png</file>
+ <file>images/gam056.png</file>
+ <file>images/gam200.png</file>
+ <file>images/mask_100.png</file>
+ <file>images/mask.png</file>
+ <file>images/solid.png</file>
+ <file>images/struct-image-01.png</file>
+ <file>images/zebra.png</file>
+ <file>images/alpha2x2.png</file>
+ <file>images/solid2x2.png</file>
+</qresource>
+</RCC>
diff --git a/tests/arthur/common/images/alpha.png b/tests/arthur/common/images/alpha.png
new file mode 100644
index 0000000..e465b25
--- /dev/null
+++ b/tests/arthur/common/images/alpha.png
Binary files differ
diff --git a/tests/arthur/common/images/alpha2x2.png b/tests/arthur/common/images/alpha2x2.png
new file mode 100644
index 0000000..67ecc04
--- /dev/null
+++ b/tests/arthur/common/images/alpha2x2.png
Binary files differ
diff --git a/tests/arthur/common/images/bitmap.png b/tests/arthur/common/images/bitmap.png
new file mode 100644
index 0000000..d21f8f5
--- /dev/null
+++ b/tests/arthur/common/images/bitmap.png
Binary files differ
diff --git a/tests/arthur/common/images/border.png b/tests/arthur/common/images/border.png
new file mode 100644
index 0000000..a3d2fed
--- /dev/null
+++ b/tests/arthur/common/images/border.png
Binary files differ
diff --git a/tests/arthur/common/images/dome_argb32.png b/tests/arthur/common/images/dome_argb32.png
new file mode 100644
index 0000000..e3ccba0
--- /dev/null
+++ b/tests/arthur/common/images/dome_argb32.png
Binary files differ
diff --git a/tests/arthur/common/images/dome_indexed.png b/tests/arthur/common/images/dome_indexed.png
new file mode 100644
index 0000000..beefcd5
--- /dev/null
+++ b/tests/arthur/common/images/dome_indexed.png
Binary files differ
diff --git a/tests/arthur/common/images/dome_indexed_mask.png b/tests/arthur/common/images/dome_indexed_mask.png
new file mode 100644
index 0000000..a62f29f
--- /dev/null
+++ b/tests/arthur/common/images/dome_indexed_mask.png
Binary files differ
diff --git a/tests/arthur/common/images/dome_mono.png b/tests/arthur/common/images/dome_mono.png
new file mode 100644
index 0000000..950c2a7
--- /dev/null
+++ b/tests/arthur/common/images/dome_mono.png
Binary files differ
diff --git a/tests/arthur/common/images/dome_mono_128.png b/tests/arthur/common/images/dome_mono_128.png
new file mode 100644
index 0000000..77e48aa
--- /dev/null
+++ b/tests/arthur/common/images/dome_mono_128.png
Binary files differ
diff --git a/tests/arthur/common/images/dome_mono_palette.png b/tests/arthur/common/images/dome_mono_palette.png
new file mode 100644
index 0000000..dca3f59
--- /dev/null
+++ b/tests/arthur/common/images/dome_mono_palette.png
Binary files differ
diff --git a/tests/arthur/common/images/dome_rgb32.png b/tests/arthur/common/images/dome_rgb32.png
new file mode 100644
index 0000000..27bc02a
--- /dev/null
+++ b/tests/arthur/common/images/dome_rgb32.png
Binary files differ
diff --git a/tests/arthur/common/images/dot.png b/tests/arthur/common/images/dot.png
new file mode 100644
index 0000000..17a7b6a
--- /dev/null
+++ b/tests/arthur/common/images/dot.png
Binary files differ
diff --git a/tests/arthur/common/images/face.png b/tests/arthur/common/images/face.png
new file mode 100644
index 0000000..4f6172d
--- /dev/null
+++ b/tests/arthur/common/images/face.png
Binary files differ
diff --git a/tests/arthur/common/images/gam030.png b/tests/arthur/common/images/gam030.png
new file mode 100644
index 0000000..904c972
--- /dev/null
+++ b/tests/arthur/common/images/gam030.png
Binary files differ
diff --git a/tests/arthur/common/images/gam045.png b/tests/arthur/common/images/gam045.png
new file mode 100644
index 0000000..b649a8a
--- /dev/null
+++ b/tests/arthur/common/images/gam045.png
Binary files differ
diff --git a/tests/arthur/common/images/gam056.png b/tests/arthur/common/images/gam056.png
new file mode 100644
index 0000000..e5f959d
--- /dev/null
+++ b/tests/arthur/common/images/gam056.png
Binary files differ
diff --git a/tests/arthur/common/images/gam100.png b/tests/arthur/common/images/gam100.png
new file mode 100644
index 0000000..6c7ba5f
--- /dev/null
+++ b/tests/arthur/common/images/gam100.png
Binary files differ
diff --git a/tests/arthur/common/images/gam200.png b/tests/arthur/common/images/gam200.png
new file mode 100644
index 0000000..daa20fc
--- /dev/null
+++ b/tests/arthur/common/images/gam200.png
Binary files differ
diff --git a/tests/arthur/common/images/image.png b/tests/arthur/common/images/image.png
new file mode 100644
index 0000000..85d486a
--- /dev/null
+++ b/tests/arthur/common/images/image.png
Binary files differ
diff --git a/tests/arthur/common/images/mask.png b/tests/arthur/common/images/mask.png
new file mode 100644
index 0000000..c3f3b1b
--- /dev/null
+++ b/tests/arthur/common/images/mask.png
Binary files differ
diff --git a/tests/arthur/common/images/mask_100.png b/tests/arthur/common/images/mask_100.png
new file mode 100644
index 0000000..fc950dc
--- /dev/null
+++ b/tests/arthur/common/images/mask_100.png
Binary files differ
diff --git a/tests/arthur/common/images/masked.png b/tests/arthur/common/images/masked.png
new file mode 100644
index 0000000..6debec5
--- /dev/null
+++ b/tests/arthur/common/images/masked.png
Binary files differ
diff --git a/tests/arthur/common/images/sign.png b/tests/arthur/common/images/sign.png
new file mode 100644
index 0000000..6aac7e1
--- /dev/null
+++ b/tests/arthur/common/images/sign.png
Binary files differ
diff --git a/tests/arthur/common/images/solid.png b/tests/arthur/common/images/solid.png
new file mode 100644
index 0000000..371e9c1
--- /dev/null
+++ b/tests/arthur/common/images/solid.png
Binary files differ
diff --git a/tests/arthur/common/images/solid2x2.png b/tests/arthur/common/images/solid2x2.png
new file mode 100644
index 0000000..ad67cd3
--- /dev/null
+++ b/tests/arthur/common/images/solid2x2.png
Binary files differ
diff --git a/tests/arthur/common/images/struct-image-01.jpg b/tests/arthur/common/images/struct-image-01.jpg
new file mode 100644
index 0000000..a74e072
--- /dev/null
+++ b/tests/arthur/common/images/struct-image-01.jpg
Binary files differ
diff --git a/tests/arthur/common/images/struct-image-01.png b/tests/arthur/common/images/struct-image-01.png
new file mode 100644
index 0000000..4ed0840
--- /dev/null
+++ b/tests/arthur/common/images/struct-image-01.png
Binary files differ
diff --git a/tests/arthur/common/images/zebra.png b/tests/arthur/common/images/zebra.png
new file mode 100644
index 0000000..ef35f20
--- /dev/null
+++ b/tests/arthur/common/images/zebra.png
Binary files differ
diff --git a/tests/arthur/common/paintcommands.cpp b/tests/arthur/common/paintcommands.cpp
new file mode 100644