1 //! Ensure we reject connections when SQLite is in single-threaded mode, as it 2 //! would violate safety if multiple Rust threads tried to use connections. 3 4 use rusqlite::ffi; 5 use rusqlite::Connection; 6 7 #[test] 8 #[should_panic] test_error_when_singlethread_mode()9fn test_error_when_singlethread_mode() { 10 // put SQLite into single-threaded mode 11 unsafe { 12 if ffi::sqlite3_config(ffi::SQLITE_CONFIG_SINGLETHREAD) != ffi::SQLITE_OK { 13 return; 14 } 15 if ffi::sqlite3_initialize() != ffi::SQLITE_OK { 16 return; 17 } 18 } 19 20 let _ = Connection::open_in_memory().unwrap(); 21 } 22