feat: allow VCINSTALLDIR to specify a portable instance (#3036)

This commit is contained in:
Chengzhong Wu 2024-07-09 23:13:40 +08:00 committed by GitHub
parent 10f6730be6
commit d38af2e0c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 70 additions and 1 deletions

View file

@ -782,4 +782,29 @@ describe('find-visualstudio', function () {
assert.ok(/find .* Visual Studio/i.test(err), 'expect error')
assert.ok(!info, 'no data')
})
it('run on a portable VS Command Prompt with sufficient environs', async function () {
process.env.VCINSTALLDIR = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC'
process.env.VSCMD_VER = '16.0'
process.env.WindowsSDKVersion = '10.0.17763.0'
const finder = new TestVisualStudioFinder(semverV1, null)
allVsVersions(finder)
const { err, info } = await finder.findVisualStudio()
assert.strictEqual(err, null)
assert.deepStrictEqual(info, {
msBuild: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\' +
'Community\\MSBuild\\Current\\Bin\\MSBuild.exe',
path:
'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community',
sdk: '10.0.17763.0',
toolset: 'v142',
// Assume version in the environ is correct.
version: '16.0',
versionMajor: 16,
versionMinor: 0,
versionYear: 2019
})
})
})