coverage: Regression test for inlining into an uninstrumented crate
This commit is contained in:
parent
b5f4883a06
commit
afe190204b
13
tests/coverage/auxiliary/inline_mixed_helper.rs
Normal file
13
tests/coverage/auxiliary/inline_mixed_helper.rs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
//@ edition: 2021
|
||||||
|
//@ compile-flags: -Cinstrument-coverage=on
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
pub fn inline_me() {}
|
||||||
|
|
||||||
|
#[inline(never)]
|
||||||
|
pub fn no_inlining_please() {}
|
||||||
|
|
||||||
|
pub fn generic<T>() {}
|
||||||
|
|
||||||
|
// FIXME(#132436): Even though this doesn't ICE, it still produces coverage
|
||||||
|
// reports that undercount the affected code.
|
19
tests/coverage/inline_mixed.rs
Normal file
19
tests/coverage/inline_mixed.rs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
//@ edition: 2021
|
||||||
|
//@ compile-flags: -Cinstrument-coverage=off
|
||||||
|
//@ ignore-coverage-run
|
||||||
|
//@ aux-crate: inline_mixed_helper=inline_mixed_helper.rs
|
||||||
|
|
||||||
|
// Regression test for <https://github.com/rust-lang/rust/pull/132395>.
|
||||||
|
// Various forms of cross-crate inlining can cause coverage statements to be
|
||||||
|
// inlined into crates that are being built without coverage instrumentation.
|
||||||
|
// At the very least, we need to not ICE when that happens.
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
inline_mixed_helper::inline_me();
|
||||||
|
inline_mixed_helper::no_inlining_please();
|
||||||
|
inline_mixed_helper::generic::<u32>();
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME(#132437): We currently don't test this in coverage-run mode, because
|
||||||
|
// whether or not it produces a `.profraw` file appears to differ between
|
||||||
|
// platforms.
|
Loading…
Reference in New Issue
Block a user