--- a/src/engines/dfa/test.rs
+++ b/src/engines/dfa/test.rs
@@ -1,3 +1,4 @@
+#![cfg(feature = "ropey")]
 use proptest::proptest;
 
 use crate::engines::dfa::find_iter;
--- a/src/engines/hybrid/test.rs
+++ b/src/engines/hybrid/test.rs
@@ -1,3 +1,4 @@
+#![cfg(feature = "ropey")]
 use proptest::proptest;
 
 use crate::engines::hybrid::find_iter;
--- a/src/engines/pikevm/tests.rs
+++ b/src/engines/pikevm/tests.rs
@@ -33,6 +33,7 @@
     }
 }
 
+#[cfg(feature = "ropey")]
 #[test]
 fn smoke_test() {
     let text = std::fs::read_to_string("test_cases/syntax.rs").unwrap();
--- a/src/literal/tests.rs
+++ b/src/literal/tests.rs
@@ -1,3 +1,4 @@
+#![cfg(feature = "ropey")]
 use std::iter;
 
 use proptest::proptest;
--- a/src/tests.rs
+++ b/src/tests.rs
@@ -114,6 +114,7 @@
     Ok(())
 }
 
+#[cfg(feature = "ropey")]
 #[test]
 fn prefix() -> Result<()> {
     let regex = Regex::builder().build("^foo$").unwrap();
