From b56cb9e032bd6699a79982a3c20d5f2dd9646c83 Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Mon, 31 Oct 2022 00:42:10 -0700 Subject: [PATCH 1/4] Include both benchmarks and tests in the numbers given to `TeFiltered{,Out}` --- library/test/src/lib.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/library/test/src/lib.rs b/library/test/src/lib.rs index 56a8d92f55db2..f16d94bbc81c3 100644 --- a/library/test/src/lib.rs +++ b/library/test/src/lib.rs @@ -246,6 +246,9 @@ impl FilteredTests { })); self.add_test(desc, testfn); } + fn total_len(&self) -> usize { + self.tests.len() + self.benchs.len() + } } pub fn run_tests( @@ -303,13 +306,13 @@ where }; } - let filtered_out = tests_len - filtered.tests.len(); + let filtered_out = tests_len - filtered.total_len(); let event = TestEvent::TeFilteredOut(filtered_out); notify_about_test_event(event)?; let shuffle_seed = get_shuffle_seed(opts); - let event = TestEvent::TeFiltered(filtered.tests.len(), shuffle_seed); + let event = TestEvent::TeFiltered(filtered.total_len(), shuffle_seed); notify_about_test_event(event)?; let concurrency = opts.test_threads.unwrap_or_else(get_concurrency); From 8c71820e176a8a9711f28c183812e7aaff4e1ffb Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Mon, 31 Oct 2022 04:21:14 -0700 Subject: [PATCH 2/4] smoketest that libtest doesn't panic in `#[bench]` --- src/test/run-make/test-benches/Makefile | 9 +++++++++ src/test/run-make/test-benches/smokebench.rs | 14 ++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 src/test/run-make/test-benches/Makefile create mode 100644 src/test/run-make/test-benches/smokebench.rs diff --git a/src/test/run-make/test-benches/Makefile b/src/test/run-make/test-benches/Makefile new file mode 100644 index 0000000000000..4df106fad1448 --- /dev/null +++ b/src/test/run-make/test-benches/Makefile @@ -0,0 +1,9 @@ +include ../../run-make-fulldeps/tools.mk + +all: + # Smoke-test that `#[bench]` isn't entirely broken. + $(RUSTC) --test smokebench.rs -O + $(call RUN,smokebench --bench) + $(call RUN,smokebench --bench noiter) + $(call RUN,smokebench --bench yesiter) + $(call RUN,smokebench) diff --git a/src/test/run-make/test-benches/smokebench.rs b/src/test/run-make/test-benches/smokebench.rs new file mode 100644 index 0000000000000..ef5e5a6206847 --- /dev/null +++ b/src/test/run-make/test-benches/smokebench.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +#[bench] +fn smoke_yesiter(b: &mut test::Bencher) { + let mut i = 0usize; + b.iter(|| { + i = i.wrapping_add(1); + i + }) +} + +#[bench] +fn smoke_noiter(_: &mut test::Bencher) {} From 656b9a48b6ee1c0fc5ff2519bccf6d4a2fe34c3b Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Mon, 31 Oct 2022 05:19:02 -0700 Subject: [PATCH 3/4] move libtest bench smoketest to run-make-fulldeps --- src/test/{run-make => run-make-fulldeps}/test-benches/Makefile | 2 +- .../{run-make => run-make-fulldeps}/test-benches/smokebench.rs | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/test/{run-make => run-make-fulldeps}/test-benches/Makefile (84%) rename src/test/{run-make => run-make-fulldeps}/test-benches/smokebench.rs (100%) diff --git a/src/test/run-make/test-benches/Makefile b/src/test/run-make-fulldeps/test-benches/Makefile similarity index 84% rename from src/test/run-make/test-benches/Makefile rename to src/test/run-make-fulldeps/test-benches/Makefile index 4df106fad1448..a1f0a9510d945 100644 --- a/src/test/run-make/test-benches/Makefile +++ b/src/test/run-make-fulldeps/test-benches/Makefile @@ -1,4 +1,4 @@ -include ../../run-make-fulldeps/tools.mk +include ../tools.mk all: # Smoke-test that `#[bench]` isn't entirely broken. diff --git a/src/test/run-make/test-benches/smokebench.rs b/src/test/run-make-fulldeps/test-benches/smokebench.rs similarity index 100% rename from src/test/run-make/test-benches/smokebench.rs rename to src/test/run-make-fulldeps/test-benches/smokebench.rs From bf88755f8892c1e42eccd302ed5b17716f669975 Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Mon, 31 Oct 2022 05:53:54 -0700 Subject: [PATCH 4/4] Add `ignore-cross-compile` to the `#[bench]` smoketest, and move it back to run-make --- .../{run-make-fulldeps => run-make}/test-benches/Makefile | 4 +++- .../test-benches/smokebench.rs | 0 2 files changed, 3 insertions(+), 1 deletion(-) rename src/test/{run-make-fulldeps => run-make}/test-benches/Makefile (77%) rename src/test/{run-make-fulldeps => run-make}/test-benches/smokebench.rs (100%) diff --git a/src/test/run-make-fulldeps/test-benches/Makefile b/src/test/run-make/test-benches/Makefile similarity index 77% rename from src/test/run-make-fulldeps/test-benches/Makefile rename to src/test/run-make/test-benches/Makefile index a1f0a9510d945..8fc122515d0a3 100644 --- a/src/test/run-make-fulldeps/test-benches/Makefile +++ b/src/test/run-make/test-benches/Makefile @@ -1,4 +1,6 @@ -include ../tools.mk +include ../../run-make-fulldeps/tools.mk + +# ignore-cross-compile all: # Smoke-test that `#[bench]` isn't entirely broken. diff --git a/src/test/run-make-fulldeps/test-benches/smokebench.rs b/src/test/run-make/test-benches/smokebench.rs similarity index 100% rename from src/test/run-make-fulldeps/test-benches/smokebench.rs rename to src/test/run-make/test-benches/smokebench.rs