From 0b0d293c7c46bdadf80e5304a667e34c53c0cf7e Mon Sep 17 00:00:00 2001 From: Rich Kadel Date: Sat, 1 May 2021 14:56:48 -0700 Subject: [PATCH 1/2] Report coverage `0` of dead blocks Fixes: #84018 With `-Z instrument-coverage`, coverage reporting of dead blocks (for example, blocks dropped because a conditional branch is dropped, based on const evaluation) is now supported. If `instrument-coverage` is enabled, `simplify::remove_dead_blocks()` finds all dropped coverage `Statement`s and adds their `code_region`s as `Unreachable` coverage `Statement`s to the `START_BLOCK`, so they are still included in the coverage map. Check out the resulting changes in the test coverage reports in this PR. --- .../rustc_mir/src/transform/const_goto.rs | 2 +- .../src/transform/deduplicate_blocks.rs | 2 +- .../src/transform/early_otherwise_branch.rs | 2 +- compiler/rustc_mir/src/transform/generator.rs | 4 +- compiler/rustc_mir/src/transform/inline.rs | 2 +- .../rustc_mir/src/transform/match_branches.rs | 2 +- .../transform/multiple_return_terminators.rs | 2 +- .../src/transform/remove_unneeded_drops.rs | 2 +- compiler/rustc_mir/src/transform/simplify.rs | 42 ++++++++++++++++--- .../rustc_mir/src/transform/simplify_try.rs | 2 +- .../src/transform/unreachable_prop.rs | 2 +- .../expected_show_coverage.async2.txt | 1 + .../expected_show_coverage.conditions.txt | 8 +++- .../expected_show_coverage.doctest.txt | 4 +- .../expected_show_coverage.drop_trait.txt | 10 ++--- .../expected_show_coverage.generics.txt | 18 ++++---- .../expected_show_coverage.loops_branches.txt | 38 ++++++++--------- .../expected_show_coverage.tight_inf_loop.txt | 2 +- .../run-make-fulldeps/coverage/conditions.rs | 4 +- .../run-make-fulldeps/coverage/generics.rs | 10 ++--- .../coverage/loops_branches.rs | 8 ++-- 21 files changed, 102 insertions(+), 65 deletions(-) diff --git a/compiler/rustc_mir/src/transform/const_goto.rs b/compiler/rustc_mir/src/transform/const_goto.rs index b5c8b4bebc360..ba10b54c5ae2e 100644 --- a/compiler/rustc_mir/src/transform/const_goto.rs +++ b/compiler/rustc_mir/src/transform/const_goto.rs @@ -47,7 +47,7 @@ impl<'tcx> MirPass<'tcx> for ConstGoto { // if we applied optimizations, we potentially have some cfg to cleanup to // make it easier for further passes if should_simplify { - simplify_cfg(body); + simplify_cfg(tcx, body); simplify_locals(body, tcx); } } diff --git a/compiler/rustc_mir/src/transform/deduplicate_blocks.rs b/compiler/rustc_mir/src/transform/deduplicate_blocks.rs index c41e71e09a4ef..912505c65983e 100644 --- a/compiler/rustc_mir/src/transform/deduplicate_blocks.rs +++ b/compiler/rustc_mir/src/transform/deduplicate_blocks.rs @@ -26,7 +26,7 @@ impl<'tcx> MirPass<'tcx> for DeduplicateBlocks { if has_opts_to_apply { let mut opt_applier = OptApplier { tcx, duplicates }; opt_applier.visit_body(body); - simplify_cfg(body); + simplify_cfg(tcx, body); } } } diff --git a/compiler/rustc_mir/src/transform/early_otherwise_branch.rs b/compiler/rustc_mir/src/transform/early_otherwise_branch.rs index f7ea9faec4728..ac39206623308 100644 --- a/compiler/rustc_mir/src/transform/early_otherwise_branch.rs +++ b/compiler/rustc_mir/src/transform/early_otherwise_branch.rs @@ -164,7 +164,7 @@ impl<'tcx> MirPass<'tcx> for EarlyOtherwiseBranch { // Since this optimization adds new basic blocks and invalidates others, // clean up the cfg to make it nicer for other passes if should_cleanup { - simplify_cfg(body); + simplify_cfg(tcx, body); } } } diff --git a/compiler/rustc_mir/src/transform/generator.rs b/compiler/rustc_mir/src/transform/generator.rs index 003003a8abbea..3560b4b1e8645 100644 --- a/compiler/rustc_mir/src/transform/generator.rs +++ b/compiler/rustc_mir/src/transform/generator.rs @@ -964,7 +964,7 @@ fn create_generator_drop_shim<'tcx>( // Make sure we remove dead blocks to remove // unrelated code from the resume part of the function - simplify::remove_dead_blocks(&mut body); + simplify::remove_dead_blocks(tcx, &mut body); dump_mir(tcx, None, "generator_drop", &0, &body, |_, _| Ok(())); @@ -1137,7 +1137,7 @@ fn create_generator_resume_function<'tcx>( // Make sure we remove dead blocks to remove // unrelated code from the drop part of the function - simplify::remove_dead_blocks(body); + simplify::remove_dead_blocks(tcx, body); dump_mir(tcx, None, "generator_resume", &0, body, |_, _| Ok(())); } diff --git a/compiler/rustc_mir/src/transform/inline.rs b/compiler/rustc_mir/src/transform/inline.rs index b6f80763bc8c4..f1c95a84ade85 100644 --- a/compiler/rustc_mir/src/transform/inline.rs +++ b/compiler/rustc_mir/src/transform/inline.rs @@ -57,7 +57,7 @@ impl<'tcx> MirPass<'tcx> for Inline { if inline(tcx, body) { debug!("running simplify cfg on {:?}", body.source); CfgSimplifier::new(body).simplify(); - remove_dead_blocks(body); + remove_dead_blocks(tcx, body); } } } diff --git a/compiler/rustc_mir/src/transform/match_branches.rs b/compiler/rustc_mir/src/transform/match_branches.rs index f7a9835353e5c..21b208a08c2dc 100644 --- a/compiler/rustc_mir/src/transform/match_branches.rs +++ b/compiler/rustc_mir/src/transform/match_branches.rs @@ -167,7 +167,7 @@ impl<'tcx> MirPass<'tcx> for MatchBranchSimplification { } if should_cleanup { - simplify_cfg(body); + simplify_cfg(tcx, body); } } } diff --git a/compiler/rustc_mir/src/transform/multiple_return_terminators.rs b/compiler/rustc_mir/src/transform/multiple_return_terminators.rs index 4aaa0baa9f46a..cd2db18055286 100644 --- a/compiler/rustc_mir/src/transform/multiple_return_terminators.rs +++ b/compiler/rustc_mir/src/transform/multiple_return_terminators.rs @@ -38,6 +38,6 @@ impl<'tcx> MirPass<'tcx> for MultipleReturnTerminators { } } - simplify::remove_dead_blocks(body) + simplify::remove_dead_blocks(tcx, body) } } diff --git a/compiler/rustc_mir/src/transform/remove_unneeded_drops.rs b/compiler/rustc_mir/src/transform/remove_unneeded_drops.rs index 5144d48750de7..02e45021a0aaf 100644 --- a/compiler/rustc_mir/src/transform/remove_unneeded_drops.rs +++ b/compiler/rustc_mir/src/transform/remove_unneeded_drops.rs @@ -36,7 +36,7 @@ impl<'tcx> MirPass<'tcx> for RemoveUnneededDrops { // if we applied optimizations, we potentially have some cfg to cleanup to // make it easier for further passes if should_simplify { - simplify_cfg(body); + simplify_cfg(tcx, body); } } } diff --git a/compiler/rustc_mir/src/transform/simplify.rs b/compiler/rustc_mir/src/transform/simplify.rs index 65e2d096b2094..63373b0cffbb0 100644 --- a/compiler/rustc_mir/src/transform/simplify.rs +++ b/compiler/rustc_mir/src/transform/simplify.rs @@ -29,6 +29,7 @@ use crate::transform::MirPass; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::coverage::*; use rustc_middle::mir::visit::{MutVisitor, MutatingUseContext, PlaceContext, Visitor}; use rustc_middle::mir::*; use rustc_middle::ty::TyCtxt; @@ -46,9 +47,9 @@ impl SimplifyCfg { } } -pub fn simplify_cfg(body: &mut Body<'_>) { +pub fn simplify_cfg(tcx: TyCtxt<'tcx>, body: &mut Body<'_>) { CfgSimplifier::new(body).simplify(); - remove_dead_blocks(body); + remove_dead_blocks(tcx, body); // FIXME: Should probably be moved into some kind of pass manager body.basic_blocks_mut().raw.shrink_to_fit(); @@ -59,9 +60,9 @@ impl<'tcx> MirPass<'tcx> for SimplifyCfg { Cow::Borrowed(&self.label) } - fn run_pass(&self, _tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) { + fn run_pass(&self, tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) { debug!("SimplifyCfg({:?}) - simplifying {:?}", self.label, body.source); - simplify_cfg(body); + simplify_cfg(tcx, body); } } @@ -286,7 +287,7 @@ impl<'a, 'tcx> CfgSimplifier<'a, 'tcx> { } } -pub fn remove_dead_blocks(body: &mut Body<'_>) { +pub fn remove_dead_blocks(tcx: TyCtxt<'tcx>, body: &mut Body<'_>) { let reachable = traversal::reachable_as_bitset(body); let num_blocks = body.basic_blocks().len(); if num_blocks == reachable.count() { @@ -306,6 +307,11 @@ pub fn remove_dead_blocks(body: &mut Body<'_>) { } used_blocks += 1; } + + if tcx.sess.instrument_coverage() { + save_unreachable_coverage(basic_blocks, used_blocks); + } + basic_blocks.raw.truncate(used_blocks); for block in basic_blocks { @@ -315,6 +321,32 @@ pub fn remove_dead_blocks(body: &mut Body<'_>) { } } +fn save_unreachable_coverage( + basic_blocks: &mut IndexVec>, + first_dead_block: usize, +) { + // retain coverage info for dead blocks, so coverage reports will still + // report `0` executions for the uncovered code regions. + let mut dropped_coverage = Vec::new(); + for dead_block in first_dead_block..basic_blocks.len() { + for statement in basic_blocks[BasicBlock::new(dead_block)].statements.iter() { + if let StatementKind::Coverage(coverage) = &statement.kind { + if let Some(code_region) = &coverage.code_region { + dropped_coverage.push((statement.source_info, code_region.clone())); + } + } + } + } + for (source_info, code_region) in dropped_coverage { + basic_blocks[START_BLOCK].statements.push(Statement { + source_info, + kind: StatementKind::Coverage(box Coverage { + kind: CoverageKind::Unreachable, + code_region: Some(code_region), + }), + }) + } +} pub struct SimplifyLocals; impl<'tcx> MirPass<'tcx> for SimplifyLocals { diff --git a/compiler/rustc_mir/src/transform/simplify_try.rs b/compiler/rustc_mir/src/transform/simplify_try.rs index b42543c04eb3d..c9c4492062720 100644 --- a/compiler/rustc_mir/src/transform/simplify_try.rs +++ b/compiler/rustc_mir/src/transform/simplify_try.rs @@ -558,7 +558,7 @@ impl<'tcx> MirPass<'tcx> for SimplifyBranchSame { if did_remove_blocks { // We have dead blocks now, so remove those. - simplify::remove_dead_blocks(body); + simplify::remove_dead_blocks(tcx, body); } } } diff --git a/compiler/rustc_mir/src/transform/unreachable_prop.rs b/compiler/rustc_mir/src/transform/unreachable_prop.rs index 658c6b6e9db20..e7fb6b4f6b4ad 100644 --- a/compiler/rustc_mir/src/transform/unreachable_prop.rs +++ b/compiler/rustc_mir/src/transform/unreachable_prop.rs @@ -60,7 +60,7 @@ impl MirPass<'_> for UnreachablePropagation { } if replaced { - simplify::remove_dead_blocks(body); + simplify::remove_dead_blocks(tcx, body); } } } diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.async2.txt b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.async2.txt index 8a445433ab65f..a8c79efd72356 100644 --- a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.async2.txt +++ b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.async2.txt @@ -12,6 +12,7 @@ 12| 1| if b { 13| 1| println!("non_async_func println in block"); 14| 1| } + ^0 15| 1|} 16| | 17| |// FIXME(#83985): The auto-generated closure in an async function is failing to include diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.conditions.txt b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.conditions.txt index 656a26597759d..2d8a98a5d0c92 100644 --- a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.conditions.txt +++ b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.conditions.txt @@ -5,6 +5,7 @@ 5| 1| if true { 6| 1| countdown = 10; 7| 1| } + ^0 8| | 9| | const B: u32 = 100; 10| 1| let x = if countdown > 7 { @@ -24,6 +25,7 @@ 24| 1| if true { 25| 1| countdown = 10; 26| 1| } + ^0 27| | 28| 1| if countdown > 7 { 29| 1| countdown -= 4; @@ -42,6 +44,7 @@ 41| 1| if true { 42| 1| countdown = 10; 43| 1| } + ^0 44| | 45| 1| if countdown > 7 { 46| 1| countdown -= 4; @@ -54,13 +57,14 @@ 53| | } else { 54| 0| return; 55| | } - 56| | } // Note: closing brace shows uncovered (vs. `0` for implicit else) because condition literal - 57| | // `true` was const-evaluated. The compiler knows the `if` block will be executed. + 56| 0| } + 57| | 58| | 59| 1| let mut countdown = 0; 60| 1| if true { 61| 1| countdown = 1; 62| 1| } + ^0 63| | 64| 1| let z = if countdown > 7 { ^0 diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.doctest.txt b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.doctest.txt index 1b6bb9ff8891d..7ae0e978808e7 100644 --- a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.doctest.txt +++ b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.doctest.txt @@ -9,7 +9,7 @@ 8| 1|//! assert_eq!(1, 1); 9| |//! } else { 10| |//! // this is not! - 11| |//! assert_eq!(1, 2); + 11| 0|//! assert_eq!(1, 2); 12| |//! } 13| 1|//! ``` 14| |//! @@ -84,7 +84,7 @@ 74| 1| if true { 75| 1| assert_eq!(1, 1); 76| | } else { - 77| | assert_eq!(1, 2); + 77| 0| assert_eq!(1, 2); 78| | } 79| 1|} 80| | diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.drop_trait.txt b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.drop_trait.txt index fab5be41901c9..fe6a9e93cbf71 100644 --- a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.drop_trait.txt +++ b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.drop_trait.txt @@ -19,11 +19,11 @@ 19| 1| if true { 20| 1| println!("Exiting with error..."); 21| 1| return Err(1); - 22| | } - 23| | - 24| | let _ = Firework { strength: 1000 }; - 25| | - 26| | Ok(()) + 22| 0| } + 23| 0| + 24| 0| let _ = Firework { strength: 1000 }; + 25| 0| + 26| 0| Ok(()) 27| 1|} 28| | 29| |// Expected program output: diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.generics.txt b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.generics.txt index 7b38ffb87cba8..8e8bc0fd18943 100644 --- a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.generics.txt +++ b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.generics.txt @@ -52,15 +52,15 @@ 30| 1| if true { 31| 1| println!("Exiting with error..."); 32| 1| return Err(1); - 33| | } // The remaining lines below have no coverage because `if true` (with the constant literal - 34| | // `true`) is guaranteed to execute the `then` block, which is also guaranteed to `return`. - 35| | // Thankfully, in the normal case, conditions are not guaranteed ahead of time, and as shown - 36| | // in other tests, the lines below would have coverage (which would show they had `0` - 37| | // executions, assuming the condition still evaluated to `true`). - 38| | - 39| | let _ = Firework { strength: 1000 }; - 40| | - 41| | Ok(()) + 33| 0| } + 34| 0| + 35| 0| + 36| 0| + 37| 0| + 38| 0| + 39| 0| let _ = Firework { strength: 1000 }; + 40| 0| + 41| 0| Ok(()) 42| 1|} 43| | 44| |// Expected program output: diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.loops_branches.txt b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.loops_branches.txt index 81d5c7d90346d..5d572db7cc60d 100644 --- a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.loops_branches.txt +++ b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.loops_branches.txt @@ -9,23 +9,23 @@ 9| 1| fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { 10| 1| if true { 11| 1| if false { - 12| | while true { - 13| | } + 12| 0| while true { + 13| 0| } 14| 1| } - 15| 1| write!(f, "error")?; - ^0 - 16| | } else { - 17| | } + 15| 1| write!(f, "cool")?; + ^0 + 16| 0| } else { + 17| 0| } 18| | 19| 10| for i in 0..10 { 20| 10| if true { 21| 10| if false { - 22| | while true {} + 22| 0| while true {} 23| 10| } - 24| 10| write!(f, "error")?; - ^0 - 25| | } else { - 26| | } + 24| 10| write!(f, "cool")?; + ^0 + 25| 0| } else { + 26| 0| } 27| | } 28| 1| Ok(()) 29| 1| } @@ -36,21 +36,21 @@ 34| |impl std::fmt::Display for DisplayTest { 35| 1| fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { 36| 1| if false { - 37| | } else { + 37| 0| } else { 38| 1| if false { - 39| | while true {} + 39| 0| while true {} 40| 1| } - 41| 1| write!(f, "error")?; - ^0 + 41| 1| write!(f, "cool")?; + ^0 42| | } 43| 10| for i in 0..10 { 44| 10| if false { - 45| | } else { + 45| 0| } else { 46| 10| if false { - 47| | while true {} + 47| 0| while true {} 48| 10| } - 49| 10| write!(f, "error")?; - ^0 + 49| 10| write!(f, "cool")?; + ^0 50| | } 51| | } 52| 1| Ok(()) diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.tight_inf_loop.txt b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.tight_inf_loop.txt index 5adeef7d0850b..2d4c57f451a2d 100644 --- a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.tight_inf_loop.txt +++ b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.tight_inf_loop.txt @@ -1,6 +1,6 @@ 1| 1|fn main() { 2| 1| if false { - 3| | loop {} + 3| 0| loop {} 4| 1| } 5| 1|} diff --git a/src/test/run-make-fulldeps/coverage/conditions.rs b/src/test/run-make-fulldeps/coverage/conditions.rs index 8a2a0b53e5862..057599d1b471a 100644 --- a/src/test/run-make-fulldeps/coverage/conditions.rs +++ b/src/test/run-make-fulldeps/coverage/conditions.rs @@ -53,8 +53,8 @@ fn main() { } else { return; } - } // Note: closing brace shows uncovered (vs. `0` for implicit else) because condition literal - // `true` was const-evaluated. The compiler knows the `if` block will be executed. + } + let mut countdown = 0; if true { diff --git a/src/test/run-make-fulldeps/coverage/generics.rs b/src/test/run-make-fulldeps/coverage/generics.rs index cbeda35d3b8cf..18b38868496d4 100644 --- a/src/test/run-make-fulldeps/coverage/generics.rs +++ b/src/test/run-make-fulldeps/coverage/generics.rs @@ -30,11 +30,11 @@ fn main() -> Result<(),u8> { if true { println!("Exiting with error..."); return Err(1); - } // The remaining lines below have no coverage because `if true` (with the constant literal - // `true`) is guaranteed to execute the `then` block, which is also guaranteed to `return`. - // Thankfully, in the normal case, conditions are not guaranteed ahead of time, and as shown - // in other tests, the lines below would have coverage (which would show they had `0` - // executions, assuming the condition still evaluated to `true`). + } + + + + let _ = Firework { strength: 1000 }; diff --git a/src/test/run-make-fulldeps/coverage/loops_branches.rs b/src/test/run-make-fulldeps/coverage/loops_branches.rs index 4d9bbad3367f6..7116ce47f4b9d 100644 --- a/src/test/run-make-fulldeps/coverage/loops_branches.rs +++ b/src/test/run-make-fulldeps/coverage/loops_branches.rs @@ -12,7 +12,7 @@ impl std::fmt::Debug for DebugTest { while true { } } - write!(f, "error")?; + write!(f, "cool")?; } else { } @@ -21,7 +21,7 @@ impl std::fmt::Debug for DebugTest { if false { while true {} } - write!(f, "error")?; + write!(f, "cool")?; } else { } } @@ -38,7 +38,7 @@ impl std::fmt::Display for DisplayTest { if false { while true {} } - write!(f, "error")?; + write!(f, "cool")?; } for i in 0..10 { if false { @@ -46,7 +46,7 @@ impl std::fmt::Display for DisplayTest { if false { while true {} } - write!(f, "error")?; + write!(f, "cool")?; } } Ok(()) From 3fca198e468e5c311eb97b70d6ce3af1dddc56e8 Mon Sep 17 00:00:00 2001 From: Rich Kadel Date: Sat, 1 May 2021 15:34:27 -0700 Subject: [PATCH 2/2] Move coverage tests from run-make-fulldeps to run-make Fixes: #83830 --- src/bootstrap/test.rs | 2 +- src/test/run-make-fulldeps/coverage/compiletest-ignore-dir | 3 --- src/test/run-make-fulldeps/coverage/coverage_tools.mk | 6 ------ .../coverage-llvmir/Makefile | 0 .../coverage-llvmir/filecheck.testprog.txt | 0 .../coverage-llvmir/testprog.rs | 0 .../coverage-reports/Makefile | 0 .../coverage-reports/expected_show_coverage.abort.txt | 0 .../coverage-reports/expected_show_coverage.assert.txt | 0 .../coverage-reports/expected_show_coverage.async.txt | 0 .../coverage-reports/expected_show_coverage.async2.txt | 0 .../coverage-reports/expected_show_coverage.closure.txt | 0 .../expected_show_coverage.closure_macro.txt | 0 .../expected_show_coverage.closure_macro_async.txt | 0 .../coverage-reports/expected_show_coverage.conditions.txt | 0 .../coverage-reports/expected_show_coverage.continue.txt | 0 .../coverage-reports/expected_show_coverage.dead_code.txt | 0 .../coverage-reports/expected_show_coverage.doctest.txt | 0 .../coverage-reports/expected_show_coverage.drop_trait.txt | 0 .../coverage-reports/expected_show_coverage.generics.txt | 0 .../coverage-reports/expected_show_coverage.if.txt | 0 .../coverage-reports/expected_show_coverage.if_else.txt | 0 .../coverage-reports/expected_show_coverage.inline.txt | 0 .../coverage-reports/expected_show_coverage.inner_items.txt | 0 .../coverage-reports/expected_show_coverage.issue-83601.txt | 0 .../coverage-reports/expected_show_coverage.issue-84561.txt | 0 .../expected_show_coverage.lazy_boolean.txt | 0 .../expected_show_coverage.loop_break_value.txt | 0 .../expected_show_coverage.loops_branches.txt | 0 .../expected_show_coverage.match_or_pattern.txt | 0 .../expected_show_coverage.nested_loops.txt | 0 .../expected_show_coverage.no_cov_crate.txt | 0 .../coverage-reports/expected_show_coverage.no_cov_func.txt | 0 .../coverage-reports/expected_show_coverage.overflow.txt | 0 .../expected_show_coverage.panic_unwind.txt | 0 .../coverage-reports/expected_show_coverage.partial_eq.txt | 0 .../coverage-reports/expected_show_coverage.simple_loop.txt | 0 .../expected_show_coverage.simple_match.txt | 0 .../expected_show_coverage.tight_inf_loop.txt | 0 .../expected_show_coverage.try_error_result.txt | 0 .../coverage-reports/expected_show_coverage.unused.txt | 0 .../coverage-reports/expected_show_coverage.uses_crate.txt | 0 .../expected_show_coverage.uses_inline_crate.txt | 0 .../coverage-reports/expected_show_coverage.while.txt | 0 .../expected_show_coverage.while_early_ret.txt | 0 .../coverage-reports/expected_show_coverage.yield.txt | 0 .../coverage-reports/normalize_paths.py | 0 .../coverage/WARNING_KEEP_NAMES_SHORT.txt | 0 src/test/{run-make-fulldeps => run-make}/coverage/abort.rs | 0 src/test/{run-make-fulldeps => run-make}/coverage/assert.rs | 0 src/test/{run-make-fulldeps => run-make}/coverage/async.rs | 0 src/test/{run-make-fulldeps => run-make}/coverage/async2.rs | 0 .../{run-make-fulldeps => run-make}/coverage/closure.rs | 0 .../coverage/closure_macro.rs | 0 .../coverage/closure_macro_async.rs | 0 src/test/run-make/coverage/compiletest-ignore-dir | 3 +++ .../{run-make-fulldeps => run-make}/coverage/conditions.rs | 0 .../{run-make-fulldeps => run-make}/coverage/continue.rs | 0 src/test/run-make/coverage/coverage_tools.mk | 6 ++++++ .../{run-make-fulldeps => run-make}/coverage/dead_code.rs | 0 .../{run-make-fulldeps => run-make}/coverage/doctest.rs | 0 .../{run-make-fulldeps => run-make}/coverage/drop_trait.rs | 0 .../{run-make-fulldeps => run-make}/coverage/generics.rs | 0 src/test/{run-make-fulldeps => run-make}/coverage/if.rs | 0 .../{run-make-fulldeps => run-make}/coverage/if_else.rs | 0 src/test/{run-make-fulldeps => run-make}/coverage/inline.rs | 0 .../{run-make-fulldeps => run-make}/coverage/inner_items.rs | 0 .../{run-make-fulldeps => run-make}/coverage/issue-83601.rs | 0 .../{run-make-fulldeps => run-make}/coverage/issue-84561.rs | 0 .../coverage/lazy_boolean.rs | 0 .../coverage/lib/doctest_crate.rs | 0 .../coverage/lib/used_crate.rs | 0 .../coverage/lib/used_inline_crate.rs | 0 .../coverage/loop_break_value.rs | 0 .../coverage/loops_branches.rs | 0 .../coverage/match_or_pattern.rs | 0 .../coverage/nested_loops.rs | 0 .../coverage/no_cov_crate.rs | 0 .../{run-make-fulldeps => run-make}/coverage/no_cov_func.rs | 0 .../{run-make-fulldeps => run-make}/coverage/overflow.rs | 0 .../coverage/panic_unwind.rs | 0 .../{run-make-fulldeps => run-make}/coverage/partial_eq.rs | 0 .../{run-make-fulldeps => run-make}/coverage/simple_loop.rs | 0 .../coverage/simple_match.rs | 0 .../coverage/tight_inf_loop.rs | 0 .../coverage/try_error_result.rs | 0 src/test/{run-make-fulldeps => run-make}/coverage/unused.rs | 0 .../{run-make-fulldeps => run-make}/coverage/uses_crate.rs | 0 .../coverage/uses_inline_crate.rs | 0 src/test/{run-make-fulldeps => run-make}/coverage/while.rs | 0 .../coverage/while_early_ret.rs | 0 src/test/{run-make-fulldeps => run-make}/coverage/yield.rs | 0 92 files changed, 10 insertions(+), 10 deletions(-) delete mode 100644 src/test/run-make-fulldeps/coverage/compiletest-ignore-dir delete mode 100644 src/test/run-make-fulldeps/coverage/coverage_tools.mk rename src/test/{run-make-fulldeps => run-make}/coverage-llvmir/Makefile (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-llvmir/filecheck.testprog.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-llvmir/testprog.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/Makefile (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.abort.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.assert.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.async.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.async2.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.closure.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.closure_macro.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.closure_macro_async.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.conditions.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.continue.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.dead_code.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.doctest.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.drop_trait.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.generics.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.if.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.if_else.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.inline.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.inner_items.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.issue-83601.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.issue-84561.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.lazy_boolean.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.loop_break_value.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.loops_branches.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.match_or_pattern.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.nested_loops.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.no_cov_crate.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.no_cov_func.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.overflow.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.panic_unwind.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.partial_eq.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.simple_loop.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.simple_match.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.tight_inf_loop.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.try_error_result.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.unused.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.uses_crate.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.uses_inline_crate.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.while.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.while_early_ret.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/expected_show_coverage.yield.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage-reports/normalize_paths.py (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/WARNING_KEEP_NAMES_SHORT.txt (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/abort.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/assert.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/async.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/async2.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/closure.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/closure_macro.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/closure_macro_async.rs (100%) create mode 100644 src/test/run-make/coverage/compiletest-ignore-dir rename src/test/{run-make-fulldeps => run-make}/coverage/conditions.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/continue.rs (100%) create mode 100644 src/test/run-make/coverage/coverage_tools.mk rename src/test/{run-make-fulldeps => run-make}/coverage/dead_code.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/doctest.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/drop_trait.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/generics.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/if.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/if_else.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/inline.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/inner_items.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/issue-83601.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/issue-84561.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/lazy_boolean.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/lib/doctest_crate.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/lib/used_crate.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/lib/used_inline_crate.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/loop_break_value.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/loops_branches.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/match_or_pattern.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/nested_loops.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/no_cov_crate.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/no_cov_func.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/overflow.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/panic_unwind.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/partial_eq.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/simple_loop.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/simple_match.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/tight_inf_loop.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/try_error_result.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/unused.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/uses_crate.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/uses_inline_crate.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/while.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/while_early_ret.rs (100%) rename src/test/{run-make-fulldeps => run-make}/coverage/yield.rs (100%) diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index 965d11621450b..2c02dd6802621 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs @@ -1197,7 +1197,7 @@ note: if you're sure you want to do this, please open an issue as to why. In the .arg(builder.ensure(tool::JsonDocCk { compiler: json_compiler, target })); } - if mode == "run-make" && suite.ends_with("fulldeps") { + if mode == "run-make" && !suite.ends_with("fulldeps") { let rust_demangler = builder .ensure(tool::RustDemangler { compiler, target, extra_features: Vec::new() }) .expect("in-tree tool"); diff --git a/src/test/run-make-fulldeps/coverage/compiletest-ignore-dir b/src/test/run-make-fulldeps/coverage/compiletest-ignore-dir deleted file mode 100644 index d1824d189e382..0000000000000 --- a/src/test/run-make-fulldeps/coverage/compiletest-ignore-dir +++ /dev/null @@ -1,3 +0,0 @@ -# Directory "coverage" supports the tests at prefix ../coverage-* - -# Use ./x.py [options] test src/test/run-make-fulldeps/coverage to run all related tests. diff --git a/src/test/run-make-fulldeps/coverage/coverage_tools.mk b/src/test/run-make-fulldeps/coverage/coverage_tools.mk deleted file mode 100644 index aa1dc7b91ce94..0000000000000 --- a/src/test/run-make-fulldeps/coverage/coverage_tools.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Common Makefile include for Rust `run-make-fulldeps/coverage-* tests. Include this -# file with the line: -# -# -include ../coverage/coverage_tools.mk - --include ../tools.mk diff --git a/src/test/run-make-fulldeps/coverage-llvmir/Makefile b/src/test/run-make/coverage-llvmir/Makefile similarity index 100% rename from src/test/run-make-fulldeps/coverage-llvmir/Makefile rename to src/test/run-make/coverage-llvmir/Makefile diff --git a/src/test/run-make-fulldeps/coverage-llvmir/filecheck.testprog.txt b/src/test/run-make/coverage-llvmir/filecheck.testprog.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-llvmir/filecheck.testprog.txt rename to src/test/run-make/coverage-llvmir/filecheck.testprog.txt diff --git a/src/test/run-make-fulldeps/coverage-llvmir/testprog.rs b/src/test/run-make/coverage-llvmir/testprog.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage-llvmir/testprog.rs rename to src/test/run-make/coverage-llvmir/testprog.rs diff --git a/src/test/run-make-fulldeps/coverage-reports/Makefile b/src/test/run-make/coverage-reports/Makefile similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/Makefile rename to src/test/run-make/coverage-reports/Makefile diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.abort.txt b/src/test/run-make/coverage-reports/expected_show_coverage.abort.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.abort.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.abort.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.assert.txt b/src/test/run-make/coverage-reports/expected_show_coverage.assert.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.assert.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.assert.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.async.txt b/src/test/run-make/coverage-reports/expected_show_coverage.async.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.async.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.async.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.async2.txt b/src/test/run-make/coverage-reports/expected_show_coverage.async2.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.async2.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.async2.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.closure.txt b/src/test/run-make/coverage-reports/expected_show_coverage.closure.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.closure.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.closure.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.closure_macro.txt b/src/test/run-make/coverage-reports/expected_show_coverage.closure_macro.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.closure_macro.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.closure_macro.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.closure_macro_async.txt b/src/test/run-make/coverage-reports/expected_show_coverage.closure_macro_async.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.closure_macro_async.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.closure_macro_async.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.conditions.txt b/src/test/run-make/coverage-reports/expected_show_coverage.conditions.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.conditions.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.conditions.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.continue.txt b/src/test/run-make/coverage-reports/expected_show_coverage.continue.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.continue.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.continue.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.dead_code.txt b/src/test/run-make/coverage-reports/expected_show_coverage.dead_code.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.dead_code.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.dead_code.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.doctest.txt b/src/test/run-make/coverage-reports/expected_show_coverage.doctest.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.doctest.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.doctest.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.drop_trait.txt b/src/test/run-make/coverage-reports/expected_show_coverage.drop_trait.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.drop_trait.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.drop_trait.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.generics.txt b/src/test/run-make/coverage-reports/expected_show_coverage.generics.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.generics.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.generics.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.if.txt b/src/test/run-make/coverage-reports/expected_show_coverage.if.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.if.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.if.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.if_else.txt b/src/test/run-make/coverage-reports/expected_show_coverage.if_else.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.if_else.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.if_else.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.inline.txt b/src/test/run-make/coverage-reports/expected_show_coverage.inline.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.inline.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.inline.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.inner_items.txt b/src/test/run-make/coverage-reports/expected_show_coverage.inner_items.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.inner_items.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.inner_items.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.issue-83601.txt b/src/test/run-make/coverage-reports/expected_show_coverage.issue-83601.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.issue-83601.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.issue-83601.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.issue-84561.txt b/src/test/run-make/coverage-reports/expected_show_coverage.issue-84561.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.issue-84561.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.issue-84561.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.lazy_boolean.txt b/src/test/run-make/coverage-reports/expected_show_coverage.lazy_boolean.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.lazy_boolean.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.lazy_boolean.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.loop_break_value.txt b/src/test/run-make/coverage-reports/expected_show_coverage.loop_break_value.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.loop_break_value.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.loop_break_value.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.loops_branches.txt b/src/test/run-make/coverage-reports/expected_show_coverage.loops_branches.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.loops_branches.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.loops_branches.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.match_or_pattern.txt b/src/test/run-make/coverage-reports/expected_show_coverage.match_or_pattern.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.match_or_pattern.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.match_or_pattern.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.nested_loops.txt b/src/test/run-make/coverage-reports/expected_show_coverage.nested_loops.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.nested_loops.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.nested_loops.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.no_cov_crate.txt b/src/test/run-make/coverage-reports/expected_show_coverage.no_cov_crate.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.no_cov_crate.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.no_cov_crate.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.no_cov_func.txt b/src/test/run-make/coverage-reports/expected_show_coverage.no_cov_func.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.no_cov_func.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.no_cov_func.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.overflow.txt b/src/test/run-make/coverage-reports/expected_show_coverage.overflow.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.overflow.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.overflow.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.panic_unwind.txt b/src/test/run-make/coverage-reports/expected_show_coverage.panic_unwind.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.panic_unwind.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.panic_unwind.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.partial_eq.txt b/src/test/run-make/coverage-reports/expected_show_coverage.partial_eq.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.partial_eq.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.partial_eq.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.simple_loop.txt b/src/test/run-make/coverage-reports/expected_show_coverage.simple_loop.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.simple_loop.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.simple_loop.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.simple_match.txt b/src/test/run-make/coverage-reports/expected_show_coverage.simple_match.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.simple_match.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.simple_match.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.tight_inf_loop.txt b/src/test/run-make/coverage-reports/expected_show_coverage.tight_inf_loop.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.tight_inf_loop.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.tight_inf_loop.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.try_error_result.txt b/src/test/run-make/coverage-reports/expected_show_coverage.try_error_result.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.try_error_result.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.try_error_result.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.unused.txt b/src/test/run-make/coverage-reports/expected_show_coverage.unused.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.unused.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.unused.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_crate.txt b/src/test/run-make/coverage-reports/expected_show_coverage.uses_crate.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_crate.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.uses_crate.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_inline_crate.txt b/src/test/run-make/coverage-reports/expected_show_coverage.uses_inline_crate.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_inline_crate.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.uses_inline_crate.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.while.txt b/src/test/run-make/coverage-reports/expected_show_coverage.while.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.while.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.while.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.while_early_ret.txt b/src/test/run-make/coverage-reports/expected_show_coverage.while_early_ret.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.while_early_ret.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.while_early_ret.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.yield.txt b/src/test/run-make/coverage-reports/expected_show_coverage.yield.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.yield.txt rename to src/test/run-make/coverage-reports/expected_show_coverage.yield.txt diff --git a/src/test/run-make-fulldeps/coverage-reports/normalize_paths.py b/src/test/run-make/coverage-reports/normalize_paths.py similarity index 100% rename from src/test/run-make-fulldeps/coverage-reports/normalize_paths.py rename to src/test/run-make/coverage-reports/normalize_paths.py diff --git a/src/test/run-make-fulldeps/coverage/WARNING_KEEP_NAMES_SHORT.txt b/src/test/run-make/coverage/WARNING_KEEP_NAMES_SHORT.txt similarity index 100% rename from src/test/run-make-fulldeps/coverage/WARNING_KEEP_NAMES_SHORT.txt rename to src/test/run-make/coverage/WARNING_KEEP_NAMES_SHORT.txt diff --git a/src/test/run-make-fulldeps/coverage/abort.rs b/src/test/run-make/coverage/abort.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/abort.rs rename to src/test/run-make/coverage/abort.rs diff --git a/src/test/run-make-fulldeps/coverage/assert.rs b/src/test/run-make/coverage/assert.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/assert.rs rename to src/test/run-make/coverage/assert.rs diff --git a/src/test/run-make-fulldeps/coverage/async.rs b/src/test/run-make/coverage/async.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/async.rs rename to src/test/run-make/coverage/async.rs diff --git a/src/test/run-make-fulldeps/coverage/async2.rs b/src/test/run-make/coverage/async2.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/async2.rs rename to src/test/run-make/coverage/async2.rs diff --git a/src/test/run-make-fulldeps/coverage/closure.rs b/src/test/run-make/coverage/closure.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/closure.rs rename to src/test/run-make/coverage/closure.rs diff --git a/src/test/run-make-fulldeps/coverage/closure_macro.rs b/src/test/run-make/coverage/closure_macro.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/closure_macro.rs rename to src/test/run-make/coverage/closure_macro.rs diff --git a/src/test/run-make-fulldeps/coverage/closure_macro_async.rs b/src/test/run-make/coverage/closure_macro_async.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/closure_macro_async.rs rename to src/test/run-make/coverage/closure_macro_async.rs diff --git a/src/test/run-make/coverage/compiletest-ignore-dir b/src/test/run-make/coverage/compiletest-ignore-dir new file mode 100644 index 0000000000000..b533b272d38cf --- /dev/null +++ b/src/test/run-make/coverage/compiletest-ignore-dir @@ -0,0 +1,3 @@ +# Directory "coverage" supports the tests at prefix ../coverage-* + +# Use ./x.py [options] test src/test/run-make/coverage to run all related tests. diff --git a/src/test/run-make-fulldeps/coverage/conditions.rs b/src/test/run-make/coverage/conditions.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/conditions.rs rename to src/test/run-make/coverage/conditions.rs diff --git a/src/test/run-make-fulldeps/coverage/continue.rs b/src/test/run-make/coverage/continue.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/continue.rs rename to src/test/run-make/coverage/continue.rs diff --git a/src/test/run-make/coverage/coverage_tools.mk b/src/test/run-make/coverage/coverage_tools.mk new file mode 100644 index 0000000000000..8fce5f1b958fc --- /dev/null +++ b/src/test/run-make/coverage/coverage_tools.mk @@ -0,0 +1,6 @@ +# Common Makefile include for Rust `run-make/coverage-* tests. Include this +# file with the line: +# +# -include ../coverage/coverage_tools.mk + +-include ../../run-make-fulldeps/tools.mk diff --git a/src/test/run-make-fulldeps/coverage/dead_code.rs b/src/test/run-make/coverage/dead_code.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/dead_code.rs rename to src/test/run-make/coverage/dead_code.rs diff --git a/src/test/run-make-fulldeps/coverage/doctest.rs b/src/test/run-make/coverage/doctest.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/doctest.rs rename to src/test/run-make/coverage/doctest.rs diff --git a/src/test/run-make-fulldeps/coverage/drop_trait.rs b/src/test/run-make/coverage/drop_trait.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/drop_trait.rs rename to src/test/run-make/coverage/drop_trait.rs diff --git a/src/test/run-make-fulldeps/coverage/generics.rs b/src/test/run-make/coverage/generics.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/generics.rs rename to src/test/run-make/coverage/generics.rs diff --git a/src/test/run-make-fulldeps/coverage/if.rs b/src/test/run-make/coverage/if.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/if.rs rename to src/test/run-make/coverage/if.rs diff --git a/src/test/run-make-fulldeps/coverage/if_else.rs b/src/test/run-make/coverage/if_else.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/if_else.rs rename to src/test/run-make/coverage/if_else.rs diff --git a/src/test/run-make-fulldeps/coverage/inline.rs b/src/test/run-make/coverage/inline.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/inline.rs rename to src/test/run-make/coverage/inline.rs diff --git a/src/test/run-make-fulldeps/coverage/inner_items.rs b/src/test/run-make/coverage/inner_items.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/inner_items.rs rename to src/test/run-make/coverage/inner_items.rs diff --git a/src/test/run-make-fulldeps/coverage/issue-83601.rs b/src/test/run-make/coverage/issue-83601.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/issue-83601.rs rename to src/test/run-make/coverage/issue-83601.rs diff --git a/src/test/run-make-fulldeps/coverage/issue-84561.rs b/src/test/run-make/coverage/issue-84561.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/issue-84561.rs rename to src/test/run-make/coverage/issue-84561.rs diff --git a/src/test/run-make-fulldeps/coverage/lazy_boolean.rs b/src/test/run-make/coverage/lazy_boolean.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/lazy_boolean.rs rename to src/test/run-make/coverage/lazy_boolean.rs diff --git a/src/test/run-make-fulldeps/coverage/lib/doctest_crate.rs b/src/test/run-make/coverage/lib/doctest_crate.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/lib/doctest_crate.rs rename to src/test/run-make/coverage/lib/doctest_crate.rs diff --git a/src/test/run-make-fulldeps/coverage/lib/used_crate.rs b/src/test/run-make/coverage/lib/used_crate.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/lib/used_crate.rs rename to src/test/run-make/coverage/lib/used_crate.rs diff --git a/src/test/run-make-fulldeps/coverage/lib/used_inline_crate.rs b/src/test/run-make/coverage/lib/used_inline_crate.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/lib/used_inline_crate.rs rename to src/test/run-make/coverage/lib/used_inline_crate.rs diff --git a/src/test/run-make-fulldeps/coverage/loop_break_value.rs b/src/test/run-make/coverage/loop_break_value.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/loop_break_value.rs rename to src/test/run-make/coverage/loop_break_value.rs diff --git a/src/test/run-make-fulldeps/coverage/loops_branches.rs b/src/test/run-make/coverage/loops_branches.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/loops_branches.rs rename to src/test/run-make/coverage/loops_branches.rs diff --git a/src/test/run-make-fulldeps/coverage/match_or_pattern.rs b/src/test/run-make/coverage/match_or_pattern.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/match_or_pattern.rs rename to src/test/run-make/coverage/match_or_pattern.rs diff --git a/src/test/run-make-fulldeps/coverage/nested_loops.rs b/src/test/run-make/coverage/nested_loops.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/nested_loops.rs rename to src/test/run-make/coverage/nested_loops.rs diff --git a/src/test/run-make-fulldeps/coverage/no_cov_crate.rs b/src/test/run-make/coverage/no_cov_crate.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/no_cov_crate.rs rename to src/test/run-make/coverage/no_cov_crate.rs diff --git a/src/test/run-make-fulldeps/coverage/no_cov_func.rs b/src/test/run-make/coverage/no_cov_func.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/no_cov_func.rs rename to src/test/run-make/coverage/no_cov_func.rs diff --git a/src/test/run-make-fulldeps/coverage/overflow.rs b/src/test/run-make/coverage/overflow.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/overflow.rs rename to src/test/run-make/coverage/overflow.rs diff --git a/src/test/run-make-fulldeps/coverage/panic_unwind.rs b/src/test/run-make/coverage/panic_unwind.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/panic_unwind.rs rename to src/test/run-make/coverage/panic_unwind.rs diff --git a/src/test/run-make-fulldeps/coverage/partial_eq.rs b/src/test/run-make/coverage/partial_eq.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/partial_eq.rs rename to src/test/run-make/coverage/partial_eq.rs diff --git a/src/test/run-make-fulldeps/coverage/simple_loop.rs b/src/test/run-make/coverage/simple_loop.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/simple_loop.rs rename to src/test/run-make/coverage/simple_loop.rs diff --git a/src/test/run-make-fulldeps/coverage/simple_match.rs b/src/test/run-make/coverage/simple_match.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/simple_match.rs rename to src/test/run-make/coverage/simple_match.rs diff --git a/src/test/run-make-fulldeps/coverage/tight_inf_loop.rs b/src/test/run-make/coverage/tight_inf_loop.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/tight_inf_loop.rs rename to src/test/run-make/coverage/tight_inf_loop.rs diff --git a/src/test/run-make-fulldeps/coverage/try_error_result.rs b/src/test/run-make/coverage/try_error_result.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/try_error_result.rs rename to src/test/run-make/coverage/try_error_result.rs diff --git a/src/test/run-make-fulldeps/coverage/unused.rs b/src/test/run-make/coverage/unused.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/unused.rs rename to src/test/run-make/coverage/unused.rs diff --git a/src/test/run-make-fulldeps/coverage/uses_crate.rs b/src/test/run-make/coverage/uses_crate.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/uses_crate.rs rename to src/test/run-make/coverage/uses_crate.rs diff --git a/src/test/run-make-fulldeps/coverage/uses_inline_crate.rs b/src/test/run-make/coverage/uses_inline_crate.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/uses_inline_crate.rs rename to src/test/run-make/coverage/uses_inline_crate.rs diff --git a/src/test/run-make-fulldeps/coverage/while.rs b/src/test/run-make/coverage/while.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/while.rs rename to src/test/run-make/coverage/while.rs diff --git a/src/test/run-make-fulldeps/coverage/while_early_ret.rs b/src/test/run-make/coverage/while_early_ret.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/while_early_ret.rs rename to src/test/run-make/coverage/while_early_ret.rs diff --git a/src/test/run-make-fulldeps/coverage/yield.rs b/src/test/run-make/coverage/yield.rs similarity index 100% rename from src/test/run-make-fulldeps/coverage/yield.rs rename to src/test/run-make/coverage/yield.rs