tarpaulin icon indicating copy to clipboard operation
tarpaulin copied to clipboard

Tarpaulin causes test failures in rav1e

Open YaLTeR opened this issue 4 years ago • 1 comments

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.

YaLTeR avatar Aug 20 '20 16:08 YaLTeR

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.

xd009642 avatar Aug 20 '20 19:08 xd009642

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

xd009642 avatar Oct 13 '22 17:10 xd009642