When executed tests report the last fail command and not the first one, for example :
setblock ~ ~5 ~ stone
await delay 2s
execute if block ~ ~5 ~ stone run fail "This should fail"
execute if block ~ ~5 ~ stone run fail "But this do fail instead"
Produce this output:

Datapack : test_dp.zip
When executed tests report the last fail command and not the first one, for example :
Produce this output:

Datapack : test_dp.zip