meson.build 5.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
simple_xinit = executable(
    'simple-xinit',
    'simple-xinit.c',
    include_directories: inc,
)

piglit_env = environment()
piglit_env.set('XSERVER_DIR', meson.source_root())
piglit_env.set('XSERVER_BUILDDIR', meson.build_root())

11
some_ops = ' -o clear,src,dst,over,xor,disjointover'
12 13 14 15 16 17 18
rendercheck_tests = [
    ['blend/All/a8r8g8b8', '-t blend -f a8r8g8b8'],
    ['blend/All/x8r8g8b8', '-t blend -f a8r8g8b8,x8r8g8b8'],
    ['blend/All/a2r10g10b10', '-t blend -f a8r8g8b8,a2r10g10b10'],
    ['blend/Clear', '-t blend -o clear'],
    ['blend/Src', '-t blend -o src'],
    ['blend/Over', '-t blend -o over'],
19
    ['composite/Some/a8r8g8b8', '-t composite -f a8r8g8b8' + some_ops],
20 21 22 23 24 25
    ['composite/Some/x8r8g8b8', '-t composite -f a8r8g8b8,x8r8g8b8' + some_ops],
    ['composite/Some/a2r10g10b10', '-t composite -f a8r8g8b8,a2r10g10b10' + some_ops],
    ['ca composite/Some/a8r8g8b8', '-t cacomposite -f a8r8g8b8' + some_ops],
    ['ca composite/Some/a8', '-t cacomposite -f a8r8g8b8,a8' + some_ops],
    ['ca composite/Some/x8r8g8b8', '-t cacomposite -f a8r8g8b8,x8r8g8b8' + some_ops],
    ['ca composite/Some/a2r10g10b10', '-t cacomposite -f a8r8g8b8,a2r10g10b10' + some_ops],
26 27 28 29 30 31 32 33 34 35 36 37 38 39
    ['fill', '-t fill'],
    ['bug7366', '-t bug7366'],
    ['destination coordinates', '-t dcoords'],
    ['source coordinates', '-t scoords'],
    ['mask coordinates', '-t mcoords'],
    ['translated source coordinates', '-t tscoords'],
    ['translated mask coordinates', '-t tmcoords'],
    ['triangles', '-t triangles'],
    ['LibreOffice xRGB', '-t libreoffice_xrgb'],
    ['GTK ARGB vs xBGR', '-t gtk_argb_xbgr'],
]

rendercheck = find_program('rendercheck', required:false)

40
if get_option('xvfb')
41 42 43 44 45 46 47
    xvfb_args = [
        xvfb_server.full_path(),
        '-screen',
        'scrn',
        '1280x1024x24',
    ]

48 49
    test('XTS',
        find_program('scripts/xvfb-piglit.sh'),
50 51
        env: piglit_env,
        timeout: 1200,
52
        suite: 'xvfb'
53 54
    )

55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
    if rendercheck.found()
        foreach rctest: rendercheck_tests
            test(rctest[0],
                 simple_xinit,
                 # Use full_path so people can copy and paste the
                 # command line from testlog.txt easily.
                 args: [
                     rendercheck.path(),
                     rctest[1].split(' '),
                     '--',
                     xvfb_args,
                 ],
                 suite: 'xvfb'
                )
        endforeach
    endif

72
    if get_option('xephyr') and build_glamor
73
        test('XTS',
74 75 76
            find_program('scripts/xephyr-glamor-piglit.sh'),
            env: piglit_env,
            timeout: 1200,
77
            suite: 'xephr-glamor',
78
        )
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

        if rendercheck.found()
            foreach rctest: rendercheck_tests
                test(rctest[0],
                     simple_xinit,
                     args: [simple_xinit.full_path(),
                            rendercheck.path(),
                            rctest[1].split(' '),
                            '----',
                            xephyr_server.full_path(),
                            '-glamor',
                            '-glamor-skip-present',
                            '-schedMax', '2000',
                            '--',
                            xvfb_args,
                           ],
                     suite: 'xephr-glamor',
                     timeout: 300,
                    )
            endforeach
        endif
100 101
    endif
endif
Eric Anholt's avatar
Eric Anholt committed
102

103
subdir('bigreq')
104
subdir('damage')
Eric Anholt's avatar
Eric Anholt committed
105
subdir('sync')
Jon Turney's avatar
Jon Turney committed
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

if build_xorg
# Tests that require at least some DDX functions in order to fully link
# For now, requires xf86 ddx, could be adjusted to use another
    unit_sources = [
     '../mi/miinitext.c',
     'fixes.c',
     'input.c',
     'list.c',
     'misc.c',
     'signal-logging.c',
     'string.c',
     'test_xkb.c',
     'tests-common.c',
     'tests.c',
     'touch.c',
     'xfree86.c',
     'xtest.c',
    ]
    unit_defines = ['-DXORG_TESTS']
    unit_includes = [inc, xorg_inc]

    if build_res
        unit_sources += ['hashtabletest.c']
        unit_defines += ['-DRES_TESTS']
    endif

133
    if meson.get_compiler('c').has_link_argument('-Wl,-wrap')
Jon Turney's avatar
Jon Turney committed
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
       unit_sources += [
        'xi1/protocol-xchangedevicecontrol.c',
        'xi2/protocol-common.c',
        'xi2/protocol-xiqueryversion.c',
        'xi2/protocol-xiquerydevice.c',
        'xi2/protocol-xiselectevents.c',
        'xi2/protocol-xigetselectedevents.c',
        'xi2/protocol-xisetclientpointer.c',
        'xi2/protocol-xigetclientpointer.c',
        'xi2/protocol-xiquerypointer.c',
        'xi2/protocol-xipassivegrabdevice.c',
        'xi2/protocol-xiwarppointer.c',
        'xi2/protocol-eventconvert.c',
        'xi2/xi2.c',
       ]
       unit_defines += ['-DLDWRAP_TESTS']
       unit_includes += [include_directories('xi1', 'xi2')]
       ldwraps = [
        '-Wl,-wrap,dixLookupWindow',
        '-Wl,-wrap,dixLookupClient',
        '-Wl,-wrap,WriteToClient',
        '-Wl,-wrap,dixLookupWindow',
        '-Wl,-wrap,XISetEventMask',
        '-Wl,-wrap,AddResource',
        '-Wl,-wrap,GrabButton',
       ]
    else
       ldwraps = []
       message('ld -wrap required for xi1 & xi2 unit tests, skipping')
    endif

    unit = executable('tests',
         unit_sources,
         c_args: unit_defines,
168
         dependencies: [pixman_dep, randrproto_dep, inputproto_dep],
Jon Turney's avatar
Jon Turney committed
169 170 171 172 173 174 175
         include_directories: unit_includes,
         link_args: ldwraps,
         link_with: xorg_link,
    )

    test('unit', unit)
endif