Tests and pathing

This commit is contained in:
Danny McCormick 2019-07-15 14:46:34 -04:00
parent 02c1a8e374
commit 72c20b3e34
3 changed files with 41 additions and 3 deletions

View file

@ -51,7 +51,7 @@ describe('installer tests', () => {
}
}, 100000);
it('Acquires version of Java if no matching version is installed', async () => {
it('Installs version of Java from jdkFile if no matching version is installed', async () => {
await installer.getJava('12', 'x64', javaFilePath);
const JavaDir = path.join(toolDir, 'Java', '12.0.0', 'x64');
@ -69,6 +69,24 @@ describe('installer tests', () => {
expect(thrown).toBe(true);
});
it('Downloads java if no file given', async () => {
await installer.getJava('8.0.102', 'x64', '');
const JavaDir = path.join(toolDir, 'Java', '8.0.102', 'x64');
expect(fs.existsSync(`${JavaDir}.complete`)).toBe(true);
expect(fs.existsSync(path.join(JavaDir, 'bin'))).toBe(true);
}, 100000);
it('Throws if invalid directory to jdk', async () => {
let thrown = false;
try {
await installer.getJava('1000', 'x64', 'bad path');
} catch {
thrown = true;
}
expect(thrown).toBe(true);
});
it('Uses version of Java installed in cache', async () => {
const JavaDir: string = path.join(toolDir, 'Java', '250.0.0', 'x64');
await io.mkdirP(JavaDir);

View file

@ -60,7 +60,7 @@ function getJava(version, arch, jdkFile) {
let tempDir = path.join(tempDirectory, 'temp_' + Math.floor(Math.random() * 2000000000));
const jdkDir = yield unzipJavaDownload(jdkFile, compressedFileExtension, tempDir);
core.debug(`jdk extracted to ${jdkDir}`);
toolPath = yield tc.cacheDir(jdkDir, 'Java', `${version}.0.0`, arch);
toolPath = yield tc.cacheDir(jdkDir, 'Java', normalizeVersion(version), arch);
}
let extendedJavaHome = 'JAVA_HOME_' + version + '_' + arch;
core.exportVariable('JAVA_HOME', toolPath);
@ -69,6 +69,13 @@ function getJava(version, arch, jdkFile) {
});
}
exports.getJava = getJava;
function normalizeVersion(version) {
const versionArray = version.split('.');
const major = versionArray[0];
const minor = versionArray.length > 1 ? versionArray[1] : '0';
const patch = versionArray.length > 2 ? versionArray[2] : '0';
return `${major}.${minor}.${patch}`;
}
function getFileEnding(file) {
let fileEnding = '';
if (file.endsWith('.tar')) {

View file

@ -54,7 +54,12 @@ export async function getJava(
tempDir
);
core.debug(`jdk extracted to ${jdkDir}`);
toolPath = await tc.cacheDir(jdkDir, 'Java', `${version}.0.0`, arch);
toolPath = await tc.cacheDir(
jdkDir,
'Java',
normalizeVersion(version),
arch
);
}
let extendedJavaHome = 'JAVA_HOME_' + version + '_' + arch;
@ -63,6 +68,14 @@ export async function getJava(
core.addPath(path.join(toolPath, 'bin'));
}
function normalizeVersion(version: string) {
const versionArray = version.split('.');
const major = versionArray[0];
const minor = versionArray.length > 1 ? versionArray[1] : '0';
const patch = versionArray.length > 2 ? versionArray[2] : '0';
return `${major}.${minor}.${patch}`;
}
function getFileEnding(file: string): string {
let fileEnding = '';