Skip to content

Commit 06ff6ee

Browse files
committed
Support parallel tests
1 parent de0a45d commit 06ff6ee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+434
-446
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"test-cover": "CLAUDECODE=1 bun test --coverage --bail ",
2626
"test-format": "bun --bun ./node_modules/.bin/biome format",
2727
"format": "bun --bun ./node_modules/.bin/biome format --write",
28-
"test-only": "bun test --bail",
28+
"test-only": "bun test --bail --reporter dot",
2929
"test-browser": "bun test/browserTestRunner.js 7387",
3030
"build": "bun run format && ./build.sh",
3131
"install-g": "bun run build && npm uninstall alasql -g && npm install -g ./",

src/65createindex.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ yy.CreateIndex.prototype.execute = function (databaseid, params, cb) {
4242
for (var i = 0, ilen = table.data.length; i < ilen; i++) {
4343
var addr = rightfns(table.data[i]);
4444
if (!ux[addr]) {
45-
ux[addr] = { num: 0 };
45+
ux[addr] = {num: 0};
4646
}
4747
ux[addr].num++;
4848
}
4949
}
5050
} else {
5151
var hh = hash(rightfns);
52-
table.inddefs[indexid] = { rightfns: rightfns, hh: hh };
52+
table.inddefs[indexid] = {rightfns: rightfns, hh: hh};
5353
table.indices[hh] = {};
5454

5555
var ix = (table.indices[hh] = {});

test/test132.test.js

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,31 @@ const __dirname = typeof window === 'undefined' ? dirname(fileURLToPath(import.m
88
describe('Test 132 Alasql + NoSQL', () => {
99
test('1. Prepare database', done => {
1010
alasql('CREATE DATABASE test132; USE test132');
11-
alasql('CREATE TABLE one (a INT, b STRING)');
12-
alasql('CREATE TABLE two');
11+
alasql('CREATE TABLE test132.one (a INT, b STRING)');
12+
alasql('CREATE TABLE test132.two');
1313
// alasql('CREATE TABLE three ?',[{columnid:"a"},{columnid:"b"}]);
1414
done();
1515
});
1616

1717
test('2. INSERT', done => {
18-
alasql('INSERT INTO one VALUES (1,"One"), (2,"Two")');
18+
alasql('INSERT INTO test132.one VALUES (1,"One"), (2,"Two")');
1919
// alasql('INSERT INTO one VALUES @{a:3,b:"Three"}, @{a:4,b:"Four"}, (5,"Five")');
20-
alasql('INSERT INTO one VALUES {a:3,b:"Three"}, {a:4,b:"Four"}, (5,"Five")');
21-
alasql('INSERT INTO one VALUES ?,?,(?,?)', [{a: 6, b: 'Six'}, {a: 7, b: 'Seven'}, 8, 'Eight']);
22-
alasql.tables.one.insert({a: 9, b: 'Nine'});
23-
alasql.tables.two.insert({a: 1, b: [2, {c: 3}, 4]});
24-
alasql.tables.two.insert({a: 1, b: [2, {c: 5}, 4]});
25-
alasql.tables.two.insert({a: 1, b: [2, {c: 6}, 4]});
20+
alasql('INSERT INTO test132.one VALUES {a:3,b:"Three"}, {a:4,b:"Four"}, (5,"Five")');
21+
alasql('INSERT INTO test132.one VALUES ?,?,(?,?)', [
22+
{a: 6, b: 'Six'},
23+
{a: 7, b: 'Seven'},
24+
8,
25+
'Eight',
26+
]);
27+
alasql.databases.test132.tables.one.insert({a: 9, b: 'Nine'});
28+
alasql.databases.test132.tables.two.insert({a: 1, b: [2, {c: 3}, 4]});
29+
alasql.databases.test132.tables.two.insert({a: 1, b: [2, {c: 5}, 4]});
30+
alasql.databases.test132.tables.two.insert({a: 1, b: [2, {c: 6}, 4]});
2631
done();
2732
});
2833

2934
test('3. SELECT', done => {
30-
var res = alasql('SELECT * FROM one');
35+
var res = alasql('SELECT * FROM test132.one');
3136
expect(res).toEqual([
3237
{a: 1, b: 'One'},
3338
{a: 2, b: 'Two'},
@@ -40,7 +45,7 @@ describe('Test 132 Alasql + NoSQL', () => {
4045
{a: 9, b: 'Nine'},
4146
]);
4247

43-
var res = alasql('SELECT * FROM one WHERE b IN ("Two","Three")');
48+
var res = alasql('SELECT * FROM test132.one WHERE b IN ("Two","Three")');
4449
expect(res).toEqual([
4550
{a: 2, b: 'Two'},
4651
{a: 3, b: 'Three'},
@@ -50,7 +55,7 @@ describe('Test 132 Alasql + NoSQL', () => {
5055
// expect(res1).toEqual(res2);
5156
// expect(res1).toEqual(res3);
5257

53-
var res1 = alasql('SELECT (a = 2) AS alpha FROM one WHERE b IN (2,3)');
58+
var res1 = alasql('SELECT (a = 2) AS alpha FROM test132.one WHERE b IN (2,3)');
5459
/// console.log(res1);
5560
// var res2 = alasql('SELECT @{a:2} AS alpha FROM one WHERE @{b:[2,3]}');
5661
// expect(res1).toEqual(res2);
@@ -66,14 +71,14 @@ describe('Test 132 Alasql + NoSQL', () => {
6671

6772
test('5. UPDATE', done => {
6873
// alasql('UPDATE one SET {a:2} WHERE {a:3}');
69-
alasql('UPDATE one SET a=2 WHERE a=3');
74+
alasql('UPDATE test132.one SET a=2 WHERE a=3');
7075
// alasql.tables.one.update({a:2}, {a:3});
7176
done();
7277
});
7378

7479
test('6. UPDATE', done => {
7580
// alasql('DELETE FROM one WHERE @{a:2}');
76-
alasql('DELETE FROM one WHERE a=2');
81+
alasql('DELETE FROM test132.one WHERE a=2');
7782
// alasql.tables.one.remove({a:2})
7883
done();
7984
});

test/test133.test.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,29 @@ const __dirname = typeof window === 'undefined' ? dirname(fileURLToPath(import.m
88
describe('Test 133 SELECT VALUE, ROW, COLUMN, MATRIX', () => {
99
test('1. Prepare database', done => {
1010
alasql('CREATE DATABASE test133; USE test133');
11-
alasql('CREATE TABLE one (a INT, b STRING)');
12-
alasql('INSERT INTO one VALUES (1,"One"),(2,"Two"),(3,"Three")');
11+
alasql('CREATE TABLE test133.one (a INT, b STRING)');
12+
alasql('INSERT INTO test133.one VALUES (1,"One"),(2,"Two"),(3,"Three")');
1313
done();
1414
});
1515

1616
test('2. SELECT', done => {
17-
var res = alasql('SELECT * FROM one');
17+
var res = alasql('SELECT * FROM test133.one');
1818
expect(res).toEqual([
1919
{a: 1, b: 'One'},
2020
{a: 2, b: 'Two'},
2121
{a: 3, b: 'Three'},
2222
]);
2323

24-
var res = alasql('SELECT VALUE * FROM one');
24+
var res = alasql('SELECT VALUE * FROM test133.one');
2525
expect(res).toEqual(1);
2626

27-
var res = alasql('SELECT ROW * FROM one');
27+
var res = alasql('SELECT ROW * FROM test133.one');
2828
expect(res).toEqual([1, 'One']);
2929

30-
var res = alasql('SELECT COLUMN * FROM one');
30+
var res = alasql('SELECT COLUMN * FROM test133.one');
3131
expect(res).toEqual([1, 2, 3]);
3232

33-
var res = alasql('SELECT MATRIX * FROM one');
33+
var res = alasql('SELECT MATRIX * FROM test133.one');
3434
expect(res).toEqual([
3535
[1, 'One'],
3636
[2, 'Two'],

test/test134.test.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ describe('Test 134 SELECT FROM', () => {
99
if (false) {
1010
test('1. Load data from CSV and TAB', done => {
1111
alasql('CREATE DATABASE test134; USE test134');
12-
alasql('CREATE TABLE one (a INT, b STRING)');
13-
alasql('SELECT * INTO one FROM CSV("' + __dirname + '/test134.csv",true)');
14-
alasql('SELECT [0] AS a, [1] AS b INTO one FROM TAB("' + __dirname + '/test134.tab")');
12+
alasql('CREATE TABLE test134.one (a INT, b STRING)');
13+
alasql('SELECT * INTO test134.one FROM CSV("' + __dirname + '/test134.csv",true)');
14+
alasql(
15+
'SELECT [0] AS a, [1] AS b INTO test134.one FROM TAB("' + __dirname + '/test134.tab")'
16+
);
1517

16-
var res = alasql('SELECT VALUE COUNT(*) FROM one');
18+
var res = alasql('SELECT VALUE COUNT(*) FROM test134.one');
1719
expect(res == 10).toBe(true);
1820

1921
done();

test/test145.test.js

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -113,41 +113,45 @@ describe('Test 145 - localStorage', () => {
113113
test('3. localStorage AS a database', done => {
114114
// SELECT * FROM localStorage("and")
115115

116-
alasql('ATTACH DATABASE localStorage'); // Do we really need this?
117-
alasql('SELECT * INTO localStorage.two FROM localStorage.one');
116+
alasql('CREATE DATABASE test145'); // Do we really need this?
117+
alasql('SELECT * INTO test145.two FROM test145.one');
118118

119-
alasql('USE localStorage');
119+
alasql('USE test145');
120120
alasql('SHOW TABLES');
121-
alasql('CREATE TABLE one');
121+
alasql('CREATE TABLE test145.one');
122122

123123
alasql('BEGIN TRANSACTION');
124-
alasql('INSERT INTO one VALUES @{a:1,b:10}, @{a:2,b:20}, @{a:1,b:30}, @{a:3, b:40');
125-
alasql('SELECT * FROM one WHERE a = 1');
124+
alasql(
125+
'INSERT INTO test145.one VALUES @{a:1,b:10}, @{a:2,b:20}, @{a:1,b:30}, @{a:3, b:40'
126+
);
127+
alasql('SELECT * FROM test145.one WHERE a = 1');
126128

127-
alasql('DELETE FROM one WHERE a = 2');
128-
alasql('SELECT * FROM one');
129+
alasql('DELETE FROM test145.one WHERE a = 2');
130+
alasql('SELECT * FROM test145.one');
129131
// check localStorage
130132

131-
alasql('UPDATE one SET b = a*1000 WHERE a = 2');
132-
alasql('SELECT * FROM one');
133+
alasql('UPDATE test145.one SET b = a*1000 WHERE a = 2');
134+
alasql('SELECT * FROM test145.one');
133135
// check localStorage
134136
alasql('COMMIT TRANSACTION');
135137

136-
alasql('DROP TABLE one');
138+
alasql('DROP TABLE test145.one');
137139
alasql('SHOW TABLES');
138140

139-
alasql('CREATE TABLE two (a INT PRIMARY KEY, b Object)');
140-
alasql('INSERT INTO two VALUES @{a:1,b:10}, @{a:2,b:20}, @{a:1,b:30}, @{a:3, b:40');
141-
alasql('SELECT * FROM two WHERE a = 1');
142-
alasql('DROP TABLE two');
141+
alasql('CREATE TABLE test145.two (a INT PRIMARY KEY, b Object)');
142+
alasql(
143+
'INSERT INTO test145.two VALUES @{a:1,b:10}, @{a:2,b:20}, @{a:1,b:30}, @{a:3, b:40'
144+
);
145+
alasql('SELECT * FROM test145.two WHERE a = 1');
146+
alasql('DROP TABLE test145.two');
143147

144148
//;String.fromCharCode(0)
145149

146150
done();
147151
});
148152

149153
test('99. Detach database', done => {
150-
alasql('DETACH DATABASE localStorage'); // Do we really need this?
154+
alasql('DROP DATABASE test145'); // Do we really need this?
151155
done();
152156
});
153157
}

test/test148.test.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ const __dirname = typeof window === 'undefined' ? dirname(fileURLToPath(import.m
88
describe('Test 148 - EXPLAIN SELECT', () => {
99
test('1. Simple Select', done => {
1010
alasql('CREATE DATABASE test148; USE test148');
11-
alasql('CREATE TABLE one (a INT)');
12-
alasql('INSERT INTO one VALUES (1),(2),(3)');
13-
var res = alasql('EXPLAIN SELECT * FROM one WHERE a IN (SELECT * FROM one) ORDER BY a');
11+
alasql('CREATE TABLE test148.one (a INT)');
12+
alasql('INSERT INTO test148.one VALUES (1),(2),(3)');
13+
var res = alasql(
14+
'EXPLAIN SELECT * FROM test148.one WHERE a IN (SELECT * FROM test148.one) ORDER BY a'
15+
);
1416
// console.table(res);
1517
done();
1618
});

test/test156.test.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ describe('Test 156 - match()', () => {
1111
test('1. Multiple lines async', done => {
1212
alasql(
1313
'CREATE DATABASE test156; USE test156;' +
14-
'CREATE TABLE one (a string);' +
15-
'INSERT INTO one VALUES ("Moscow"), ("Frankfurt"), ("Paris");' +
16-
'SELECT * FROM one WHERE a->match(?)' +
14+
'CREATE TABLE test156.one (a string);' +
15+
'INSERT INTO test156.one VALUES ("Moscow"), ("Frankfurt"), ("Paris");' +
16+
'SELECT * FROM test156.one WHERE a->match(?)' +
1717
'',
1818
['Moscow'],
1919
function (res) {
@@ -27,32 +27,32 @@ describe('Test 156 - match()', () => {
2727
//https://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm
2828
if (false) {
2929
test('2. RegExp like Oracle functions', done => {
30-
alasql('SELECT * FROM one WHERE REGEXP_LIKE(a,"Mos")');
30+
alasql('SELECT * FROM test156.one WHERE REGEXP_LIKE(a,"Mos")');
3131
expect(res).toEqual([{a: 'Moscow'}]);
3232

3333
alasql(
34-
'SELECT VALUE REGEXP_REPLACE(a,"Moscow","London") FROM one WHERE REGEXP_LIKE(a,"Mos.*")'
34+
'SELECT VALUE REGEXP_REPLACE(a,"Moscow","London") FROM test156.one WHERE REGEXP_LIKE(a,"Mos.*")'
3535
);
3636
expect(res == 'London').toBe(true);
3737

38-
alasql('SELECT VALUE REGEXP_INSTR(a,"osco") FROM one WHERE REGEXP_LIKE(a,"Mos.*")');
38+
alasql('SELECT VALUE REGEXP_INSTR(a,"osco") FROM test156.one WHERE REGEXP_LIKE(a,"Mos.*")');
3939
expect(res == 2).toBe(true);
4040

41-
alasql('SELECT VALUE REGEXP_SUBSTR(a,"osco") FROM one WHERE REGEXP_LIKE(a,"Mos.*")');
41+
alasql('SELECT VALUE REGEXP_SUBSTR(a,"osco") FROM test156.one WHERE REGEXP_LIKE(a,"Mos.*")');
4242
expect(res == 'osco').toBe(true);
4343

4444
done();
4545
});
4646

4747
test('3. Criterias for WHERE like MongoDB', done => {
48-
alasql('SELECT * FROM one WHERE CRITERIA(@{a:"Moscow"})');
48+
alasql('SELECT * FROM test156.one WHERE CRITERIA(@{a:"Moscow"})');
4949
expect(res).toEqual([{a: 'Moscow'}]);
5050

51-
alasql('SELECT * FROM one WHERE CRITERIA(@{a:?})', ['Moscow']);
51+
alasql('SELECT * FROM test156.one WHERE CRITERIA(@{a:?})', ['Moscow']);
5252
expect(res).toEqual([{a: 'Moscow'}]);
5353

5454
// Do we really need this?
55-
alasql('SELECT * FROM one WHERE CRITERIA(?)', [{a: 'Moscow'}]);
55+
alasql('SELECT * FROM test156.one WHERE CRITERIA(?)', [{a: 'Moscow'}]);
5656
expect(res).toEqual([{a: 'Moscow'}]);
5757

5858
done();

test/test189.test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ if (typeof window !== 'undefined') {
1414
{a: 3, b: "Val's Deser"},
1515
];
1616
alasql(
17-
'SELECT * INTO SQL("' + __dirname + '/test189.sql",{tableid:"one"}) FROM ?',
17+
'SELECT * INTO SQL("' + __dirname + '/test189.sql",{tableid:"test189.one"}) FROM ?',
1818
[data],
1919
() => {
2020
alasql(
2121
'CREATE DATABASE test189;\
2222
USE test189;\
23-
CREATE TABLE one; \
23+
CREATE TABLE test189.one; \
2424
SOURCE "' +
2525
__dirname +
2626
'/test189.sql"; \
27-
SELECT * FROM one',
27+
SELECT * FROM test189.one',
2828
[],
2929
function (res) {
3030
expect(res.pop()).toEqual(data);

test/test200.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ const __dirname = typeof window === 'undefined' ? dirname(fileURLToPath(import.m
88
describe('Test 200 IS NULL + IS NOT NULL', () => {
99
test('1. Simple Variant', done => {
1010
alasql('CREATE DATABASE test200; USE test200');
11-
var res = alasql('IF 1 IS NOT NULL CREATE TABLE one');
12-
expect(!!alasql.tables.one).toBe(true);
11+
var res = alasql('IF 1 IS NOT NULL CREATE TABLE test200.one');
12+
expect(!!alasql.databases.test200.tables.one).toBe(true);
1313

1414
var res = alasql('ROW OF SELECT NULL IS NULL, 1 IS NULL, NULL NOT NULL, 1 NOT NULL');
1515
expect(res).toEqual([true, false, false, true]);

0 commit comments

Comments
 (0)