fix tests

This commit is contained in:
dignifiedquire
2019-07-10 16:33:36 +02:00
parent 5b04dc8fa6
commit 808a0f2890
3 changed files with 20 additions and 29 deletions

View File

@@ -533,7 +533,7 @@ fn get_config_keys_str() -> String {
let keys = &CONFIG_KEYS[..].join(" "); let keys = &CONFIG_KEYS[..].join(" ");
let sys_keys = &SYS_CONFIG_KEYS[..].join(" "); let sys_keys = &SYS_CONFIG_KEYS[..].join(" ");
format!("{} {}", keys, sys_keys) format!(" {} {} ", keys, sys_keys)
} }
pub unsafe fn dc_get_info(context: &Context) -> *mut libc::c_char { pub unsafe fn dc_get_info(context: &Context) -> *mut libc::c_char {

View File

@@ -964,7 +964,7 @@ unsafe fn export_backup(context: &Context, dir: *const libc::c_char) -> libc::c_
/*for logging only*/ /*for logging only*/
let sql = SQLite::new(); let sql = SQLite::new();
if sql.open(context, as_path(dest_pathNfilename), 0) { if sql.open(context, as_path(dest_pathNfilename), 0) {
if 0 == dc_sqlite3_table_exists(context, &sql, "backup_blobs") { if !sql.table_exists("backup_blobs") {
if !dc_sqlite3_execute( if !dc_sqlite3_execute(
context, context,
&sql, &sql,

View File

@@ -107,19 +107,21 @@ impl SQLite {
pub fn table_exists(&self, name: impl AsRef<str>) -> bool { pub fn table_exists(&self, name: impl AsRef<str>) -> bool {
match &*self.connection.read().unwrap() { match &*self.connection.read().unwrap() {
Some(conn) => { Some(conn) => table_exists(conn, name),
conn.pragma(None, "table_info", &format!("{}", name.as_ref()), |row| {
// will only be executed if the info was found
println!("row: {:?}", row.get::<_, String>(0)?);
Ok(())
})
.is_ok()
}
None => panic!("Querying closed SQLite database"), None => panic!("Querying closed SQLite database"),
} }
} }
} }
fn table_exists(conn: &Connection, name: impl AsRef<str>) -> bool {
conn.pragma(None, "table_info", &format!("{}", name.as_ref()), |row| {
// will only be executed if the info was found
println!("row: {:?}", row.get::<_, String>(0)?);
Ok(())
})
.is_ok()
}
// Return 1 -> success // Return 1 -> success
// Return 0 -> failure // Return 0 -> failure
fn dc_sqlite3_open( fn dc_sqlite3_open(
@@ -161,7 +163,7 @@ fn dc_sqlite3_open(
} }
} }
let conn_lock = sql.connection.write().unwrap(); let conn_lock = sql.connection.read().unwrap();
let conn = conn_lock.as_ref().expect("just opened"); let conn = conn_lock.as_ref().expect("just opened");
conn.pragma_update(None, "secure_delete", &"on".to_string()) conn.pragma_update(None, "secure_delete", &"on".to_string())
@@ -173,7 +175,7 @@ fn dc_sqlite3_open(
let mut exists_before_update = 0; let mut exists_before_update = 0;
let mut dbversion_before_update = 0; let mut dbversion_before_update = 0;
/* Init tables to dbversion=0 */ /* Init tables to dbversion=0 */
if 0 == dc_sqlite3_table_exists(context, sql, "config") { if !table_exists(conn, "config") {
info!( info!(
context, context,
0, 0,
@@ -339,12 +341,12 @@ fn dc_sqlite3_open(
"CREATE INDEX jobs_index1 ON jobs (desired_timestamp);", "CREATE INDEX jobs_index1 ON jobs (desired_timestamp);",
params![], params![],
); );
if 0 == dc_sqlite3_table_exists(context, sql, "config") if !table_exists(conn, "config")
|| 0 == dc_sqlite3_table_exists(context, sql, "contacts") || !table_exists(conn, "contacts")
|| 0 == dc_sqlite3_table_exists(context, sql, "chats") || !table_exists(conn, "chats")
|| 0 == dc_sqlite3_table_exists(context, sql, "chats_contacts") || !table_exists(conn, "chats_contacts")
|| 0 == dc_sqlite3_table_exists(context, sql, "msgs") || !table_exists(conn, "msgs")
|| 0 == dc_sqlite3_table_exists(context, sql, "jobs") || !table_exists(conn, "jobs")
{ {
error!( error!(
context, context,
@@ -965,17 +967,6 @@ pub fn dc_sqlite3_get_config_int(
.unwrap_or_else(|| def) .unwrap_or_else(|| def)
} }
pub fn dc_sqlite3_table_exists(
_context: &Context,
sql: &SQLite,
name: impl AsRef<str>,
) -> libc::c_int {
match sql.table_exists(name) {
true => 1,
false => 0,
}
}
pub fn dc_sqlite3_set_config_int64( pub fn dc_sqlite3_set_config_int64(
context: &Context, context: &Context,
sql: &SQLite, sql: &SQLite,