From edfa7402f0d9e97abe561bc0e9c8eeef11d0cac8 Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Tue, 27 May 2025 16:45:02 +0300 Subject: [PATCH] sqlite3/test: Use tempfile in read frame test case ...make test runs idempotent, as suggested by Jussi. --- Cargo.lock | 1 + sqlite3/Cargo.toml | 3 +++ sqlite3/tests/compat/mod.rs | 11 +++++++---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9aad80c35..ef8415504 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1977,6 +1977,7 @@ dependencies = [ "env_logger 0.11.7", "libc", "limbo_core", + "tempfile", "tracing", "tracing-appender", "tracing-subscriber", diff --git a/sqlite3/Cargo.toml b/sqlite3/Cargo.toml index 84b71b09f..bc6c63989 100644 --- a/sqlite3/Cargo.toml +++ b/sqlite3/Cargo.toml @@ -29,6 +29,9 @@ tracing = "0.1.41" tracing-appender = "0.2.3" tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } +[dev-dependencies] +tempfile = "3.8.0" + [package.metadata.capi.header] name = "sqlite3.h" diff --git a/sqlite3/tests/compat/mod.rs b/sqlite3/tests/compat/mod.rs index 3213fbea1..28926dcce 100644 --- a/sqlite3/tests/compat/mod.rs +++ b/sqlite3/tests/compat/mod.rs @@ -1,6 +1,7 @@ #![allow(non_camel_case_types)] #![allow(dead_code)] +use std::ffi::CString; use std::ptr; #[repr(C)] @@ -203,6 +204,8 @@ mod tests { #[cfg(not(feature = "sqlite3"))] mod libsql_ext { + use libc::tm; + use super::*; #[test] @@ -255,10 +258,10 @@ mod tests { fn test_read_frame() { unsafe { let mut db = ptr::null_mut(); - assert_eq!( - sqlite3_open(c"../testing/test_read_frame.db".as_ptr(), &mut db), - SQLITE_OK - ); + let mut temp_file = tempfile::NamedTempFile::new().unwrap(); + let path = temp_file.path(); + let c_path = CString::new(path.to_str().unwrap()).unwrap(); + assert_eq!(sqlite3_open(c_path.as_ptr(), &mut db), SQLITE_OK); // Create a table and insert a row. let mut stmt = ptr::null_mut(); assert_eq!(