tests/decode: Convert tests to meson

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2023-05-23 10:48:48 -07:00
parent 036cc75ca0
commit 656666dc7d
3 changed files with 60 additions and 28 deletions

View File

@ -1,24 +0,0 @@
#!/bin/sh
# This work is licensed under the terms of the GNU LGPL, version 2 or later.
# See the COPYING.LIB file in the top-level directory.
PYTHON=$1
DECODETREE=$2
E=0
# All of these tests should produce errors
for i in err_*.decode; do
if $PYTHON $DECODETREE $i > /dev/null 2> /dev/null; then
# Pass, aka failed to fail.
echo FAIL: $i 1>&2
E=1
fi
done
for i in succ_*.decode; do
if ! $PYTHON $DECODETREE $i > /dev/null 2> /dev/null; then
echo FAIL:$i 1>&2
fi
done
exit $E

59
tests/decode/meson.build Normal file
View File

@ -0,0 +1,59 @@
err_tests = [
'err_argset1.decode',
'err_argset2.decode',
'err_field1.decode',
'err_field2.decode',
'err_field3.decode',
'err_field4.decode',
'err_field5.decode',
'err_field6.decode',
'err_init1.decode',
'err_init2.decode',
'err_init3.decode',
'err_init4.decode',
'err_overlap1.decode',
'err_overlap2.decode',
'err_overlap3.decode',
'err_overlap4.decode',
'err_overlap5.decode',
'err_overlap6.decode',
'err_overlap7.decode',
'err_overlap8.decode',
'err_overlap9.decode',
'err_pattern_group_empty.decode',
'err_pattern_group_ident1.decode',
'err_pattern_group_ident2.decode',
'err_pattern_group_nest1.decode',
'err_pattern_group_nest2.decode',
'err_pattern_group_nest3.decode',
'err_pattern_group_overlap1.decode',
'err_width1.decode',
'err_width2.decode',
'err_width3.decode',
'err_width4.decode',
]
succ_tests = [
'succ_argset_type1.decode',
'succ_function.decode',
'succ_ident1.decode',
'succ_pattern_group_nest1.decode',
'succ_pattern_group_nest2.decode',
'succ_pattern_group_nest3.decode',
'succ_pattern_group_nest4.decode',
]
suite = 'decodetree'
decodetree = find_program(meson.project_source_root() / 'scripts/decodetree.py')
foreach t: err_tests
test(fs.replace_suffix(t, ''),
decodetree, args: ['-o', '/dev/null', '--test-for-error', files(t)],
suite: suite)
endforeach
foreach t: succ_tests
test(fs.replace_suffix(t, ''),
decodetree, args: ['-o', '/dev/null', files(t)],
suite: suite)
endforeach

View File

@ -74,10 +74,7 @@ if have_tools and have_vhost_user and 'CONFIG_LINUX' in config_host
dependencies: [qemuutil, vhost_user])
endif
test('decodetree', sh,
args: [ files('decode/check.sh'), config_host['PYTHON'], files('../scripts/decodetree.py') ],
workdir: meson.current_source_dir() / 'decode',
suite: 'decodetree')
subdir('decode')
if 'CONFIG_TCG' in config_all
subdir('fp')