[FFmpeg-devel] [PATCH] fate.sh: Allow overriding what targets to make for running the tests
Martin Storsjö
martin at martin.st
Mon Nov 27 23:55:18 EET 2023
On Mon, 27 Nov 2023, Rémi Denis-Courmont wrote:
> Le maanantaina 27. marraskuuta 2023, 14.31.18 EET Martin Storsjö a écrit :
>> This can be useful if doing testing of uncommon CPU extensions by
>> running tests with QEMU (by configuring with e.g.
>> "target_exec=qemu-aarch64"), by only running the checkasm tests,
>> to get a reasonable test coverage without excessive test runtime.
>
> For the purpose of testing future or bleeding-edge CPU extensions on
> emulator, you would normally want to be able to actually filter those
> in. That is more of a matter of patching checkasm than FATE.
Sorry, can you elaborate on what you mean with "filter those in" here?
> Considering the poor coverage of checkasm, I fear that this just gives
> the wrong impression, not to say a false sense of security. It feels
> misleading to encourage or support that paradigm into FATE, in light of
> that poor coverage. Afterall, if it's just about running checkasm,
> anybody can just run `make tests/checkasm/checkasm &&
> tests/checkasm/checkasm`.
Yes, anybody can run that - but having those results posted continuously
somewhere where other can see them can be valuable as well.
Anyway, the concrete case I'm considering, is that we've got AArch64 code
merged, that uses the I8MM extensions. We don't have any FATE
configuration that continuously test that. Whenever there are patches, I
do spin up a cloud instance that supports this extension and test the
patches there, but inbetween that we're pretty much blind.
While checkasm's coverage isn't fantastic, for this particular case I'm
not merging any AArch64 code for new extensions unless that code is
covered by checkasm.
The other AArch64 feature that we do have code for, which also is
untested, is the assembly support for branch protection and pointer
authentication. Also this is testable pretty easily with QEMU. It's of
course more interesting to run the full fate suite, but if we're not
looking for bugs in the compiler but only for bugs in our assembly, then
checkasm should cover most of it.
Yes there's potential for QEMU bugs hiding real issues, but I'd rather
have a regular run of QEMU+checkasm than not have it tested at all. And
I'm volunteering HW+time for testing these cases with QEMU for whatever
checkasm covers, but I'm not volunteering it for full fate runs with QEMU.
And sure, I can just run such configs privately, as I already do run a
bunch of various regular builds for projects I care about - but as we do
have FATE with the public status page, hooking it up to be reported there
would feel like added value for everybody.
// Martin
More information about the ffmpeg-devel
mailing list