test: test the default GCC version correctly

This commit is contained in:
Amin Yahyaabadi 2024-09-03 04:47:25 -07:00
parent 6cf096c7bf
commit 4e9255bbdf
No known key found for this signature in database
GPG Key ID: F52AF77F636088F0
1 changed files with 31 additions and 3 deletions

View File

@ -1,6 +1,7 @@
import { execaSync } from "execa" import { execaSync } from "execa"
import { chmod } from "fs/promises" import { chmod } from "fs/promises"
import { addExeExt, join } from "patha" import { addExeExt, join } from "patha"
import { isUbuntu } from "../../utils/env/isUbuntu.js"
import { ubuntuVersion } from "../../utils/env/ubuntu_version.js" import { ubuntuVersion } from "../../utils/env/ubuntu_version.js"
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers.js" import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers.js"
import { getVersion } from "../../versions/versions.js" import { getVersion } from "../../versions/versions.js"
@ -14,13 +15,40 @@ describe("setup-gcc", () => {
}) })
it("should setup gcc", async () => { it("should setup gcc", async () => {
const version = getVersion("gcc", undefined, await ubuntuVersion()) const ubuntuVersionOutput = await ubuntuVersion()
const version = getVersion("gcc", undefined, ubuntuVersionOutput)
const installInfo = await setupGcc(version, directory, process.arch) const installInfo = await setupGcc(version, directory, process.arch)
let gpp = "g++" let gpp = "g++"
if (process.platform !== "win32") { if (isUbuntu()) {
gpp = `g++-${version}` const ubuntuMajorVersion = ubuntuVersionOutput?.[0]
// https://packages.ubuntu.com/search?keywords=gcc
switch (ubuntuMajorVersion) {
case 26:
case 25:
gpp = "g++-14"
break
case 24:
case 23:
gpp = "g++-13"
break
case 22:
case 21:
gpp = "g++-11"
break
case 20:
gpp = "g++-9"
break
default: {
// ignore
} }
}
} else if (process.platform === "darwin") {
// https://formulae.brew.sh/formula/gcc
// As of 3, Sep, 2024
gpp = "g++-14"
}
await testBin(gpp, ["--version"], installInfo?.binDir) await testBin(gpp, ["--version"], installInfo?.binDir)
expect(process.env.CC?.includes("gcc")).toBeTruthy() expect(process.env.CC?.includes("gcc")).toBeTruthy()