about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
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) {}