Skip to content

Commit 6e391c0

Browse files
committed
fix test suite
1 parent b4fa4db commit 6e391c0

3 files changed

Lines changed: 46 additions & 36 deletions

File tree

src/database.cc

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,19 @@ void Database::Process() {
5858
return;
5959
}
6060

61-
6261
while (open && (!locked || pending == 0) && !queue.empty()) {
6362
Call* call = queue.front();
6463

6564
if (call->exclusive && pending > 0) {
6665
break;
6766
}
6867

68+
queue.pop();
6969
locked = call->exclusive;
7070
call->callback(call->baton);
71-
queue.pop();
7271
delete call;
72+
73+
if (locked) break;
7374
}
7475
}
7576

@@ -201,7 +202,9 @@ Handle<Value> Database::Close(const Arguments& args) {
201202
}
202203

203204
void Database::EIO_BeginClose(Baton* baton) {
205+
assert(baton->db->locked);
204206
assert(baton->db->open);
207+
assert(baton->db->handle);
205208
assert(baton->db->pending == 0);
206209
eio_custom(EIO_Close, EIO_PRI_DEFAULT, EIO_AfterClose, baton);
207210
}
@@ -247,6 +250,11 @@ int Database::EIO_AfterClose(eio_req *req) {
247250
EMIT_EVENT(db->handle_, 2, args);
248251
}
249252

253+
assert(baton->db->locked);
254+
assert(!baton->db->open);
255+
assert(!baton->db->handle);
256+
assert(baton->db->pending == 0);
257+
250258
if (!db->open) {
251259
Local<Value> args[] = { String::NewSymbol("close"), argv[0] };
252260
EMIT_EVENT(db->handle_, 1, args);

test/constants.test.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
var sqlite3 = require('sqlite3');
2+
var assert = require('assert');
3+
4+
exports['test constants'] = function() {
5+
assert.ok(sqlite3.OPEN_READONLY === 1);
6+
assert.ok(sqlite3.OPEN_READWRITE === 2);
7+
assert.ok(sqlite3.OPEN_CREATE === 4);
8+
9+
assert.ok(sqlite3.OK === 0);
10+
assert.ok(sqlite3.ERROR === 1);
11+
assert.ok(sqlite3.INTERNAL === 2);
12+
assert.ok(sqlite3.PERM === 3);
13+
assert.ok(sqlite3.ABORT === 4);
14+
assert.ok(sqlite3.BUSY === 5);
15+
assert.ok(sqlite3.LOCKED === 6);
16+
assert.ok(sqlite3.NOMEM === 7);
17+
assert.ok(sqlite3.READONLY === 8);
18+
assert.ok(sqlite3.INTERRUPT === 9);
19+
assert.ok(sqlite3.IOERR === 10);
20+
assert.ok(sqlite3.CORRUPT === 11);
21+
assert.ok(sqlite3.NOTFOUND === 12);
22+
assert.ok(sqlite3.FULL === 13);
23+
assert.ok(sqlite3.CANTOPEN === 14);
24+
assert.ok(sqlite3.PROTOCOL === 15);
25+
assert.ok(sqlite3.EMPTY === 16);
26+
assert.ok(sqlite3.SCHEMA === 17);
27+
assert.ok(sqlite3.TOOBIG === 18);
28+
assert.ok(sqlite3.CONSTRAINT === 19);
29+
assert.ok(sqlite3.MISMATCH === 20);
30+
assert.ok(sqlite3.MISUSE === 21);
31+
assert.ok(sqlite3.NOLFS === 22);
32+
assert.ok(sqlite3.AUTH === 23);
33+
assert.ok(sqlite3.FORMAT === 24);
34+
assert.ok(sqlite3.RANGE === 25);
35+
assert.ok(sqlite3.NOTADB === 26);
36+
};

test/open_close.test.js

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,6 @@ var assert = require('assert');
33
var fs = require('fs');
44
var helper = require('./support/helper');
55

6-
exports['constants'] = function() {
7-
assert.ok(sqlite3.OPEN_READONLY === 1);
8-
assert.ok(sqlite3.OPEN_READWRITE === 2);
9-
assert.ok(sqlite3.OPEN_CREATE === 4);
10-
11-
assert.ok(sqlite3.OK === 0);
12-
assert.ok(sqlite3.ERROR === 1);
13-
assert.ok(sqlite3.INTERNAL === 2);
14-
assert.ok(sqlite3.PERM === 3);
15-
assert.ok(sqlite3.ABORT === 4);
16-
assert.ok(sqlite3.BUSY === 5);
17-
assert.ok(sqlite3.LOCKED === 6);
18-
assert.ok(sqlite3.NOMEM === 7);
19-
assert.ok(sqlite3.READONLY === 8);
20-
assert.ok(sqlite3.INTERRUPT === 9);
21-
assert.ok(sqlite3.IOERR === 10);
22-
assert.ok(sqlite3.CORRUPT === 11);
23-
assert.ok(sqlite3.NOTFOUND === 12);
24-
assert.ok(sqlite3.FULL === 13);
25-
assert.ok(sqlite3.CANTOPEN === 14);
26-
assert.ok(sqlite3.PROTOCOL === 15);
27-
assert.ok(sqlite3.EMPTY === 16);
28-
assert.ok(sqlite3.SCHEMA === 17);
29-
assert.ok(sqlite3.TOOBIG === 18);
30-
assert.ok(sqlite3.CONSTRAINT === 19);
31-
assert.ok(sqlite3.MISMATCH === 20);
32-
assert.ok(sqlite3.MISUSE === 21);
33-
assert.ok(sqlite3.NOLFS === 22);
34-
assert.ok(sqlite3.AUTH === 23);
35-
assert.ok(sqlite3.FORMAT === 24);
36-
assert.ok(sqlite3.RANGE === 25);
37-
assert.ok(sqlite3.NOTADB === 26);
38-
};
39-
406
exports['open and close non-existent database'] = function(beforeExit) {
417
var opened, closed;
428

0 commit comments

Comments
 (0)