51 lines · 1.2 KB · TypeScript
RawDownload
import { afterEach, describe, expect, it } from "bun:test";import type { RuntimeTorchBuildInfo } from "../../models/types";import { detectPlatformKind } from "../../engines/runtimes/runtime-info"; const torch = (overrides: Partial<RuntimeTorchBuildInfo> = {}): RuntimeTorchBuildInfo => ({  torch_version: null,  torch_cuda: null,  torch_hip: null,  ...overrides,}); const originalEnvironment = { ...process.env }; afterEach(() => {  process.env = { ...originalEnvironment };}); describe("platform detection", () => {  it("uses explicit override first", () => {    expect(      detectPlatformKind({        forcedSmiTool: "amd-smi",        torch: torch({ torch_cuda: "12.4" }),        hasNvidiaSmi: true,        hasRocmSmi: true,      })    ).toBe("rocm");  });   it("uses torch metadata second", () => {    expect(      detectPlatformKind({        forcedSmiTool: undefined,        torch: torch({ torch_hip: "6.2" }),        hasNvidiaSmi: true,        hasRocmSmi: false,      })    ).toBe("rocm");  });   it("falls back to binary presence", () => {    expect(      detectPlatformKind({        forcedSmiTool: undefined,        torch: torch(),        hasNvidiaSmi: false,        hasRocmSmi: true,      })    ).toBe("rocm");  });});