tarpaulin
tarpaulin copied to clipboard
Tarpaulin causes test failures in rav1e
I'm trying to run tarpaulin on rav1e, a video encoder for the AV1 standard, and I'm getting test failures that don't occur without tarpaulin. Specifically, I'm trying commit https://github.com/xiph/rav1e/commit/b13d079e227e8aaf9d9e1c261c868d4c96f196bb and getting these test failures under tarpaulin:
failures:
asm::x86::mc::test::test_rav1e_prep_bilin_bd_8_ssse3
asm::x86::mc::test::test_rav1e_put_8tap_regular_bd_8_ssse3
asm::x86::mc::test::test_rav1e_put_8tap_regular_sharp_bd_8_ssse3
asm::x86::mc::test::test_rav1e_put_8tap_sharp_regular_bd_8_ssse3
asm::x86::mc::test::test_rav1e_put_bilin_bd_8_ssse3
asm::x86::transform::inverse::test::inv_txfm2d_add_adst_identity_8x4_ssse3
asm::x86::transform::inverse::test::inv_txfm2d_add_flipadst_identity_8x4_ssse3
asm::x86::transform::inverse::test::inv_txfm2d_add_identity_adst_4x8_ssse3
asm::x86::transform::inverse::test::inv_txfm2d_add_identity_flipadst_4x8_ssse3
Rav1e is a large and complex project with stuff like handwritten assembly, it seems that some of it gets broken under tarpaulin for some reason.
maybe instrumenting the code with the breakpoints causes an issue which isn't seen with the code rustc/llvm normally generate... I'm currently working on some very big changes in that area which will impact a lot of issues, so I'll try the project before and after and see if that has an effect.
Closing this issue as the llvm coverage backend is now released --engine llvm which solves a bunch of issues in the ptrace tracing and breakpoints including unexpected behaviour with assembly