test: add unit tests for getAvx2 Windows ARM64 fallback logic (#154)
* Initial plan * Add unit tests for getAvx2 function Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com> * Consolidate duplicate test assertions in getAvx2 tests Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com> * Fix whitespace formatting in test file Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com>
This commit is contained in:
parent
906d50b1d4
commit
a9fae19735
49
tests/utils.spec.ts
Normal file
49
tests/utils.spec.ts
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
import { describe, expect, it } from "bun:test";
|
||||||
|
import { getAvx2 } from "../src/utils";
|
||||||
|
|
||||||
|
describe("getAvx2", () => {
|
||||||
|
it("should return false when called with os: 'windows' and arch: 'arm64'", () => {
|
||||||
|
const result = getAvx2("windows", "arm64");
|
||||||
|
expect(result).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should return false when called with os: 'windows' and arch: 'aarch64'", () => {
|
||||||
|
const result = getAvx2("windows", "aarch64");
|
||||||
|
expect(result).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should return false when called with os: 'windows', arch: 'arm64', and avx2: true", () => {
|
||||||
|
const result = getAvx2("windows", "arm64", true);
|
||||||
|
expect(result).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should return false when called with os: 'windows', arch: 'aarch64', and avx2: false", () => {
|
||||||
|
const result = getAvx2("windows", "aarch64", false);
|
||||||
|
expect(result).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should return the provided avx2 value (true) when specified and not on Windows ARM64", () => {
|
||||||
|
expect(getAvx2("linux", "x64", true)).toBe(true);
|
||||||
|
expect(getAvx2("darwin", "x64", true)).toBe(true);
|
||||||
|
expect(getAvx2("windows", "x64", true)).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should return the provided avx2 value (false) when specified and not on Windows ARM64", () => {
|
||||||
|
expect(getAvx2("linux", "x64", false)).toBe(false);
|
||||||
|
expect(getAvx2("darwin", "x64", false)).toBe(false);
|
||||||
|
expect(getAvx2("windows", "x64", false)).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should return true by default when avx2 is not specified and not on Windows ARM64", () => {
|
||||||
|
// x64 architecture on various platforms
|
||||||
|
expect(getAvx2("linux", "x64")).toBe(true);
|
||||||
|
expect(getAvx2("darwin", "x64")).toBe(true);
|
||||||
|
expect(getAvx2("windows", "x64")).toBe(true);
|
||||||
|
|
||||||
|
// ARM architecture on non-Windows platforms
|
||||||
|
expect(getAvx2("linux", "arm64")).toBe(true);
|
||||||
|
expect(getAvx2("linux", "aarch64")).toBe(true);
|
||||||
|
expect(getAvx2("darwin", "arm64")).toBe(true);
|
||||||
|
expect(getAvx2("darwin", "aarch64")).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
x
Reference in New Issue
Block a user