[FFmpeg-devel] [PATCH] fate: Allow running multiple rounds of tests with differing settings
Martin Storsjö
martin at martin.st
Wed Dec 13 22:45:18 EET 2023
On Wed, 13 Dec 2023, Rémi Denis-Courmont wrote:
> Le tiistaina 12. joulukuuta 2023, 0.14.06 EET Martin Storsjö a écrit :
>> 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"
>
> I'm fine with that, but for the sake of generality, shouldn't rather the
> entire target_exec prefix be indirected? Some runners may want to use
> command line flags rather than environment variables.
Yes - that's also doable. One can e.g. do this:
---
target_exec="qemu-aarch64-static -cpu \$(MY_CPU)"
fate_targets="fate-checkasm fate-cpu"
fate_environments="sve128 sve256 sve512"
sve128_env="MY_CPU=max,sve128=on"
sve256_env="MY_CPU=max,sve256=on"
sve512_env="MY_CPU=max,sve512=on"
---
That way, one can also make the whole target_exec be e.g. \$(EXEC_CMD) and
set the full command via the individual envs. It's not quite as
comfortable, but should be doable and allow fully generic setups.
(One could also consider just doing feat1_env="TARGET_EXEC=..." and not
setting target_exec in the fate config at all - however that's probably
not a good option and it has one surprising gotcha. The makefile level
TARGET_EXEC variable needs to have a trailing space when it is set to a
nonempty value, and injecting that might be annoying or ugly.)
// Martin
More information about the ffmpeg-devel
mailing list