From f5e46c9bf2f50d66a953fa133161fc829cecff06 Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Sat, 10 Feb 2024 13:22:13 -0700 Subject: chore: move cli/tests/ -> tests/ (#22369) This looks like a massive PR, but it's only a move from cli/tests -> tests, and updates of relative paths for files. This is the first step towards aggregate all of the integration test files under tests/, which will lead to a set of integration tests that can run without the CLI binary being built. While we could leave these tests under `cli`, it would require us to keep a more complex directory structure for the various test runners. In addition, we have a lot of complexity to ignore various test files in the `cli` project itself (cargo publish exclusion rules, autotests = false, etc). And finally, the `tests/` folder will eventually house the `test_ffi`, `test_napi` and other testing code, reducing the size of the root repo directory. For easier review, the extremely large and noisy "move" is in the first commit (with no changes -- just a move), while the remainder of the changes to actual files is in the second commit. --- cli/tests/testdata/test/steps/passing_steps.ts | 127 ------------------------- 1 file changed, 127 deletions(-) delete mode 100644 cli/tests/testdata/test/steps/passing_steps.ts (limited to 'cli/tests/testdata/test/steps/passing_steps.ts') diff --git a/cli/tests/testdata/test/steps/passing_steps.ts b/cli/tests/testdata/test/steps/passing_steps.ts deleted file mode 100644 index fd145954b..000000000 --- a/cli/tests/testdata/test/steps/passing_steps.ts +++ /dev/null @@ -1,127 +0,0 @@ -Deno.test("description", async (t) => { - const success = await t.step("step 1", async (t) => { - await t.step("inner 1", () => {}); - await t.step("inner 2", () => {}); - }); - - if (!success) throw new Error("Expected the step to return true."); -}); - -Deno.test("description function as first arg", async (t) => { - const success = await t.step(async function step1(t) { - await t.step(function inner1() {}); - await t.step(function inner1() {}); - }); - - if (!success) throw new Error("Expected the step to return true."); -}); - -Deno.test("parallel steps without sanitizers", async (t) => { - // allowed - await Promise.all([ - t.step({ - name: "step 1", - fn: async () => { - await new Promise((resolve) => setTimeout(resolve, 10)); - }, - sanitizeOps: false, - sanitizeResources: false, - sanitizeExit: false, - }), - t.step({ - name: "step 2", - fn: async () => { - await new Promise((resolve) => setTimeout(resolve, 10)); - }, - sanitizeOps: false, - sanitizeResources: false, - sanitizeExit: false, - }), - ]); -}); - -Deno.test({ - name: "parallel steps without sanitizers due to parent", - fn: async (t) => { - // allowed because parent disabled the sanitizers - await Promise.all([ - t.step("step 1", async () => { - await new Promise((resolve) => setTimeout(resolve, 10)); - }), - t.step("step 2", async () => { - await new Promise((resolve) => setTimeout(resolve, 10)); - }), - ]); - }, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, -}); - -Deno.test({ - name: "steps with disabled sanitizers, then enabled, then parallel disabled", - fn: async (t) => { - await t.step("step 1", async (t) => { - await t.step({ - name: "step 1", - fn: async (t) => { - await Promise.all([ - t.step({ - name: "step 1", - fn: async (t) => { - await new Promise((resolve) => setTimeout(resolve, 10)); - await Promise.all([ - t.step("step 1", () => {}), - t.step("step 1", () => {}), - ]); - }, - sanitizeExit: false, - sanitizeResources: false, - sanitizeOps: false, - }), - t.step({ - name: "step 2", - fn: () => {}, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, - }), - ]); - }, - sanitizeResources: true, - sanitizeOps: true, - sanitizeExit: true, - }); - }); - }, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, -}); - -Deno.test("steps buffered then streaming reporting", async (t) => { - // no sanitizers so this will be buffered - await t.step({ - name: "step 1", - fn: async (t) => { - // also ensure the buffered tests display in order regardless of the second one finishing first - const step2Finished = Promise.withResolvers(); - const step1 = t.step("step 1 - 1", async () => { - await step2Finished.promise; - }); - const step2 = t.step("step 1 - 2", async (t) => { - await t.step("step 1 - 2 - 1", () => {}); - }); - await step2; - step2Finished.resolve(); - await step1; - }, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, - }); - - // now this will start streaming and we want to - // ensure it flushes the buffer of the last test - await t.step("step 2", async () => {}); -}); -- cgit v1.2.3