From dde803619422ea375cfd54389926b994deb3c9bc Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Thu, 16 Sep 2021 10:07:14 -0500 Subject: [PATCH] feat: add which test to testBin --- src/cmake/__tests__/cmake.test.ts | 2 +- src/ninja/__tests__/ninja.test.ts | 2 +- src/utils/tests/test-helpers.ts | 16 ++++++++++------ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/cmake/__tests__/cmake.test.ts b/src/cmake/__tests__/cmake.test.ts index a68286ad..48b7be3b 100644 --- a/src/cmake/__tests__/cmake.test.ts +++ b/src/cmake/__tests__/cmake.test.ts @@ -4,7 +4,7 @@ import { setupTmpDir, cleanupTmpDir, testBin } from "../../utils/tests/test-help jest.setTimeout(200000) async function testCmake(directory: string) { const { binDir } = await setupCmake("3.20.2", directory, "") - testBin("cmake", binDir) + await testBin("cmake", ["--version"], binDir) return binDir } diff --git a/src/ninja/__tests__/ninja.test.ts b/src/ninja/__tests__/ninja.test.ts index 46dc9799..a1c5d9f1 100644 --- a/src/ninja/__tests__/ninja.test.ts +++ b/src/ninja/__tests__/ninja.test.ts @@ -4,7 +4,7 @@ import { setupTmpDir, cleanupTmpDir, testBin } from "../../utils/tests/test-help jest.setTimeout(200000) async function testNinja(directory: string) { const { binDir } = await setupNinja("1.10.2", directory, "") - testBin("ninja", binDir) + await testBin("ninja", ["--version"], binDir) return binDir } diff --git a/src/utils/tests/test-helpers.ts b/src/utils/tests/test-helpers.ts index e6a98031..9cac6357 100644 --- a/src/utils/tests/test-helpers.ts +++ b/src/utils/tests/test-helpers.ts @@ -33,16 +33,20 @@ export async function cleanupTmpDir(testName: string) { } } -export function testBin(binName: string, binDir: string) { - expect(binDir).toBeDefined() - expect(binDir).not.toHaveLength(0) +export async function testBin(name: string, args: string[] = ["--version"], binDir: string | undefined = undefined) { + let bin = name + if (binDir !== undefined) { + expect(binDir).toBeDefined() + expect(binDir).not.toHaveLength(0) + bin = join(binDir, addBinExtension(name)) + } - const cmakeBin = join(binDir, addBinExtension(binName)) - - const { status } = spawn(cmakeBin, ["--version"], { + const { status } = spawn(bin, args, { encoding: "utf8", }) expect(status).toBe(0) + expect(await io.which(name, true)).toBe(bin) + return binDir }