@neurodevs/ndx-cli 0.1.114 → 0.1.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/__tests__/AbstractCommandRunnerTest.d.ts +2 -1
- package/build/__tests__/AbstractCommandRunnerTest.js +7 -2
- package/build/__tests__/AbstractCommandRunnerTest.js.map +1 -1
- package/build/__tests__/impl/commands/BuildLabrecorderCommand.test.d.ts +6 -1
- package/build/__tests__/impl/commands/BuildLabrecorderCommand.test.js +26 -7
- package/build/__tests__/impl/commands/BuildLabrecorderCommand.test.js.map +1 -1
- package/build/impl/CliCommandRunner.d.ts +1 -0
- package/build/impl/CliCommandRunner.js +1 -0
- package/build/impl/CliCommandRunner.js.map +1 -1
- package/build/impl/commands/BuildLabrecorderCommand.d.ts +2 -0
- package/build/impl/commands/BuildLabrecorderCommand.js +15 -1
- package/build/impl/commands/BuildLabrecorderCommand.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/AbstractCommandRunnerTest.ts +9 -1
- package/src/__tests__/impl/commands/BuildLabrecorderCommand.test.ts +43 -9
- package/src/impl/CliCommandRunner.ts +1 -0
- package/src/impl/commands/BuildLabrecorderCommand.ts +19 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import AbstractPackageTest from './AbstractPackageTest.js';
|
|
2
2
|
export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
3
3
|
protected static readonly bindSnippetCommand = "bind.snippet";
|
|
4
|
-
protected static readonly
|
|
4
|
+
protected static readonly buildLabrecorderCommand = "build.labrecorder";
|
|
5
5
|
protected static readonly checkTypesCommand = "check.types";
|
|
6
6
|
protected static readonly createImplCommand = "create.impl";
|
|
7
7
|
protected static readonly interfaceName: string;
|
|
@@ -56,6 +56,7 @@ export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
|
56
56
|
protected static setFakeSnippetSuite(): void;
|
|
57
57
|
protected static setFakeUiAutomodule(): void;
|
|
58
58
|
protected static setFakeWorkspaceTypeChecker(): void;
|
|
59
|
+
protected static setFakeError(): void;
|
|
59
60
|
protected static setFakeExec(): void;
|
|
60
61
|
protected static setFakeLog(): void;
|
|
61
62
|
protected static setFakeMkdir(): void;
|
|
@@ -2,7 +2,7 @@ import { exec as execSync } from 'child_process';
|
|
|
2
2
|
import os from 'os';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
|
-
import { fakeExec, fakeLog, fakeMkdir, fakeReadFile, fakeWriteFile, resetCallsToExec, resetCallsToLog, resetCallsToMkdir, resetCallsToReadFile, resetCallsToWriteFile, setFakeReadFileResult, } from '@neurodevs/fake-node-core';
|
|
5
|
+
import { fakeError, fakeExec, fakeLog, fakeMkdir, fakeReadFile, fakeWriteFile, resetCallsToError, resetCallsToExec, resetCallsToLog, resetCallsToMkdir, resetCallsToReadFile, resetCallsToWriteFile, setFakeReadFileResult, } from '@neurodevs/fake-node-core';
|
|
6
6
|
import { FakeAutomodule, FakeAutopackage, FakePropagationCoordinator, FakeSnippetKeybinder, FakeSnippetSuite, FakeWorkspaceTypeChecker, ImplAutomodule, NpmAutopackage, NpmPropagationCoordinator, NpmWorkspaceTypeChecker, TypescriptClassSnippetSuite, UiAutomodule, VscodeSnippetKeybinder, } from '@neurodevs/meta-node';
|
|
7
7
|
import CliCommandRunner from '../impl/CliCommandRunner.js';
|
|
8
8
|
import fakePrompts, { resetCallsToFakePrompts, } from '../testDoubles/prompts/fakePrompts.js';
|
|
@@ -10,7 +10,7 @@ import AbstractPackageTest from './AbstractPackageTest.js';
|
|
|
10
10
|
const exec = promisify(execSync);
|
|
11
11
|
export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
12
12
|
static bindSnippetCommand = 'bind.snippet';
|
|
13
|
-
static
|
|
13
|
+
static buildLabrecorderCommand = 'build.labrecorder';
|
|
14
14
|
static checkTypesCommand = 'check.types';
|
|
15
15
|
static createImplCommand = 'create.impl';
|
|
16
16
|
static interfaceName = this.generateId();
|
|
@@ -35,6 +35,7 @@ export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
|
35
35
|
this.setFakeSnippetSuite();
|
|
36
36
|
this.setFakeUiAutomodule();
|
|
37
37
|
this.setFakeWorkspaceTypeChecker();
|
|
38
|
+
this.setFakeError();
|
|
38
39
|
this.setFakeExec();
|
|
39
40
|
this.setFakeLog();
|
|
40
41
|
this.setFakeMkdir();
|
|
@@ -166,6 +167,10 @@ export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
|
166
167
|
NpmWorkspaceTypeChecker.Class = FakeWorkspaceTypeChecker;
|
|
167
168
|
FakeWorkspaceTypeChecker.resetTestDouble();
|
|
168
169
|
}
|
|
170
|
+
static setFakeError() {
|
|
171
|
+
CliCommandRunner.error = fakeError;
|
|
172
|
+
resetCallsToError();
|
|
173
|
+
}
|
|
169
174
|
static setFakeExec() {
|
|
170
175
|
CliCommandRunner.exec = fakeExec;
|
|
171
176
|
resetCallsToExec();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractCommandRunnerTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractCommandRunnerTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EACH,QAAQ,EACR,OAAO,EACP,SAAS,EACT,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,sBAAsB,GACzB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,gBAAgB,MAAM,6BAA6B,CAAA;AAC1D,OAAO,WAAW,EAAE,EAChB,uBAAuB,GAC1B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAEhC,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,mBAAmB;IAC5D,MAAM,CAAU,kBAAkB,GAAG,cAAc,CAAA;IAEnD,MAAM,CAAU,
|
|
1
|
+
{"version":3,"file":"AbstractCommandRunnerTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractCommandRunnerTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import AbstractCommandRunnerTest from '../../AbstractCommandRunnerTest.js';
|
|
2
2
|
export default class BuildLabrecorderCommandTest extends AbstractCommandRunnerTest {
|
|
3
3
|
private static instance;
|
|
4
|
+
private static readonly fakeStdout;
|
|
5
|
+
private static readonly fakeStderr;
|
|
6
|
+
private static readonly fakeResult;
|
|
4
7
|
protected static beforeEach(): Promise<void>;
|
|
5
8
|
protected static createsInstance(): Promise<void>;
|
|
6
9
|
protected static executesExpectedBashCommand(): Promise<void>;
|
|
7
|
-
|
|
10
|
+
protected static logsStdoutToConsole(): Promise<void>;
|
|
11
|
+
protected static logsStderrToConsole(): Promise<void>;
|
|
8
12
|
private static run;
|
|
13
|
+
private static readonly bashCommand;
|
|
9
14
|
}
|
|
@@ -4,17 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { callsToExec } from '@neurodevs/fake-node-core';
|
|
7
|
+
import { callsToError, callsToExec, callsToLog, setFakeExecResult, } from '@neurodevs/fake-node-core';
|
|
8
8
|
import { assert, test } from '@neurodevs/node-tdd';
|
|
9
9
|
import AbstractCommandRunnerTest from '../../AbstractCommandRunnerTest.js';
|
|
10
10
|
export default class BuildLabrecorderCommandTest extends AbstractCommandRunnerTest {
|
|
11
11
|
static instance;
|
|
12
|
+
static fakeStdout = this.generateId();
|
|
13
|
+
static fakeStderr = this.generateId();
|
|
14
|
+
static fakeResult = {
|
|
15
|
+
stdout: this.fakeStdout,
|
|
16
|
+
stderr: this.fakeStderr,
|
|
17
|
+
};
|
|
12
18
|
static async beforeEach() {
|
|
13
19
|
await super.beforeEach();
|
|
20
|
+
setFakeExecResult(this.bashCommand, this.fakeResult);
|
|
14
21
|
this.instance = await this.run();
|
|
15
22
|
}
|
|
16
23
|
static async createsInstance() {
|
|
17
|
-
assert.isTruthy(this.instance, `Failed to create instance for ${this.
|
|
24
|
+
assert.isTruthy(this.instance, `Failed to create instance for ${this.buildLabrecorderCommand}!`);
|
|
18
25
|
}
|
|
19
26
|
static async executesExpectedBashCommand() {
|
|
20
27
|
assert.isEqualDeep(callsToExec[0], {
|
|
@@ -22,6 +29,17 @@ export default class BuildLabrecorderCommandTest extends AbstractCommandRunnerTe
|
|
|
22
29
|
options: { cwd: '.' },
|
|
23
30
|
}, 'Did not execute expected bash command!');
|
|
24
31
|
}
|
|
32
|
+
static async logsStdoutToConsole() {
|
|
33
|
+
assert.isEqual(callsToLog[0].message, this.fakeStdout, 'Did not log expected stdout to console!');
|
|
34
|
+
}
|
|
35
|
+
static async logsStderrToConsole() {
|
|
36
|
+
assert.isEqual(callsToError[0].message, this.fakeStderr, 'Did not log expected stderr to console!');
|
|
37
|
+
}
|
|
38
|
+
static async run() {
|
|
39
|
+
const instance = this.CliCommandRunner([this.buildLabrecorderCommand]);
|
|
40
|
+
await instance.run();
|
|
41
|
+
return instance;
|
|
42
|
+
}
|
|
25
43
|
static bashCommand = `sudo rm -rf build/ \
|
|
26
44
|
&& cmake -S . -B build \
|
|
27
45
|
-DCMAKE_INSTALL_PREFIX=/opt/local \
|
|
@@ -30,11 +48,6 @@ export default class BuildLabrecorderCommandTest extends AbstractCommandRunnerTe
|
|
|
30
48
|
-DBUILD_GUI=OFF \
|
|
31
49
|
&& cmake --build build \
|
|
32
50
|
&& sudo cmake --install build`;
|
|
33
|
-
static async run() {
|
|
34
|
-
const instance = this.CliCommandRunner([this.buildLabrecorderCommmand]);
|
|
35
|
-
await instance.run();
|
|
36
|
-
return instance;
|
|
37
|
-
}
|
|
38
51
|
}
|
|
39
52
|
__decorate([
|
|
40
53
|
test()
|
|
@@ -42,4 +55,10 @@ __decorate([
|
|
|
42
55
|
__decorate([
|
|
43
56
|
test()
|
|
44
57
|
], BuildLabrecorderCommandTest, "executesExpectedBashCommand", null);
|
|
58
|
+
__decorate([
|
|
59
|
+
test()
|
|
60
|
+
], BuildLabrecorderCommandTest, "logsStdoutToConsole", null);
|
|
61
|
+
__decorate([
|
|
62
|
+
test()
|
|
63
|
+
], BuildLabrecorderCommandTest, "logsStderrToConsole", null);
|
|
45
64
|
//# sourceMappingURL=BuildLabrecorderCommand.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildLabrecorderCommand.test.js","sourceRoot":"","sources":["../../../../src/__tests__/impl/commands/BuildLabrecorderCommand.test.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"BuildLabrecorderCommand.test.js","sourceRoot":"","sources":["../../../../src/__tests__/impl/commands/BuildLabrecorderCommand.test.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EACH,YAAY,EACZ,WAAW,EACX,UAAU,EACV,iBAAiB,GACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,yBAAyB,MAAM,oCAAoC,CAAA;AAE1E,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,yBAAyB;IACtE,MAAM,CAAC,QAAQ,CAAe;IAE9B,MAAM,CAAU,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAC9C,MAAM,CAAU,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAE9C,MAAM,CAAU,UAAU,GAAG;QACjC,MAAM,EAAE,IAAI,CAAC,UAAU;QACvB,MAAM,EAAE,IAAI,CAAC,UAAU;KACC,CAAA;IAElB,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;IACpC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,MAAM,CAAC,QAAQ,CACX,IAAI,CAAC,QAAQ,EACb,iCAAiC,IAAI,CAAC,uBAAuB,GAAG,CACnE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,CAAC,WAAW,CACd,WAAW,CAAC,CAAC,CAAC,EACd;YACI,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;SACxB,EACD,wCAAwC,CAC3C,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mBAAmB;QACtC,MAAM,CAAC,OAAO,CACV,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EACrB,IAAI,CAAC,UAAU,EACf,yCAAyC,CAC5C,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mBAAmB;QACtC,MAAM,CAAC,OAAO,CACV,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,EACvB,IAAI,CAAC,UAAU,EACf,yCAAyC,CAC5C,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,GAAG;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;QACtE,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;QAEpB,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEO,MAAM,CAAU,WAAW,GAAG;;;;;;;8BAOZ,CAAA;;AAnDH;IADtB,IAAI,EAAE;wDAMN;AAGsB;IADtB,IAAI,EAAE;oEAUN;AAGsB;IADtB,IAAI,EAAE;4DAON;AAGsB;IADtB,IAAI,EAAE;4DAON"}
|
|
@@ -3,6 +3,7 @@ import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
|
3
3
|
import prompts from 'prompts';
|
|
4
4
|
export default class CliCommandRunner implements CommandRunner {
|
|
5
5
|
static Class?: CommandRunnerConstructor;
|
|
6
|
+
static error: (message?: any, ...optionalParams: any[]) => void;
|
|
6
7
|
static exec: typeof execSync.__promisify__;
|
|
7
8
|
static log: (message?: any, ...optionalParams: any[]) => void;
|
|
8
9
|
static mkdir: typeof mkdir;
|
|
@@ -13,6 +13,7 @@ import PropagateLatestCommand from './commands/PropagateLatestCommand.js';
|
|
|
13
13
|
import UpgradePackageCommand from './commands/UpgradePackageCommand.js';
|
|
14
14
|
export default class CliCommandRunner {
|
|
15
15
|
static Class;
|
|
16
|
+
static error = console.error;
|
|
16
17
|
static exec = promisify(execSync);
|
|
17
18
|
static log = console.log;
|
|
18
19
|
static mkdir = mkdir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/impl/CliCommandRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/impl/CliCommandRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,25 @@ import CliCommandRunner from '../CliCommandRunner.js';
|
|
|
2
2
|
export default class BuildLabrecorderCommand {
|
|
3
3
|
constructor() { }
|
|
4
4
|
async run() {
|
|
5
|
-
await this.exec(this.bashCommand, {
|
|
5
|
+
const { stdout, stderr } = await this.exec(this.bashCommand, {
|
|
6
|
+
cwd: '.',
|
|
7
|
+
});
|
|
8
|
+
if (stdout) {
|
|
9
|
+
this.log(stdout);
|
|
10
|
+
}
|
|
11
|
+
if (stderr) {
|
|
12
|
+
this.error(stderr);
|
|
13
|
+
}
|
|
6
14
|
}
|
|
7
15
|
get exec() {
|
|
8
16
|
return CliCommandRunner.exec;
|
|
9
17
|
}
|
|
18
|
+
get log() {
|
|
19
|
+
return CliCommandRunner.log;
|
|
20
|
+
}
|
|
21
|
+
get error() {
|
|
22
|
+
return CliCommandRunner.error;
|
|
23
|
+
}
|
|
10
24
|
bashCommand = `sudo rm -rf build/ \
|
|
11
25
|
&& cmake -S . -B build \
|
|
12
26
|
-DCMAKE_INSTALL_PREFIX=/opt/local \
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildLabrecorderCommand.js","sourceRoot":"","sources":["../../../src/impl/commands/BuildLabrecorderCommand.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,wBAAwB,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACxC,gBAAsB,CAAC;IAEhB,KAAK,CAAC,GAAG;QACZ,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"BuildLabrecorderCommand.js","sourceRoot":"","sources":["../../../src/impl/commands/BuildLabrecorderCommand.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,wBAAwB,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACxC,gBAAsB,CAAC;IAEhB,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACzD,GAAG,EAAE,GAAG;SACX,CAAC,CAAA;QAEF,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;IACL,CAAC;IAED,IAAY,IAAI;QACZ,OAAO,gBAAgB,CAAC,IAAI,CAAA;IAChC,CAAC;IAED,IAAY,GAAG;QACX,OAAO,gBAAgB,CAAC,GAAG,CAAA;IAC/B,CAAC;IAED,IAAY,KAAK;QACb,OAAO,gBAAgB,CAAC,KAAK,CAAA;IACjC,CAAC;IAEgB,WAAW,GAAG;;;;;;;8BAOL,CAAA;CAC7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neurodevs/ndx-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.116",
|
|
4
4
|
"description": "CLI tools for the Neurodevs ecosystem.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"prompts": "^2.4.2"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@neurodevs/fake-node-core": "0.
|
|
56
|
+
"@neurodevs/fake-node-core": "^0.12.0",
|
|
57
57
|
"@neurodevs/generate-id": "1.1.2",
|
|
58
58
|
"@neurodevs/node-tdd": "0.2.5",
|
|
59
59
|
"@types/node": "^24.2.1",
|
|
@@ -4,11 +4,13 @@ import os from 'os'
|
|
|
4
4
|
import path from 'path'
|
|
5
5
|
import { promisify } from 'util'
|
|
6
6
|
import {
|
|
7
|
+
fakeError,
|
|
7
8
|
fakeExec,
|
|
8
9
|
fakeLog,
|
|
9
10
|
fakeMkdir,
|
|
10
11
|
fakeReadFile,
|
|
11
12
|
fakeWriteFile,
|
|
13
|
+
resetCallsToError,
|
|
12
14
|
resetCallsToExec,
|
|
13
15
|
resetCallsToLog,
|
|
14
16
|
resetCallsToMkdir,
|
|
@@ -44,7 +46,7 @@ const exec = promisify(execSync)
|
|
|
44
46
|
export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
45
47
|
protected static readonly bindSnippetCommand = 'bind.snippet'
|
|
46
48
|
|
|
47
|
-
protected static readonly
|
|
49
|
+
protected static readonly buildLabrecorderCommand = 'build.labrecorder'
|
|
48
50
|
|
|
49
51
|
protected static readonly checkTypesCommand = 'check.types'
|
|
50
52
|
|
|
@@ -79,6 +81,7 @@ export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
|
79
81
|
this.setFakeUiAutomodule()
|
|
80
82
|
this.setFakeWorkspaceTypeChecker()
|
|
81
83
|
|
|
84
|
+
this.setFakeError()
|
|
82
85
|
this.setFakeExec()
|
|
83
86
|
this.setFakeLog()
|
|
84
87
|
this.setFakeMkdir()
|
|
@@ -259,6 +262,11 @@ export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
|
259
262
|
FakeWorkspaceTypeChecker.resetTestDouble()
|
|
260
263
|
}
|
|
261
264
|
|
|
265
|
+
protected static setFakeError() {
|
|
266
|
+
CliCommandRunner.error = fakeError as unknown as typeof console.error
|
|
267
|
+
resetCallsToError()
|
|
268
|
+
}
|
|
269
|
+
|
|
262
270
|
protected static setFakeExec() {
|
|
263
271
|
CliCommandRunner.exec = fakeExec as unknown as typeof exec
|
|
264
272
|
resetCallsToExec()
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChildProcess } from 'child_process'
|
|
2
|
+
import {
|
|
3
|
+
callsToError,
|
|
4
|
+
callsToExec,
|
|
5
|
+
callsToLog,
|
|
6
|
+
setFakeExecResult,
|
|
7
|
+
} from '@neurodevs/fake-node-core'
|
|
2
8
|
import { assert, test } from '@neurodevs/node-tdd'
|
|
3
9
|
|
|
4
10
|
import { CommandRunner } from '../../../impl/CliCommandRunner.js'
|
|
@@ -7,9 +13,19 @@ import AbstractCommandRunnerTest from '../../AbstractCommandRunnerTest.js'
|
|
|
7
13
|
export default class BuildLabrecorderCommandTest extends AbstractCommandRunnerTest {
|
|
8
14
|
private static instance: CommandRunner
|
|
9
15
|
|
|
16
|
+
private static readonly fakeStdout = this.generateId()
|
|
17
|
+
private static readonly fakeStderr = this.generateId()
|
|
18
|
+
|
|
19
|
+
private static readonly fakeResult = {
|
|
20
|
+
stdout: this.fakeStdout,
|
|
21
|
+
stderr: this.fakeStderr,
|
|
22
|
+
} as unknown as ChildProcess
|
|
23
|
+
|
|
10
24
|
protected static async beforeEach() {
|
|
11
25
|
await super.beforeEach()
|
|
12
26
|
|
|
27
|
+
setFakeExecResult(this.bashCommand, this.fakeResult)
|
|
28
|
+
|
|
13
29
|
this.instance = await this.run()
|
|
14
30
|
}
|
|
15
31
|
|
|
@@ -17,7 +33,7 @@ export default class BuildLabrecorderCommandTest extends AbstractCommandRunnerTe
|
|
|
17
33
|
protected static async createsInstance() {
|
|
18
34
|
assert.isTruthy(
|
|
19
35
|
this.instance,
|
|
20
|
-
`Failed to create instance for ${this.
|
|
36
|
+
`Failed to create instance for ${this.buildLabrecorderCommand}!`
|
|
21
37
|
)
|
|
22
38
|
}
|
|
23
39
|
|
|
@@ -33,6 +49,31 @@ export default class BuildLabrecorderCommandTest extends AbstractCommandRunnerTe
|
|
|
33
49
|
)
|
|
34
50
|
}
|
|
35
51
|
|
|
52
|
+
@test()
|
|
53
|
+
protected static async logsStdoutToConsole() {
|
|
54
|
+
assert.isEqual(
|
|
55
|
+
callsToLog[0].message,
|
|
56
|
+
this.fakeStdout,
|
|
57
|
+
'Did not log expected stdout to console!'
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@test()
|
|
62
|
+
protected static async logsStderrToConsole() {
|
|
63
|
+
assert.isEqual(
|
|
64
|
+
callsToError[0].message,
|
|
65
|
+
this.fakeStderr,
|
|
66
|
+
'Did not log expected stderr to console!'
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
private static async run() {
|
|
71
|
+
const instance = this.CliCommandRunner([this.buildLabrecorderCommand])
|
|
72
|
+
await instance.run()
|
|
73
|
+
|
|
74
|
+
return instance
|
|
75
|
+
}
|
|
76
|
+
|
|
36
77
|
private static readonly bashCommand = `sudo rm -rf build/ \
|
|
37
78
|
&& cmake -S . -B build \
|
|
38
79
|
-DCMAKE_INSTALL_PREFIX=/opt/local \
|
|
@@ -41,11 +82,4 @@ export default class BuildLabrecorderCommandTest extends AbstractCommandRunnerTe
|
|
|
41
82
|
-DBUILD_GUI=OFF \
|
|
42
83
|
&& cmake --build build \
|
|
43
84
|
&& sudo cmake --install build`
|
|
44
|
-
|
|
45
|
-
private static async run() {
|
|
46
|
-
const instance = this.CliCommandRunner([this.buildLabrecorderCommmand])
|
|
47
|
-
await instance.run()
|
|
48
|
-
|
|
49
|
-
return instance
|
|
50
|
-
}
|
|
51
85
|
}
|
|
@@ -16,6 +16,7 @@ import UpgradePackageCommand from './commands/UpgradePackageCommand.js'
|
|
|
16
16
|
|
|
17
17
|
export default class CliCommandRunner implements CommandRunner {
|
|
18
18
|
public static Class?: CommandRunnerConstructor
|
|
19
|
+
public static error = console.error
|
|
19
20
|
public static exec = promisify(execSync)
|
|
20
21
|
public static log = console.log
|
|
21
22
|
public static mkdir = mkdir
|
|
@@ -4,13 +4,31 @@ export default class BuildLabrecorderCommand {
|
|
|
4
4
|
public constructor() {}
|
|
5
5
|
|
|
6
6
|
public async run() {
|
|
7
|
-
await this.exec(this.bashCommand, {
|
|
7
|
+
const { stdout, stderr } = await this.exec(this.bashCommand, {
|
|
8
|
+
cwd: '.',
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
if (stdout) {
|
|
12
|
+
this.log(stdout)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (stderr) {
|
|
16
|
+
this.error(stderr)
|
|
17
|
+
}
|
|
8
18
|
}
|
|
9
19
|
|
|
10
20
|
private get exec() {
|
|
11
21
|
return CliCommandRunner.exec
|
|
12
22
|
}
|
|
13
23
|
|
|
24
|
+
private get log() {
|
|
25
|
+
return CliCommandRunner.log
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
private get error() {
|
|
29
|
+
return CliCommandRunner.error
|
|
30
|
+
}
|
|
31
|
+
|
|
14
32
|
private readonly bashCommand = `sudo rm -rf build/ \
|
|
15
33
|
&& cmake -S . -B build \
|
|
16
34
|
-DCMAKE_INSTALL_PREFIX=/opt/local \
|