mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-01 19:42:03 +00:00
fix(cli): avoid Python whisper CLI collision (#2414)
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
|
||||
vi.mock("node:child_process", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("node:child_process")>();
|
||||
return {
|
||||
...actual,
|
||||
execFileSync: vi.fn((_command: string, args: string[]) => {
|
||||
if (args[0] === "whisper") return "/fake/python-whisper\n";
|
||||
throw new Error(`${args[0]} not found`);
|
||||
}),
|
||||
};
|
||||
});
|
||||
|
||||
vi.mock("node:fs", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("node:fs")>();
|
||||
return { ...actual, existsSync: vi.fn(() => false) };
|
||||
});
|
||||
|
||||
describe("findWhisper", () => {
|
||||
it("does not treat the OpenAI Python whisper command as whisper.cpp", async () => {
|
||||
const { findWhisper } = await import("./manager.js");
|
||||
|
||||
expect(findWhisper()).toBeUndefined();
|
||||
});
|
||||
});
|
||||
@@ -67,10 +67,9 @@ function findFromEnv(): WhisperResult | undefined {
|
||||
}
|
||||
|
||||
function findFromSystem(): WhisperResult | undefined {
|
||||
for (const name of ["whisper-cli", "whisper"]) {
|
||||
const path = whichBinary(name);
|
||||
if (path) return { executablePath: path, source: "system" };
|
||||
}
|
||||
// `whisper` is the OpenAI Python CLI; only whisper.cpp's binary accepts our flags.
|
||||
const path = whichBinary("whisper-cli");
|
||||
if (path) return { executablePath: path, source: "system" };
|
||||
|
||||
// Check brew paths directly on macOS
|
||||
if (platform() === "darwin") {
|
||||
|
||||
Reference in New Issue
Block a user