testdriverai 5.4.2 → 5.5.0
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/agent.js +6 -5
- package/index.js +3 -0
- package/lib/commander.js +1 -1
- package/lib/commands.js +1 -1
- package/lib/config.js +2 -1
- package/lib/ipc.js +12 -45
- package/lib/logger.js +1 -1
- package/package.json +1 -1
package/agent.js
CHANGED
|
@@ -30,7 +30,7 @@ const yaml = require("js-yaml");
|
|
|
30
30
|
const sanitizeFilename = require("sanitize-filename");
|
|
31
31
|
|
|
32
32
|
// local modules
|
|
33
|
-
const
|
|
33
|
+
const server = require("./lib/ipc.js");
|
|
34
34
|
const speak = require("./lib/speak.js");
|
|
35
35
|
const analytics = require("./lib/analytics.js");
|
|
36
36
|
const log = require("./lib/logger.js");
|
|
@@ -753,8 +753,10 @@ const actOnMarkdown = async (
|
|
|
753
753
|
};
|
|
754
754
|
|
|
755
755
|
const ensureMacScreenPerms = async () => {
|
|
756
|
+
|
|
756
757
|
// if os is mac, check for screen capture permissions
|
|
757
758
|
if (
|
|
759
|
+
!config.TD_OVERLAY_ID &&
|
|
758
760
|
!config.TD_VM &&
|
|
759
761
|
process.platform === "darwin"
|
|
760
762
|
) {
|
|
@@ -889,7 +891,7 @@ const firstPrompt = async () => {
|
|
|
889
891
|
};
|
|
890
892
|
|
|
891
893
|
rl.on("line", handleInput);
|
|
892
|
-
server.on("input", handleInput);
|
|
894
|
+
server.emitter.on("input", handleInput);
|
|
893
895
|
|
|
894
896
|
// if file exists, load it
|
|
895
897
|
if (fs.existsSync(thisFile)) {
|
|
@@ -1054,6 +1056,7 @@ let runRawYML = async (yml) => {
|
|
|
1054
1056
|
// add the root key steps: with array of commands:
|
|
1055
1057
|
if (ymlObj && !ymlObj.steps) {
|
|
1056
1058
|
ymlObj = {
|
|
1059
|
+
version: package.version,
|
|
1057
1060
|
steps: [ymlObj],
|
|
1058
1061
|
};
|
|
1059
1062
|
}
|
|
@@ -1062,7 +1065,7 @@ let runRawYML = async (yml) => {
|
|
|
1062
1065
|
fs.writeFileSync(tmpobj.name, yaml.dump(ymlObj));
|
|
1063
1066
|
|
|
1064
1067
|
// and run it with run()
|
|
1065
|
-
await run(tmpobj.name, false,
|
|
1068
|
+
await run(tmpobj.name, false, false);
|
|
1066
1069
|
};
|
|
1067
1070
|
|
|
1068
1071
|
// this will load a regression test from a file location
|
|
@@ -1223,8 +1226,6 @@ const start = async () => {
|
|
|
1223
1226
|
let testdriverFolder = path.join(workingDir, "testdriver");
|
|
1224
1227
|
if (!fs.existsSync(testdriverFolder)) {
|
|
1225
1228
|
|
|
1226
|
-
console.log('does not exist')
|
|
1227
|
-
|
|
1228
1229
|
fs.mkdirSync(testdriverFolder);
|
|
1229
1230
|
// log
|
|
1230
1231
|
logger.info(chalk.dim(`Created testdriver directory`));
|
package/index.js
CHANGED
|
@@ -9,7 +9,9 @@ if (process.argv[2] === "--help" || process.argv[2] === "-h") {
|
|
|
9
9
|
console.log("Command: testdriverai [init, run, edit] [yaml filepath]");
|
|
10
10
|
process.exit(0);
|
|
11
11
|
}
|
|
12
|
+
|
|
12
13
|
if (process.argv[2] === "--renderer") {
|
|
14
|
+
|
|
13
15
|
const {
|
|
14
16
|
// connectToOverlay,
|
|
15
17
|
createOverlayProcess,
|
|
@@ -38,6 +40,7 @@ if (process.argv[2] === "--renderer") {
|
|
|
38
40
|
})();
|
|
39
41
|
} else {
|
|
40
42
|
(async () => {
|
|
43
|
+
|
|
41
44
|
if (!config.TD_OVERLAY) {
|
|
42
45
|
let agent = require("./agent.js");
|
|
43
46
|
await agent.start();
|
package/lib/commander.js
CHANGED
|
@@ -9,7 +9,7 @@ const analytics = require("./analytics");
|
|
|
9
9
|
const marky = require("marky");
|
|
10
10
|
const sdk = require("./sdk");
|
|
11
11
|
const outputs = require("./outputs");
|
|
12
|
-
const
|
|
12
|
+
const server = require("./ipc");
|
|
13
13
|
|
|
14
14
|
// replace all occurances of ${OUTPUT.ls} with outputs.get("ls") in every possible property of the `object`
|
|
15
15
|
// this is a recursive function that will go through all the properties of the object
|
package/lib/commands.js
CHANGED
package/lib/config.js
CHANGED
package/lib/ipc.js
CHANGED
|
@@ -1,50 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
const { default: nodeIPC } = require("node-ipc");
|
|
3
|
-
const { IPC } = nodeIPC;
|
|
1
|
+
let { emitter } = require("./events");
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
process.on("connect", () => {
|
|
4
|
+
broadcast("connect", {});
|
|
5
|
+
});
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
process.on("message", (raw) => {
|
|
8
|
+
let { event, data } = JSON.parse(raw);
|
|
9
|
+
emitter.emit(event, data);
|
|
10
|
+
});
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.ipc = new IPC();
|
|
18
|
-
this.eventListeners = new Map();
|
|
19
|
-
|
|
20
|
-
this.ipc.config.id = `testdriverai_${process.pid}`;
|
|
21
|
-
this.ipc.config.retry = 50;
|
|
22
|
-
this.ipc.config.silent = true;
|
|
23
|
-
|
|
24
|
-
this.ipc.serve(() => {
|
|
25
|
-
this.ipc.server.on("connect", (socket) => {
|
|
26
|
-
this.ipc.server.emit(socket, "interactive", this.interactive);
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
this.ipc.server.on("message", ({ event, data }) => {
|
|
30
|
-
this.emit(event, data);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
this.ipc.server.start();
|
|
35
|
-
|
|
36
|
-
IPCServerSingleton.instance = this;
|
|
37
|
-
}
|
|
38
|
-
return IPCServerSingleton.instance;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
broadcast(event, data) {
|
|
42
|
-
if (event === "interactive") {
|
|
43
|
-
this.interactive = data;
|
|
44
|
-
}
|
|
45
|
-
this.ipc.server.broadcast("message", { event, data });
|
|
46
|
-
}
|
|
12
|
+
let broadcast = (event, data) => {
|
|
13
|
+
let d = {event, data};
|
|
14
|
+
process.send(d);
|
|
47
15
|
}
|
|
48
16
|
|
|
49
|
-
|
|
50
|
-
module.exports = { server };
|
|
17
|
+
module.exports = { broadcast, emitter };
|
package/lib/logger.js
CHANGED