1
0
Fork 0

Fix tests

bishal-change
Sampark Sharma 2022-11-23 11:40:11 +00:00 committed by GitHub
parent 1f3371766a
commit 187781e273
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 9 deletions
packages/cache
__tests__
src/internal

View File

@ -98,7 +98,7 @@ test('zstd extract tar with windows BSDtar', async () => {
tarFilename.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
'&&',
`"${tarPath}"`,
`${tarPath}`,
'-xf',
tarFilename.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
'-P',
@ -336,7 +336,7 @@ test('zstd list tar with windows BSDtar', async () => {
tarFilename.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
'&&',
`"${tarPath}"`,
`${tarPath}`,
'-tf',
tarFilename.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
'-P'

View File

@ -141,7 +141,8 @@ function getWorkingDirectory(): string {
// Common function for extractTar and listTar to get the compression method
async function getCompressionProgram(
compressionMethod: CompressionMethod
compressionMethod: CompressionMethod,
archivePath: string
): Promise<string[]> {
// -d: Decompress.
// unzstd is equivalent to 'zstd -d'
@ -159,7 +160,7 @@ async function getCompressionProgram(
? [
'zstd -d --long=30 -o',
tarFile,
cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
'&&'
]
: [
@ -171,7 +172,7 @@ async function getCompressionProgram(
? [
'zstd -d -o',
tarFile,
cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
'&&'
]
: ['--use-compress-program', IS_WINDOWS ? 'zstd -d' : 'unzstd']
@ -188,12 +189,18 @@ export async function listTar(
const BSD_TAR_ZSTD =
tarPath === SystemTarPathOnWindows &&
compressionMethod !== CompressionMethod.Gzip
const compressionArgs = await getCompressionProgram(compressionMethod)
const compressionArgs = await getCompressionProgram(
compressionMethod,
archivePath
)
const tarArgs = await getTarArgs(compressionMethod, 'list', archivePath)
// TODO: Add a test for BSD tar on windows
if (BSD_TAR_ZSTD) {
const command = compressionArgs[0]
const args = compressionArgs.slice(1).concat([tarPath]).concat(tarArgs)
const args = compressionArgs
.slice(1)
.concat([tarPath])
.concat(tarArgs)
await execCommand(command, args)
} else {
const args = tarArgs.concat(compressionArgs)
@ -213,10 +220,16 @@ export async function extractTar(
compressionMethod !== CompressionMethod.Gzip
await io.mkdirP(workingDirectory)
const tarArgs = await getTarArgs(compressionMethod, 'extract', archivePath)
const compressionArgs = await getCompressionProgram(compressionMethod)
const compressionArgs = await getCompressionProgram(
compressionMethod,
archivePath
)
if (BSD_TAR_ZSTD) {
const command = compressionArgs[0]
const args = compressionArgs.slice(1).concat([tarPath]).concat(tarArgs)
const args = compressionArgs
.slice(1)
.concat([tarPath])
.concat(tarArgs)
await execCommand(command, args)
} else {
const args = tarArgs.concat(compressionArgs)