Add an optional architecture parameter to set the target architecture (x86, x64, arm64, ...).

This commit is contained in:
Kevin Gosse
2022-10-21 16:22:30 +02:00
parent 4d4a70f4a5
commit 2f8de776e1
5 changed files with 48 additions and 3 deletions

View File

@ -107,6 +107,24 @@ describe('DotnetCoreInstaller tests', () => {
expect(process.env.PATH?.startsWith(toolDir)).toBe(true);
}, 600000); //This needs some time to download on "slower" internet connections
it('Acquires architecture-specific version of dotnet if no matching version is installed', async () => {
await getDotnet('3.1', '', 'x64');
var directory = fs
.readdirSync(path.join(toolDir, 'sdk'))
.filter(fn => fn.startsWith('3.1.'));
expect(directory.length > 0).toBe(true);
if (IS_WINDOWS) {
expect(fs.existsSync(path.join(toolDir, 'dotnet.exe'))).toBe(true);
} else {
expect(fs.existsSync(path.join(toolDir, 'dotnet'))).toBe(true);
}
expect(process.env.DOTNET_ROOT).toBeDefined;
expect(process.env.PATH).toBeDefined;
expect(process.env.DOTNET_ROOT).toBe(toolDir);
expect(process.env.PATH?.startsWith(toolDir)).toBe(true);
}, 600000); //This needs some time to download on "slower" internet connections
it('Returns string with installed SDK version', async () => {
const version = '3.1.120';
let installedVersion: string;
@ -279,10 +297,12 @@ function normalizeFileContents(contents: string): string {
async function getDotnet(
version: string,
quality: string = ''
architecture: string = ''
): Promise<string> {
const dotnetInstaller = new installer.DotnetCoreInstaller(
version,
quality as QualityOptions
quality as QualityOptions,
architecture
);
const installedVersion = await dotnetInstaller.installDotnet();
installer.DotnetCoreInstaller.addToPath();