@neurodevs/ndx-cli 0.1.115 → 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.
@@ -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 buildLabrecorderCommmand = "build.labrecorder";
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 buildLabrecorderCommmand = 'build.labrecorder';
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":"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"}
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
- private static readonly bashCommand;
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.buildLabrecorderCommmand}!`);
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":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,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;IAE5B,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,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,wBAAwB,GAAG,CACpE,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;IAEO,MAAM,CAAU,WAAW,GAAG;;;;;;;8BAOZ,CAAA;IAElB,MAAM,CAAC,KAAK,CAAC,GAAG;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACvE,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;QAEpB,OAAO,QAAQ,CAAA;IACnB,CAAC;;AAjCsB;IADtB,IAAI,EAAE;wDAMN;AAGsB;IADtB,IAAI,EAAE;oEAUN"}
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,5 +2,7 @@ export default class BuildLabrecorderCommand {
2
2
  constructor();
3
3
  run(): Promise<void>;
4
4
  private get exec();
5
+ private get log();
6
+ private get error();
5
7
  private readonly bashCommand;
6
8
  }
@@ -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, { cwd: '.' });
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;IACnD,CAAC;IAED,IAAY,IAAI;QACZ,OAAO,gBAAgB,CAAC,IAAI,CAAA;IAChC,CAAC;IAEgB,WAAW,GAAG;;;;;;;8BAOL,CAAA;CAC7B"}
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.115",
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.11.1",
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 buildLabrecorderCommmand = 'build.labrecorder'
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 { callsToExec } from '@neurodevs/fake-node-core'
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.buildLabrecorderCommmand}!`
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, { cwd: '.' })
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 \