Skip to content

Commit 430840a

Browse files
committed
Add test framework
1 parent 50f9f55 commit 430840a

File tree

13 files changed

+1925
-36
lines changed

13 files changed

+1925
-36
lines changed

.vscode-test.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// .vscode-test.js
2+
const { defineConfig } = require('@vscode/test-cli');
3+
const fs = require('fs');
4+
5+
const testNames = [
6+
{
7+
'name': 'blink',
8+
'boards': ['pico2'],
9+
},
10+
{
11+
'name': 'hello_serial',
12+
'boards': ['pico2'],
13+
},
14+
];
15+
16+
fs.writeFileSync('out/test/projectCreation/testNames.json', JSON.stringify(testNames));
17+
18+
function getProjectTestConfigs(name, boards, compileTimeout=10000) {
19+
const ret = [];
20+
for (const board of boards) {
21+
ret.push({
22+
name: `${name} Project Compilation Test`,
23+
files: `out/test/projectCompilation/*.test.js`,
24+
workspaceFolder: `.vscode-test/sampleWorkspace/projects/${board}/${name}`,
25+
mocha: {
26+
ui: 'tdd',
27+
timeout: compileTimeout
28+
},
29+
});
30+
}
31+
return ret;
32+
}
33+
34+
const configs = [
35+
{
36+
name: `Project Creation Tests`,
37+
files: `out/test/projectCreation/*.test.js`,
38+
workspaceFolder: '.vscode-test/sampleWorkspace',
39+
mocha: {
40+
ui: 'tdd',
41+
timeout: 10000
42+
},
43+
},
44+
];
45+
46+
for (const testName of testNames) {
47+
const { name, boards } = testName;
48+
configs.push(...getProjectTestConfigs(name, boards));
49+
}
50+
51+
module.exports = defineConfig(configs);

0 commit comments

Comments
 (0)