diff --git a/src/Tests/Toolchain/ToolchainEnv.test.ts b/src/Tests/Toolchain/ToolchainEnv.test.ts index ffb7ec3d..d134fb34 100644 --- a/src/Tests/Toolchain/ToolchainEnv.test.ts +++ b/src/Tests/Toolchain/ToolchainEnv.test.ts @@ -306,5 +306,17 @@ suite("Toolchain", function () { }); }); }); + + suite("#getModelInfo()", function () { + test("NEG: requests unimplemented getModelInfo", async function () { + let env = new ToolchainEnv(compiler); + const invalidToolchain = env.listInstalled(); + assert.isAbove(invalidToolchain.length, 0); + const model = "model.bin"; + await env.getModelInfo(invalidToolchain[0], model, "test").catch(() => { + assert.isTrue(true); + }); + }); + }); }); }); diff --git a/src/Toolchain/ToolchainEnv.ts b/src/Toolchain/ToolchainEnv.ts index 3170f92a..dd79b6b3 100644 --- a/src/Toolchain/ToolchainEnv.ts +++ b/src/Toolchain/ToolchainEnv.ts @@ -220,6 +220,22 @@ class ToolchainEnv extends Env { this.executeEnv(jobs); }); } + + public getModelInfo( + toolchain: Toolchain, + model: string, + type: string + ): Promise { + return new Promise((resolve, reject) => { + const jobs: Array = []; + const job = new JobConfig(toolchain.runShow(model, type)); + job.workDir = path.dirname(model); + job.successCallback = () => resolve(job.result ? job.result : ""); + job.failureCallback = () => reject(); + jobs.push(job); + this.executeEnv(jobs); + }); + } } /**