Unverified Commit 4f5b9963 by Kewde Committed by GitHub

tests: fix backup tests (#1154)

tests: wait for the backup to complete before finishing it
tests: only trigger internal backup (from main to temp tables) when version is larger or equal to 3.26
parent 9a0c292d
...@@ -151,14 +151,15 @@ describe('backup', function() { ...@@ -151,14 +151,15 @@ describe('backup', function() {
}); });
}); });
(sqlite3.VERSION_NUMBER < 3007011 ? it.skip : it) ('can backup from temp to main', function(done) { (sqlite3.VERSION_NUMBER < 3026000 ? it.skip : it) ('can backup from temp to main', function(done) {
db.exec("CREATE TEMP TABLE space (txt TEXT)", function(err) { db.exec("CREATE TEMP TABLE space (txt TEXT)", function(err) {
if (err) throw err; if (err) throw err;
db.exec("INSERT INTO space(txt) VALUES('monkey')", function(err) { db.exec("INSERT INTO space(txt) VALUES('monkey')", function(err) {
if (err) throw err; if (err) throw err;
var backup = db.backup('test/tmp/backup.db', 'temp', 'main', true, function(err) { var backup = db.backup('test/tmp/backup.db', 'temp', 'main', true, function(err) {
if (err) throw err; if (err) throw err;
backup.step(-1); backup.step(-1, function(err) {
if (err) throw err;
backup.finish(function(err) { backup.finish(function(err) {
if (err) throw err; if (err) throw err;
var db2 = new sqlite3.Database('test/tmp/backup.db', function(err) { var db2 = new sqlite3.Database('test/tmp/backup.db', function(err) {
...@@ -174,17 +175,20 @@ describe('backup', function() { ...@@ -174,17 +175,20 @@ describe('backup', function() {
}); });
}); });
}); });
});
(sqlite3.VERSION_NUMBER < 3007011 ? it.skip : it) ('can backup from main to temp', function(done) { (sqlite3.VERSION_NUMBER < 3026000 ? it.skip : it) ('can backup from main to temp', function(done) {
var backup = db.backup('test/support/prepare.db', 'main', 'temp', false, function(err) { var backup = db.backup('test/support/prepare.db', 'main', 'temp', false, function(err) {
if (err) throw err; if (err) throw err;
backup.step(-1); backup.step(-1, function(err) {
if (err) throw err;
backup.finish(function(err) { backup.finish(function(err) {
if (err) throw err; if (err) throw err;
assertRowsMatchDb(db, 'temp.foo', db, 'main.foo', done); assertRowsMatchDb(db, 'temp.foo', db, 'main.foo', done);
}); });
}); });
}); });
});
it ('cannot backup to a locked db', function(done) { it ('cannot backup to a locked db', function(done) {
var db2 = new sqlite3.Database('test/tmp/backup.db', function(err) { var db2 = new sqlite3.Database('test/tmp/backup.db', function(err) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment