[geary/wip/imap-db-acccount-test-flakey: 1/2] Ensure ImapDB.DatabaseTest and AccountTest dispose of their db instances
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/wip/imap-db-acccount-test-flakey: 1/2] Ensure ImapDB.DatabaseTest and AccountTest dispose of their db instances
- Date: Mon, 21 Jan 2019 14:50:42 +0000 (UTC)
commit 719bbca9018c38315ec80c0743eb60a21a017f81
Author: Michael Gratton <mike vee net>
Date: Tue Jan 22 01:45:02 2019 +1100
Ensure ImapDB.DatabaseTest and AccountTest dispose of their db instances
Make sure the database these instances are/have are destroyed before
deleting the database file, so it is definitely not being kept open.
test/engine/imap-db/imap-db-account-test.vala | 1 +
test/engine/imap-db/imap-db-database-test.vala | 32 ++++++++++++++------------
2 files changed, 18 insertions(+), 15 deletions(-)
---
diff --git a/test/engine/imap-db/imap-db-account-test.vala b/test/engine/imap-db/imap-db-account-test.vala
index 768416bc..c6aac242 100644
--- a/test/engine/imap-db/imap-db-account-test.vala
+++ b/test/engine/imap-db/imap-db-account-test.vala
@@ -59,6 +59,7 @@ class Geary.ImapDB.AccountTest : TestCase {
(obj, ret) => { async_complete(ret); }
);
this.account.close_async.end(async_result());
+ this.account = null;
delete_file(this.tmp_dir);
this.tmp_dir = null;
diff --git a/test/engine/imap-db/imap-db-database-test.vala b/test/engine/imap-db/imap-db-database-test.vala
index f7c55728..1f823d6b 100644
--- a/test/engine/imap-db/imap-db-database-test.vala
+++ b/test/engine/imap-db/imap-db-database-test.vala
@@ -9,21 +9,31 @@
class Geary.ImapDB.DatabaseTest : TestCase {
+ private GLib.File? tmp_dir = null;
+
+
public DatabaseTest() {
base("Geary.ImapDb.DatabaseTest");
add_test("open_new", open_new);
add_test("upgrade_0_6", upgrade_0_6);
}
- public void open_new() throws Error {
- GLib.File tmp_dir = GLib.File.new_for_path(
- GLib.DirUtils.make_tmp("geary-db-database-test-XXXXXX")
+ public override void set_up() throws GLib.Error {
+ this.tmp_dir = GLib.File.new_for_path(
+ GLib.DirUtils.make_tmp("geary-imap-db-database-test-XXXXXX")
);
+ }
+
+ public override void tear_down() throws GLib.Error {
+ delete_file(this.tmp_dir);
+ this.tmp_dir = null;
+ }
+ public void open_new() throws Error {
Database db = new Database(
- tmp_dir.get_child("test.db"),
+ this.tmp_dir.get_child("test.db"),
GLib.File.new_for_path(_SOURCE_ROOT_DIR).get_child("sql"),
- tmp_dir.get_child("attachments"),
+ this.tmp_dir.get_child("attachments"),
new Geary.SimpleProgressMonitor(Geary.ProgressType.DB_UPGRADE),
new Geary.SimpleProgressMonitor(Geary.ProgressType.DB_VACUUM),
"test example com"
@@ -41,15 +51,9 @@ class Geary.ImapDB.DatabaseTest : TestCase {
// Need to close it again to stop the GC process running
db.close();
-
- delete_file(tmp_dir);
}
public void upgrade_0_6() throws Error {
- GLib.File tmp_dir = GLib.File.new_for_path(
- GLib.DirUtils.make_tmp("geary-db-database-test-XXXXXX")
- );
-
// Since the upgrade process also messes around with
// attachments on disk which we want to be able to test, we
// need to have a complete-ish database and attachments
@@ -64,11 +68,11 @@ class Geary.ImapDB.DatabaseTest : TestCase {
GLib.File db_archive = GLib.File
.new_for_uri(RESOURCE_URI)
.resolve_relative_path(DB_0_6_RESOURCE);
- GLib.File db_dir = tmp_dir.get_child(DB_0_6_DIR);
+ GLib.File db_dir = this.tmp_dir.get_child(DB_0_6_DIR);
GLib.File db_file = db_dir.get_child("geary.db");
GLib.File attachments_dir = db_dir.get_child("attachments");
- unpack_archive(db_archive, tmp_dir);
+ unpack_archive(db_archive, this.tmp_dir);
// This number is the id of the last known message in the
// database
@@ -119,8 +123,6 @@ class Geary.ImapDB.DatabaseTest : TestCase {
// Need to close it again to stop the GC process running
db.close();
-
- delete_file(tmp_dir);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]