Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'editors/code/tests/unit/runnable_env.test.ts')
-rw-r--r--editors/code/tests/unit/runnable_env.test.ts194
1 files changed, 98 insertions, 96 deletions
diff --git a/editors/code/tests/unit/runnable_env.test.ts b/editors/code/tests/unit/runnable_env.test.ts
index d5f522dd11..085c96da92 100644
--- a/editors/code/tests/unit/runnable_env.test.ts
+++ b/editors/code/tests/unit/runnable_env.test.ts
@@ -1,6 +1,7 @@
import * as assert from 'assert';
import { prepareEnv } from '../../src/run';
import { RunnableEnvCfg } from '../../src/config';
+import { Context } from '.';
import * as ra from '../../src/lsp_ext';
function makeRunnable(label: string): ra.Runnable {
@@ -20,100 +21,101 @@ function fakePrepareEnv(runnableName: string, config: RunnableEnvCfg): Record<st
return prepareEnv(runnable, config);
}
-suite('Runnable env', () => {
- test('Global config works', () => {
- const binEnv = fakePrepareEnv("run project_name", { "GLOBAL": "g" });
- assert.strictEqual(binEnv["GLOBAL"], "g");
-
- const testEnv = fakePrepareEnv("test some::mod::test_name", { "GLOBAL": "g" });
- assert.strictEqual(testEnv["GLOBAL"], "g");
- });
-
- test('null mask works', () => {
- const config = [
- {
- env: { DATA: "data" }
- }
- ];
- const binEnv = fakePrepareEnv("run project_name", config);
- assert.strictEqual(binEnv["DATA"], "data");
-
- const testEnv = fakePrepareEnv("test some::mod::test_name", config);
- assert.strictEqual(testEnv["DATA"], "data");
- });
-
- test('order works', () => {
- const config = [
- {
- env: { DATA: "data" }
- },
- {
- env: { DATA: "newdata" }
- }
- ];
- const binEnv = fakePrepareEnv("run project_name", config);
- assert.strictEqual(binEnv["DATA"], "newdata");
-
- const testEnv = fakePrepareEnv("test some::mod::test_name", config);
- assert.strictEqual(testEnv["DATA"], "newdata");
+export async function getTests(ctx: Context) {
+ await ctx.suite('Runnable env', suite => {
+ suite.addTest('Global config works', async () => {
+ const binEnv = fakePrepareEnv("run project_name", { "GLOBAL": "g" });
+ assert.strictEqual(binEnv["GLOBAL"], "g");
+
+ const testEnv = fakePrepareEnv("test some::mod::test_name", { "GLOBAL": "g" });
+ assert.strictEqual(testEnv["GLOBAL"], "g");
+ });
+
+ suite.addTest('null mask works', async () => {
+ const config = [
+ {
+ env: { DATA: "data" }
+ }
+ ];
+ const binEnv = fakePrepareEnv("run project_name", config);
+ assert.strictEqual(binEnv["DATA"], "data");
+
+ const testEnv = fakePrepareEnv("test some::mod::test_name", config);
+ assert.strictEqual(testEnv["DATA"], "data");
+ });
+
+ suite.addTest('order works', async () => {
+ const config = [
+ {
+ env: { DATA: "data" }
+ },
+ {
+ env: { DATA: "newdata" }
+ }
+ ];
+ const binEnv = fakePrepareEnv("run project_name", config);
+ assert.strictEqual(binEnv["DATA"], "newdata");
+
+ const testEnv = fakePrepareEnv("test some::mod::test_name", config);
+ assert.strictEqual(testEnv["DATA"], "newdata");
+ });
+
+ suite.addTest('mask works', async () => {
+ const config = [
+ {
+ env: { DATA: "data" }
+ },
+ {
+ mask: "^run",
+ env: { DATA: "rundata" }
+ },
+ {
+ mask: "special_test$",
+ env: { DATA: "special_test" }
+ }
+ ];
+ const binEnv = fakePrepareEnv("run project_name", config);
+ assert.strictEqual(binEnv["DATA"], "rundata");
+
+ const testEnv = fakePrepareEnv("test some::mod::test_name", config);
+ assert.strictEqual(testEnv["DATA"], "data");
+
+ const specialTestEnv = fakePrepareEnv("test some::mod::special_test", config);
+ assert.strictEqual(specialTestEnv["DATA"], "special_test");
+ });
+
+ suite.addTest('exact test name works', async () => {
+ const config = [
+ {
+ env: { DATA: "data" }
+ },
+ {
+ mask: "some::mod::test_name",
+ env: { DATA: "test special" }
+ }
+ ];
+ const testEnv = fakePrepareEnv("test some::mod::test_name", config);
+ assert.strictEqual(testEnv["DATA"], "test special");
+
+ const specialTestEnv = fakePrepareEnv("test some::mod::another_test", config);
+ assert.strictEqual(specialTestEnv["DATA"], "data");
+ });
+
+ suite.addTest('test mod name works', async () => {
+ const config = [
+ {
+ env: { DATA: "data" }
+ },
+ {
+ mask: "some::mod",
+ env: { DATA: "mod special" }
+ }
+ ];
+ const testEnv = fakePrepareEnv("test some::mod::test_name", config);
+ assert.strictEqual(testEnv["DATA"], "mod special");
+
+ const specialTestEnv = fakePrepareEnv("test some::mod::another_test", config);
+ assert.strictEqual(specialTestEnv["DATA"], "mod special");
+ });
});
-
- test('mask works', () => {
- const config = [
- {
- env: { DATA: "data" }
- },
- {
- mask: "^run",
- env: { DATA: "rundata" }
- },
- {
- mask: "special_test$",
- env: { DATA: "special_test" }
- }
- ];
- const binEnv = fakePrepareEnv("run project_name", config);
- assert.strictEqual(binEnv["DATA"], "rundata");
-
- const testEnv = fakePrepareEnv("test some::mod::test_name", config);
- assert.strictEqual(testEnv["DATA"], "data");
-
- const specialTestEnv = fakePrepareEnv("test some::mod::special_test", config);
- assert.strictEqual(specialTestEnv["DATA"], "special_test");
- });
-
- test('exact test name works', () => {
- const config = [
- {
- env: { DATA: "data" }
- },
- {
- mask: "some::mod::test_name",
- env: { DATA: "test special" }
- }
- ];
- const testEnv = fakePrepareEnv("test some::mod::test_name", config);
- assert.strictEqual(testEnv["DATA"], "test special");
-
- const specialTestEnv = fakePrepareEnv("test some::mod::another_test", config);
- assert.strictEqual(specialTestEnv["DATA"], "data");
- });
-
- test('test mod name works', () => {
- const config = [
- {
- env: { DATA: "data" }
- },
- {
- mask: "some::mod",
- env: { DATA: "mod special" }
- }
- ];
- const testEnv = fakePrepareEnv("test some::mod::test_name", config);
- assert.strictEqual(testEnv["DATA"], "mod special");
-
- const specialTestEnv = fakePrepareEnv("test some::mod::another_test", config);
- assert.strictEqual(specialTestEnv["DATA"], "mod special");
- });
-
-});
+}