[igt-dev] [PATCH i-g-t v3 4/5] tests/meson.build: create testlists for tests
Mauro Carvalho Chehab
mauro.chehab at linux.intel.com
Thu Jul 6 15:06:37 UTC 2023
From: Mauro Carvalho Chehab <mchehab at kernel.org>
Let's dynamically create testlists for during build time, as this
can speed up a lot the validation check for testplan.
Ideally, all it would need to to that would be to use this
logic at the end of tests/meson.build:
foreach testexe : test_executables
prog = testexe.name()
output = prog.split('/').get(-1) + '.testlist'
custom_target(output,
build_by_default : true,
command : [ testexe, '--show-testlist'],
capture : true,
output : output)
Unfortunately, this requies Meson >= 0.54. So, we need to add
one custom_target per executable() call.
Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
---
tests/meson.build | 54 +++++++++++++++++++++++++++++++++++++++++------
1 file changed, 47 insertions(+), 7 deletions(-)
diff --git a/tests/meson.build b/tests/meson.build
index 3116c458d60b..6fe5d863c70a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -353,33 +353,54 @@ test_executables = []
test_list = []
foreach prog : test_progs
- test_executables += executable(prog, [prog + '.c'] + extra_sources.get(prog, []),
+ testexe = executable(prog, [prog + '.c'] + extra_sources.get(prog, []),
dependencies : test_deps + extra_dependencies.get(prog, []),
install_dir : libexecdir,
install_rpath : libexecdir_rpathdir,
install : true)
+ test_executables += testexe
test_list += prog
+ name = prog.split('/').get(-1)
+ custom_target(name + '.testlist',
+ build_by_default : true,
+ command : [testexe, '--show-testlist'],
+ capture : true,
+ output : name + '.testlist')
endforeach
foreach prog : i915_progs
- test_executables += executable(prog,
+ testexe = executable(prog,
[join_paths('i915', prog + '.c')] + extra_sources.get(prog, []),
dependencies : test_deps + extra_dependencies.get(prog, []),
install_dir : libexecdir,
install_rpath : libexecdir_rpathdir,
install : true)
+ test_executables += testexe
test_list += prog
+ name = prog.split('/').get(-1)
+ custom_target(name + '.testlist',
+ build_by_default : true,
+ command : [testexe, '--show-testlist'],
+ capture : true,
+ output : name + '.testlist')
endforeach
if build_xe
foreach prog : xe_progs
- test_executables += executable(prog,
+ testexe = executable(prog,
[join_paths('xe', prog + '.c')] + extra_sources.get(prog, []),
dependencies : test_deps + extra_dependencies.get(prog, []),
install_dir : libexecdir,
install_rpath : libexecdir_rpathdir,
install : true)
test_list += prog
+ test_executables += testexe
+ name = prog.split('/').get(-1)
+ custom_target(name + '.testlist',
+ build_by_default : true,
+ command : [testexe, '--show-testlist'],
+ capture : true,
+ output : name + '.testlist')
endforeach
build_info += 'Xe **experimental** tests enabled.'
endif
@@ -395,7 +416,7 @@ endforeach
if chamelium.found()
foreach prog : chamelium_progs
- test_executables += executable(prog,
+ testexe = executable(prog,
[join_paths('chamelium', prog + '.c'),
join_paths('chamelium', 'kms_chamelium_helper.c')],
dependencies : test_deps,
@@ -403,16 +424,30 @@ if chamelium.found()
install_rpath : libexecdir_rpathdir,
install : true)
test_list += prog
+ test_executables += testexe
+ name = prog.split('/').get(-1)
+ custom_target(name + '.testlist',
+ build_by_default : true,
+ command : [testexe, '--show-testlist'],
+ capture : true,
+ output : name + '.testlist')
endforeach
test_deps += chamelium
- test_executables += executable('kms_chamelium_color',
+ name = 'kms_chamelium_color'
+ testexe = executable('kms_chamelium_color',
[ 'chamelium/kms_chamelium_color.c', 'kms_color_helper.c' ],
dependencies : test_deps + [ chamelium ],
install_dir : libexecdir,
install_rpath : libexecdir_rpathdir,
install : true)
- test_list += 'kms_chamelium_color'
+ test_list += name
+ test_executables += testexe
+ custom_target(name + '.testlist',
+ build_by_default : true,
+ command : [testexe, '--show-testlist'],
+ capture : true,
+ output : name + '.testlist')
endif
subdir('amdgpu')
@@ -448,11 +483,16 @@ foreach prog : test_list
test('testcase check ' + prog, test_script, args : prog)
endforeach
-executable('gem_stress', 'i915/gem_stress.c',
+testexe = executable('gem_stress', 'i915/gem_stress.c',
install : true,
install_dir : libexecdir,
install_rpath : libexecdir_rpathdir,
dependencies : igt_deps)
+custom_target('gem_stress.testlist',
+ build_by_default : true,
+ command : [testexe, '--show-testlist'],
+ capture : true,
+ output : 'gem_stress.testlist')
image_files = [
'1080p-left.png',
--
2.40.1
More information about the igt-dev
mailing list