--- a/tests/smoke.rs
+++ b/tests/smoke.rs
@@ -7,2 +7,3 @@
 #[test]
+#[cfg(feature = "std")]
 fn bool() {
@@ -14,2 +15,3 @@
 #[test]
+#[cfg(feature = "std")]
 fn u8() {
@@ -25,2 +27,3 @@
 #[test]
+#[cfg(feature = "std")]
 fn i8() {
@@ -36,2 +39,3 @@
 #[test]
+#[cfg(feature = "std")]
 fn u32() {
@@ -49,2 +53,3 @@
 #[test]
+#[cfg(feature = "std")]
 fn u64() {
@@ -63,2 +68,3 @@
 #[test]
+#[cfg(feature = "std")]
 fn u128() {
@@ -77,5 +83,12 @@
 
+fn getrng() -> fastrand::Rng {
+    #[cfg(feature="std")]
+    return fastrand::Rng::new();
+    #[cfg(not(feature="std"))]
+    return fastrand::Rng::with_seed(0xDEADBEEFBAADF00D);
+}
+
 #[test]
 fn fill() {
-    let mut r = fastrand::Rng::new();
+    let mut r = getrng();
     let mut a = [0u8; 64];
@@ -91,3 +104,3 @@
 fn rng() {
-    let mut r = fastrand::Rng::new();
+    let mut r = getrng();
 
@@ -103,2 +116,3 @@
 #[test]
+#[cfg(feature="std")]
 fn rng_init() {
@@ -116,3 +130,3 @@
     let mut a = fastrand::Rng::with_seed(7);
-    let mut b = fastrand::Rng::new();
+    let mut b = getrng();
     b.seed(7);
@@ -122,4 +136,5 @@
 #[test]
+#[cfg(feature = "alloc")]
 fn choose_multiple() {
-    let mut a = fastrand::Rng::new();
+    let mut a = getrng();
     let mut elements = (0..20).collect::<Vec<_>>();
@@ -137,3 +152,3 @@
     let items = [1, 4, 9, 5, 2, 3, 6, 7, 8, 0];
-    let mut r = fastrand::Rng::new();
+    let mut r = getrng();
 
