Skip to content

Commit

Permalink
Rollup merge of rust-lang#92409 - bjorn3:libtest_cleanups, r=m-ou-se
Browse files Browse the repository at this point in the history
Couple of libtest cleanups

Remove the unnecessary `TDynBenchFn` trait and remove a couple of unused attributes and feature gates.
  • Loading branch information
matthiaskrgr committed Jan 3, 2022
2 parents 0335b7b + e015b9e commit 92f28bd
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 21 deletions.
18 changes: 4 additions & 14 deletions library/test/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,12 @@
// running tests while providing a base that other test frameworks may
// build off of.

// N.B., this is also specified in this crate's Cargo.toml, but librustc_ast contains logic specific to
// this crate, which relies on this attribute (rather than the value of `--crate-name` passed by
// cargo) to detect this crate.

#![crate_name = "test"]
#![unstable(feature = "test", issue = "50297")]
#![doc(test(attr(deny(warnings))))]
#![feature(libc)]
#![feature(rustc_private)]
#![feature(nll)]
#![feature(available_parallelism)]
#![feature(bench_black_box)]
#![feature(internal_output_capture)]
#![feature(panic_unwind)]
#![feature(staged_api)]
#![feature(termination_trait_lib)]
#![feature(test)]
Expand Down Expand Up @@ -444,8 +436,8 @@ pub fn convert_benchmarks_to_tests(tests: Vec<TestDescAndFn>) -> Vec<TestDescAnd
.into_iter()
.map(|x| {
let testfn = match x.testfn {
DynBenchFn(bench) => DynTestFn(Box::new(move || {
bench::run_once(|b| __rust_begin_short_backtrace(|| bench.run(b)))
DynBenchFn(benchfn) => DynTestFn(Box::new(move || {
bench::run_once(|b| __rust_begin_short_backtrace(|| benchfn(b)))
})),
StaticBenchFn(benchfn) => DynTestFn(Box::new(move || {
bench::run_once(|b| __rust_begin_short_backtrace(|| benchfn(b)))
Expand Down Expand Up @@ -544,11 +536,9 @@ pub fn run_test(
TestRunOpts { strategy, nocapture: opts.nocapture, concurrency, time: opts.time_options };

match testfn {
DynBenchFn(bencher) => {
DynBenchFn(benchfn) => {
// Benchmarks aren't expected to panic, so we run them all in-process.
crate::bench::benchmark(id, desc, monitor_ch, opts.nocapture, |harness| {
bencher.run(harness)
});
crate::bench::benchmark(id, desc, monitor_ch, opts.nocapture, benchfn);
None
}
StaticBenchFn(benchfn) => {
Expand Down
1 change: 0 additions & 1 deletion library/test/src/stats.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#![allow(missing_docs)]
#![allow(deprecated)] // Float

use std::mem;

Expand Down
7 changes: 1 addition & 6 deletions library/test/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,6 @@ impl fmt::Display for TestName {
}
}

/// Represents a benchmark function.
pub trait TDynBenchFn: Send {
fn run(&self, harness: &mut Bencher);
}

// A function that runs a test. If the function returns successfully,
// the test succeeds; if the function panics then the test fails. We
// may need to come up with a more clever definition of test in order
Expand All @@ -87,7 +82,7 @@ pub enum TestFn {
StaticTestFn(fn()),
StaticBenchFn(fn(&mut Bencher)),
DynTestFn(Box<dyn FnOnce() + Send>),
DynBenchFn(Box<dyn TDynBenchFn + 'static>),
DynBenchFn(Box<dyn Fn(&mut Bencher) + Send>),
}

impl TestFn {
Expand Down

0 comments on commit 92f28bd

Please sign in to comment.