File: meson.build

package info (click to toggle)
virglrenderer 1.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,572 kB
  • sloc: ansic: 158,158; python: 1,495; sh: 555; makefile: 46
file content (119 lines) | stat: -rw-r--r-- 3,468 bytes parent folder | download | duplicates (2)
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
#############################################################################
#
# Copyright (C) 2019 Collabora Ltd
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#

check_dep = dependency('check')

libvrtest_sources = [
   'testvirgl.c',
   'testvirgl.h',
   'testvirgl_encode.c',
   'testvirgl_encode.h',
]

libvrtest_depends = [
   libvirgl_dep,
   gallium_dep,
   check_dep,
]

if with_tracing == 'percetto'
   libvrtest_depends += [percetto_dep]
endif

libvrtest = static_library(
   'vrtest',
   libvrtest_sources,
   dependencies : libvrtest_depends
)

tests = [
   ['test_virgl_init', 'test_virgl_init.c'],
   ['test_virgl_fence', 'test_virgl_fence.c'],
   ['test_virgl_resource', 'test_virgl_resource.c'],
   ['test_virgl_transfer', 'test_virgl_transfer.c'],
   ['test_virgl_cmd', 'test_virgl_cmd.c'],
   ['test_virgl_strbuf', 'test_virgl_strbuf.c']
]

fuzzy_tests = [
   ['test_fuzzer_formats', 'test_fuzzer_formats.c'],
]

test_depends = [
   libvirglrenderer_dep,
   check_dep,
]

if with_tracing == 'percetto'
   test_depends += [percetto_dep]
endif

foreach t : tests
   test_virgl = executable(t[0], t[1], link_with: libvrtest,
                           dependencies : test_depends)
   test(t[0], test_virgl)
endforeach

# For some unknown reason running this test in paralel with the others
# breaks some tests, so run it sequentially until we figure out what
# goes wrong
test_virgl_gbm_resources = executable(
   'test_virgl_gbm_resources',
   'test_virgl_gbm_resources.c',
   link_with: libvrtest,
   dependencies : test_depends)

test('test_virgl_gbm_resources', test_virgl_gbm_resources, is_parallel : false)

fuzzytest_depends = [
   libvirglrenderer_dep,
   epoxy_dep,
]

if with_tracing == 'percetto'
   fuzzytest_depends += [percetto_dep]
endif

foreach t : fuzzy_tests
   test_virgl_fuzzy = executable(t[0], t[1], link_with: libvrtest,
                                 dependencies : fuzzytest_depends)
   test(t[0], test_virgl)
endforeach


if with_valgrind
   valgrind = find_program('valgrind')
   surpression_path = join_paths(meson.current_source_dir(), 'valgrind.suppressions')
   args = ['--leak-check=full', '--quiet', '--error-exitcode=3',
           '--suppressions='+ surpression_path]
   foreach t : tests
      test('valgrind-' + t[0],
           valgrind,
           args : args + [join_paths(meson.current_build_dir(), t[0])],
           timeout : 1800)
   endforeach
endif

if with_fuzzer
   subdir('fuzzer')
endif