summaryrefslogtreecommitdiffstats
path: root/third_party/rust/rusqlite/tests/config_log.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /third_party/rust/rusqlite/tests/config_log.rs
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/rusqlite/tests/config_log.rs')
-rw-r--r--third_party/rust/rusqlite/tests/config_log.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/third_party/rust/rusqlite/tests/config_log.rs b/third_party/rust/rusqlite/tests/config_log.rs
new file mode 100644
index 0000000000..0c28bdf1df
--- /dev/null
+++ b/third_party/rust/rusqlite/tests/config_log.rs
@@ -0,0 +1,34 @@
+//! This file contains unit tests for `rusqlite::trace::config_log`. This
+//! function affects SQLite process-wide and so is not safe to run as a normal
+//! #[test] in the library.
+
+#[cfg(feature = "trace")]
+fn main() {
+ use lazy_static::lazy_static;
+ use std::os::raw::c_int;
+ use std::sync::Mutex;
+
+ lazy_static! {
+ static ref LOGS_RECEIVED: Mutex<Vec<(c_int, String)>> = Mutex::new(Vec::new());
+ }
+
+ fn log_handler(err: c_int, message: &str) {
+ let mut logs_received = LOGS_RECEIVED.lock().unwrap();
+ logs_received.push((err, message.to_owned()));
+ }
+
+ use rusqlite::trace;
+
+ unsafe { trace::config_log(Some(log_handler)) }.unwrap();
+ trace::log(10, "First message from rusqlite");
+ unsafe { trace::config_log(None) }.unwrap();
+ trace::log(11, "Second message from rusqlite");
+
+ let logs_received = LOGS_RECEIVED.lock().unwrap();
+ assert_eq!(logs_received.len(), 1);
+ assert_eq!(logs_received[0].0, 10);
+ assert_eq!(logs_received[0].1, "First message from rusqlite");
+}
+
+#[cfg(not(feature = "trace"))]
+fn main() {}