diff --git a/library/test/src/lib.rs b/library/test/src/lib.rs index 2fa5a8e5e388..2e93796d9815 100644 --- a/library/test/src/lib.rs +++ b/library/test/src/lib.rs @@ -298,24 +298,18 @@ where let mut filtered = FilteredTests { tests: Vec::new(), benches: Vec::new(), next_id: 0 }; - for test in filter_tests(opts, tests) { + let mut filtered_tests = filter_tests(opts, tests); + if !opts.bench_benchmarks { + filtered_tests = convert_benchmarks_to_tests(filtered_tests); + } + + for test in filtered_tests { let mut desc = test.desc; desc.name = desc.name.with_padding(test.testfn.padding()); match test.testfn { - DynBenchFn(benchfn) => { - if opts.bench_benchmarks { - filtered.add_bench(desc, DynBenchFn(benchfn)); - } else { - filtered.add_test(desc, DynBenchAsTestFn(benchfn)); - } - } - StaticBenchFn(benchfn) => { - if opts.bench_benchmarks { - filtered.add_bench(desc, StaticBenchFn(benchfn)); - } else { - filtered.add_test(desc, StaticBenchAsTestFn(benchfn)); - } + DynBenchFn(_) | StaticBenchFn(_) => { + filtered.add_bench(desc, test.testfn); } testfn => { filtered.add_test(desc, testfn); diff --git a/tests/run-make/libtest-padding/Makefile b/tests/run-make/libtest-padding/Makefile index 063d0dc0a6c0..42bc1192925d 100644 --- a/tests/run-make/libtest-padding/Makefile +++ b/tests/run-make/libtest-padding/Makefile @@ -2,7 +2,7 @@ # needs-unwind because #[bench] and -Cpanic=abort requires -Zpanic-abort-tests include ../tools.mk -NORMALIZE=sed 's%[0-9,]\+ ns/iter (+/- [0-9,]\+)%?? ns/iter (+/- ??)%' | sed 's%finished in [0-9\.]\+%finished in ??%' +NORMALIZE=sed 's%[0-9,]\{1,\} ns/iter (+/- [0-9,]\{1,\})%?? ns/iter (+/- ??)%' | sed 's%finished in [0-9\.]\{1,\}%finished in ??%' all: $(RUSTC) --test tests.rs diff --git a/tests/run-make/libtest-padding/test.stdout b/tests/run-make/libtest-padding/test.stdout index c655f0347564..8ffc810f6cdc 100644 --- a/tests/run-make/libtest-padding/test.stdout +++ b/tests/run-make/libtest-padding/test.stdout @@ -1,6 +1,6 @@ running 4 tests -test short_bench_name ... ok +test short_bench_name ... ok test short_test_name ... ok test this_is_a_really_long_bench_name ... ok test this_is_a_really_long_test_name ... ok