From e7bfb7b0ef2ec7826d5513d52a2a3ea2a3392bc8 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Sat, 1 Dec 2018 13:57:20 +0100 Subject: [PATCH] storage - add beforeClose() to tests --- src/vs/base/node/storage.ts | 2 +- src/vs/base/test/node/storage/storage.test.ts | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/vs/base/node/storage.ts b/src/vs/base/node/storage.ts index 63d8c62b6f5..3e96ee31142 100644 --- a/src/vs/base/node/storage.ts +++ b/src/vs/base/node/storage.ts @@ -280,7 +280,7 @@ export class Storage extends Disposable implements IStorage { // even if there is an error flushing. We must always ensure // the DB is closed to avoid corruption. const onDone = () => this.database.close(); - return this.flushDelayer.trigger(() => this.flushPending(), this.flushDelay).then(onDone, onDone); + return this.flushDelayer.trigger(() => this.flushPending(), 0 /* as soon as possible */).then(onDone, onDone); } private flushPending(): Thenable { diff --git a/src/vs/base/test/node/storage/storage.test.ts b/src/vs/base/test/node/storage/storage.test.ts index 69a7ed21c43..f927121271c 100644 --- a/src/vs/base/test/node/storage/storage.test.ts +++ b/src/vs/base/test/node/storage/storage.test.ts @@ -90,6 +90,7 @@ suite('Storage Library', () => { await Promise.all([delete1Promise, delete2Promise, delete3Promise]).then(() => deletePromiseResolved = true); equal(deletePromiseResolved, true); + storage.beforeClose(); await storage.close(); await del(storageDir, tmpdir()); }); @@ -146,6 +147,7 @@ suite('Storage Library', () => { database.fireDidChangeItemsExternal({ items: change }); equal(changes.size, 0); + storage.beforeClose(); await storage.close(); await del(storageDir, tmpdir()); }); @@ -166,6 +168,7 @@ suite('Storage Library', () => { let setPromiseResolved = false; Promise.all([set1Promise, set2Promise]).then(() => setPromiseResolved = true); + storage.beforeClose(); await storage.close(); equal(setPromiseResolved, true); @@ -176,6 +179,7 @@ suite('Storage Library', () => { equal(storage.get('foo'), 'bar'); equal(storage.get('bar'), 'foo'); + storage.beforeClose(); await storage.close(); storage = new Storage(new SQLiteStorageDatabase(join(storageDir, 'storage.db'))); @@ -190,6 +194,7 @@ suite('Storage Library', () => { let deletePromiseResolved = false; Promise.all([delete1Promise, delete2Promise]).then(() => deletePromiseResolved = true); + storage.beforeClose(); await storage.close(); equal(deletePromiseResolved, true); @@ -200,6 +205,7 @@ suite('Storage Library', () => { ok(!storage.get('foo')); ok(!storage.get('bar')); + storage.beforeClose(); await storage.close(); await del(storageDir, tmpdir()); }); @@ -242,6 +248,7 @@ suite('Storage Library', () => { await Promise.all([set4Promise, delete1Promise]).then(() => setAndDeletePromiseResolved = true); ok(setAndDeletePromiseResolved); + storage.beforeClose(); await storage.close(); await del(storageDir, tmpdir()); }); @@ -620,6 +627,7 @@ suite('SQLite Storage Library', () => { equal(items.get('foo3'), 'bar'); equal(items.get('some/foo3/path'), 'some/bar/path'); + storage.beforeClose(); await storage.close(); await del(storageDir, tmpdir());