Initial commit
Some checks failed
CI-integ-test-full / caching-integ-tests (push) Failing after 32s
CI-integ-test-full / other-integ-tests (push) Failing after 29m15s
Update Wrapper checksums file / Update checksums (push) Failing after 1m50s
CI-codeql / Analyze (javascript-typescript) (push) Failing after 1m22s
Some checks failed
CI-integ-test-full / caching-integ-tests (push) Failing after 32s
CI-integ-test-full / other-integ-tests (push) Failing after 29m15s
Update Wrapper checksums file / Update checksums (push) Failing after 1m50s
CI-codeql / Analyze (javascript-typescript) (push) Failing after 1m22s
This commit is contained in:
117
sources/test/jest/predefined-toolchains.test.ts
Normal file
117
sources/test/jest/predefined-toolchains.test.ts
Normal file
@@ -0,0 +1,117 @@
|
||||
import {getPredefinedToolchains, mergeToolchainContent} from "../../src/caching/gradle-user-home-utils";
|
||||
|
||||
describe('predefined-toolchains', () => {
|
||||
const OLD_ENV = process.env
|
||||
afterAll(() => {
|
||||
process.env = OLD_ENV
|
||||
});
|
||||
|
||||
describe('returns', () => {
|
||||
it('null if no JAVA_HOME_ envs are set', async () => {
|
||||
jest.resetModules()
|
||||
process.env = {
|
||||
"JAVA_HOME": "/jdks/foo_8"
|
||||
}
|
||||
|
||||
const predefinedToolchains = getPredefinedToolchains()
|
||||
expect(predefinedToolchains).toBe(null)
|
||||
})
|
||||
it('valid toolchains.xml if JAVA_HOME_ envs are set', async () => {
|
||||
jest.resetModules()
|
||||
process.env = {
|
||||
"JAVA_HOME": "/jdks/foo_8",
|
||||
"JAVA_HOME_8_X64": "/jdks/foo_8",
|
||||
"JAVA_HOME_11_X64": "/jdks/foo_11",
|
||||
"JAVA_HOME_21_ARM64": "/jdks/foo_21",
|
||||
}
|
||||
|
||||
const predefinedToolchains = getPredefinedToolchains()
|
||||
expect(predefinedToolchains).toBe(
|
||||
// language=XML
|
||||
`<?xml version="1.0" encoding="UTF-8"?>
|
||||
<toolchains>
|
||||
<!-- JDK Toolchains installed by default on GitHub-hosted runners -->
|
||||
<toolchain>
|
||||
<type>jdk</type>
|
||||
<provides>
|
||||
<version>8</version>
|
||||
</provides>
|
||||
<configuration>
|
||||
<jdkHome>\${env.JAVA_HOME_8_X64}</jdkHome>
|
||||
</configuration>
|
||||
</toolchain>
|
||||
<toolchain>
|
||||
<type>jdk</type>
|
||||
<provides>
|
||||
<version>11</version>
|
||||
</provides>
|
||||
<configuration>
|
||||
<jdkHome>\${env.JAVA_HOME_11_X64}</jdkHome>
|
||||
</configuration>
|
||||
</toolchain>
|
||||
<toolchain>
|
||||
<type>jdk</type>
|
||||
<provides>
|
||||
<version>21</version>
|
||||
</provides>
|
||||
<configuration>
|
||||
<jdkHome>\${env.JAVA_HOME_21_ARM64}</jdkHome>
|
||||
</configuration>
|
||||
</toolchain>
|
||||
</toolchains>
|
||||
`)
|
||||
})
|
||||
})
|
||||
|
||||
it("merges with existing toolchains", async () => {
|
||||
jest.resetModules()
|
||||
process.env = {
|
||||
"JAVA_HOME_11_X64": "/jdks/foo_11",
|
||||
}
|
||||
|
||||
// language=XML
|
||||
const existingToolchains =
|
||||
`<?xml version="1.0" encoding="UTF-8"?>
|
||||
<toolchains>
|
||||
<toolchain>
|
||||
<type>jdk</type>
|
||||
<provides>
|
||||
<version>8</version>
|
||||
</provides>
|
||||
<configuration>
|
||||
<jdkHome>\${env.JAVA_HOME_8_X64}</jdkHome>
|
||||
</configuration>
|
||||
</toolchain>
|
||||
</toolchains>
|
||||
`
|
||||
|
||||
const mergedContent = mergeToolchainContent(existingToolchains, getPredefinedToolchains()!)
|
||||
expect(mergedContent).toBe(
|
||||
// language=XML
|
||||
`<?xml version="1.0" encoding="UTF-8"?>
|
||||
<toolchains>
|
||||
<toolchain>
|
||||
<type>jdk</type>
|
||||
<provides>
|
||||
<version>8</version>
|
||||
</provides>
|
||||
<configuration>
|
||||
<jdkHome>\${env.JAVA_HOME_8_X64}</jdkHome>
|
||||
</configuration>
|
||||
</toolchain>
|
||||
|
||||
<!-- JDK Toolchains installed by default on GitHub-hosted runners -->
|
||||
<toolchain>
|
||||
<type>jdk</type>
|
||||
<provides>
|
||||
<version>11</version>
|
||||
</provides>
|
||||
<configuration>
|
||||
<jdkHome>\${env.JAVA_HOME_11_X64}</jdkHome>
|
||||
</configuration>
|
||||
</toolchain>
|
||||
</toolchains>
|
||||
|
||||
`)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user