From b1697dff825f0a11779c0edf5679c34894abd4f7 Mon Sep 17 00:00:00 2001 From: Shachar Langbeheim Date: Tue, 6 Jun 2023 13:32:15 +0000 Subject: [PATCH] Node cluster tests: don't delete folder on failure --- node/tests/ClusterSocketConnection.test.ts | 11 +++++++++-- node/tests/SharedTests.ts | 15 +++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/node/tests/ClusterSocketConnection.test.ts b/node/tests/ClusterSocketConnection.test.ts index 5888cdd45..1d78f8adb 100644 --- a/node/tests/ClusterSocketConnection.test.ts +++ b/node/tests/ClusterSocketConnection.test.ts @@ -86,6 +86,7 @@ class RedisCluster { } describe("ClusterSocketConnection", () => { + let testsFailed = 0; let cluster: RedisCluster; beforeAll(async () => { cluster = await RedisCluster.createCluster(3, 0); @@ -96,7 +97,9 @@ describe("ClusterSocketConnection", () => { }); afterAll(async () => { - await cluster.dispose(); + if (testsFailed === 0) { + await cluster.dispose(); + } }); const getOptions = (ports: number[]): ConnectionOptions => { @@ -110,6 +113,7 @@ describe("ClusterSocketConnection", () => { runBaseTests({ init: async () => { + testsFailed += 1; const client = await ClusterSocketConnection.CreateConnection( getOptions(cluster.ports()) ); @@ -120,7 +124,10 @@ describe("ClusterSocketConnection", () => { client, }; }, - close: (context: Context) => { + close: (context: Context, testSucceeded: boolean) => { + if (testSucceeded) { + testsFailed -= 1; + } context.client.dispose(); }, timeout: TIMEOUT, diff --git a/node/tests/SharedTests.ts b/node/tests/SharedTests.ts index 4d737876d..4843e6e31 100644 --- a/node/tests/SharedTests.ts +++ b/node/tests/SharedTests.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, fit, it, xit } from "@jest/globals"; import { v4 as uuidv4 } from "uuid"; import { Client, GetAndSetRandomValue } from "./TestUtilities"; @@ -17,18 +17,19 @@ type BaseClient = { export function runBaseTests(config: { init: () => Promise<{ context: Context; client: BaseClient }>; - close: (context: Context) => void; + close: (context: Context, testSucceeded: boolean) => void; timeout?: number; }) { runCommonTests(config); const runTest = async (test: (client: BaseClient) => Promise) => { const { context, client } = await config.init(); - + let testSucceeded = false; try { await test(client); + testSucceeded = true; } finally { - config.close(context); + config.close(context, testSucceeded); } }; @@ -111,16 +112,18 @@ export function runBaseTests(config: { export function runCommonTests(config: { init: () => Promise<{ context: Context; client: Client }>; - close: (context: Context) => void; + close: (context: Context, testSucceeded: boolean) => void; timeout?: number; }) { const runTest = async (test: (client: Client) => Promise) => { const { context, client } = await config.init(); + let testSucceeded = false; try { await test(client); + testSucceeded = true; } finally { - config.close(context); + config.close(context, testSucceeded); } };