diff options
author | Martin Storsjö <martin@martin.st> | 2023-12-08 14:08:05 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2023-12-19 13:34:25 +0200 |
commit | 76cd71bf0cfc0f7958d691e5d4577b8f4cca96b2 (patch) | |
tree | 8c4ad0d1205025020dfad94cfed3179efce51090 /tests/fate.sh | |
parent | d0e215fffcb4cf0fb9876bf5722dacdee71580be (diff) | |
download | ffmpeg-76cd71bf0cfc0f7958d691e5d4577b8f4cca96b2.tar.gz |
fate: Allow running multiple rounds of tests with differing settings
This can be used to run tests multple times, with e.g. differing
QEMU settings, by adding something like this to the FATE configuration
file:
target_exec="qemu-aarch64-static"
fate_targets="fate-checkasm fate-cpu"
fate_environments="sve128 sve256 sve512"
sve128_env="QEMU_CPU=max,sve128=on"
sve256_env="QEMU_CPU=max,sve256=on"
sve512_env="QEMU_CPU=max,sve512=on"
It's also possible to customize the target_exec command further
by injecting a sufficiently quoted variable into it, which then can
be updated for each run, e.g. target_exec="\$(CUR_EXEC_CMD)".
For each of the environment names in fate_environments, the tests
that are run get the name suffixed on the fate tests in the
test log and fate report, e.g. "fate-checkasm-h264dsp_sve128".
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'tests/fate.sh')
-rwxr-xr-x | tests/fate.sh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/fate.sh b/tests/fate.sh index 1a40322ae9..07908be3a5 100755 --- a/tests/fate.sh +++ b/tests/fate.sh @@ -75,7 +75,19 @@ compile()( fate()( test "$build_only" = "yes" && return cd ${build} || return - ${make} ${makeopts_fate-${makeopts}} -k ${fate_targets} + if [ -n "${fate_environments}" ]; then + ret=0 + for e in ${fate_environments}; do + eval "curenv=\${${e}_env}" + echo Testing environment ${e}: ${curenv} + ${make} ${makeopts_fate-${makeopts}} -k ${fate_targets} FATE_SUFFIX=_${e} ${curenv} + cur_ret=$? + test $cur_ret != 0 && ret=$cur_ret + done + return $ret + else + ${make} ${makeopts_fate-${makeopts}} -k ${fate_targets} + fi ) clean(){ |