Ctrl K
ComunidadGuías…

test/scripts/workers.test.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { expect } from "@std/expect";
import { describe, it as test } from "@std/testing/bdd";
import {
  coverageDenoJobs,
  precommitDenoJobs,
  resolveDenoJobs,
} from "#scripts/workers.ts";

describe("resolveDenoJobs", () => {
  test("keeps a valid DENO_JOBS value", () => {
    expect(resolveDenoJobs(16, false, "4")).toBe(4);
    expect(resolveDenoJobs(16, true, "1")).toBe(1);
  });

  test("replaces invalid DENO_JOBS values with the capped count", () => {
    for (const value of [
      "",
      "0",
      "-1",
      "2.5",
      "1e2",
      "0x10",
      " 4 ",
      "not-a-number",
    ]) {
      expect(resolveDenoJobs(16, false, value)).toBe(7);
    }
  });

  test("returns the CI worker count when unset in CI", () => {
    expect(resolveDenoJobs(16, true, undefined)).toBe(16);
    expect(resolveDenoJobs(1, true, undefined)).toBe(1);
  });

  test("returns the capped local count when unset locally", () => {
    expect(resolveDenoJobs(16, false, undefined)).toBe(7);
    expect(resolveDenoJobs(8, false, undefined)).toBe(3);
    expect(resolveDenoJobs(4, false, undefined)).toBe(1);
    expect(resolveDenoJobs(2, false, undefined)).toBe(1);
    expect(resolveDenoJobs(1, false, undefined)).toBe(1);
  });
});

describe("coverageDenoJobs", () => {
  test("caps the workers when the caller set none", () => {
    expect(coverageDenoJobs(undefined, 16)).toBe(4);
    expect(coverageDenoJobs(undefined, 8)).toBe(4);
    expect(coverageDenoJobs(undefined, 2)).toBe(2);
  });

  test("caps the workers for blank and invalid values", () => {
    expect(coverageDenoJobs("", 16)).toBe(4);
    expect(coverageDenoJobs("0", 16)).toBe(4);
    expect(coverageDenoJobs("abc", 16)).toBe(4);
  });

  test("leaves a valid explicit count alone", () => {
    expect(coverageDenoJobs("8", 16)).toBeUndefined();
    expect(coverageDenoJobs("1", 16)).toBeUndefined();
  });
});

describe("precommitDenoJobs", () => {
  test("caps the default, because the run's test step is the coverage gate", () => {
    expect(precommitDenoJobs(16, false, undefined)).toBe(4);
    expect(precommitDenoJobs(16, true, undefined)).toBe(4);
  });

  test("keeps the small-machine floor under the cap", () => {
    expect(precommitDenoJobs(2, false, undefined)).toBe(1);
    expect(precommitDenoJobs(1, false, undefined)).toBe(1);
  });

  test("a valid explicit count wins", () => {
    expect(precommitDenoJobs(16, false, "8")).toBe(8);
    expect(precommitDenoJobs(16, true, "1")).toBe(1);
  });

  test("an invalid count falls back to the capped default", () => {
    expect(precommitDenoJobs(16, false, "abc")).toBe(4);
    expect(precommitDenoJobs(16, false, "0")).toBe(4);
    expect(precommitDenoJobs(16, false, "")).toBe(4);
  });
});