about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorThom Chiovoloni <thom@shift.click>2022-10-31 04:21:14 -0700
committerThom Chiovoloni <thom@shift.click>2022-10-31 04:21:26 -0700
commit8c71820e176a8a9711f28c183812e7aaff4e1ffb (patch)
tree42b63f26e1436db79b97227817363a0756908b3f /src/test
parentb56cb9e032bd6699a79982a3c20d5f2dd9646c83 (diff)
downloadrust-8c71820e176a8a9711f28c183812e7aaff4e1ffb.tar.gz
rust-8c71820e176a8a9711f28c183812e7aaff4e1ffb.zip
smoketest that libtest doesn't panic in `#[bench]`
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-make/test-benches/Makefile9
-rw-r--r--src/test/run-make/test-benches/smokebench.rs14
2 files changed, 23 insertions, 0 deletions
diff --git a/src/test/run-make/test-benches/Makefile b/src/test/run-make/test-benches/Makefile
new file mode 100644
index 00000000000..4df106fad14
--- /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 00000000000..ef5e5a62068
--- /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) {}