diff --git a/packages/exec/__tests__/exec.test.ts b/packages/exec/__tests__/exec.test.ts index e7ee60c8..0d41aeae 100644 --- a/packages/exec/__tests__/exec.test.ts +++ b/packages/exec/__tests__/exec.test.ts @@ -170,6 +170,7 @@ describe('@actions/exec', () => { expect(exitCode).toBe(0) }) + it('Exec fails with error on bad call', async () => { const _testExecOptions = getExecOptions() @@ -303,7 +304,7 @@ describe('@actions/exec', () => { expect(stderrCalled).toBeTruthy() }) - it('Handles child process holding streams open', async function () { + it('Handles child process holding streams open', async function() { const semaphorePath = path.join( getTestTemp(), 'child-process-semaphore.txt' @@ -349,7 +350,7 @@ describe('@actions/exec', () => { fs.unlinkSync(semaphorePath) }, 10000) // this was timing out on some slower hosted macOS runs at default 5s - it('Handles child process holding streams open and non-zero exit code', async function () { + it('Handles child process holding streams open and non-zero exit code', async function() { const semaphorePath = path.join( getTestTemp(), 'child-process-semaphore.txt' @@ -403,7 +404,7 @@ describe('@actions/exec', () => { fs.unlinkSync(semaphorePath) }, 10000) // this was timing out on some slower hosted macOS runs at default 5s - it('Handles child process holding streams open and stderr', async function () { + it('Handles child process holding streams open and stderr', async function() { const semaphorePath = path.join( getTestTemp(), 'child-process-semaphore.txt' @@ -671,16 +672,16 @@ describe('@actions/exec', () => { expect(exitCode).toBe(0) expect(outStream.getContents().split(os.EOL)[0]).toBe( `[command]${exePath} /c echo` + - ` helloworld` + - ` "hello world"` + - ` "hello:\\"world again\\""` + - ` hello,world` + ` helloworld` + + ` "hello world"` + + ` "hello:\\"world again\\""` + + ` hello,world` ) expect(output.trim()).toBe( 'helloworld' + - ' "hello world"' + - ' "hello:\\"world again\\""' + - ' hello,world' + ' "hello world"' + + ' "hello:\\"world again\\""' + + ' hello,world' ) }) @@ -769,7 +770,7 @@ describe('@actions/exec', () => { ) expect(output.trim()).toBe( 'args[0]: "my arg 1"\r\n' + - 'args[1]: "my arg 2"' + 'args[1]: "my arg 2"' ) }) @@ -799,7 +800,7 @@ describe('@actions/exec', () => { ) expect(output.trim()).toBe( 'args[0]: "my arg 1"\r\n' + - 'args[1]: "my arg 2"' + 'args[1]: "my arg 2"' ) } catch (err) { process.env['Path'] = originalPath @@ -855,57 +856,57 @@ describe('@actions/exec', () => { expect(exitCode).toBe(0) expect(outStream.getContents().split(os.EOL)[0]).toBe( `[command]${process.env.ComSpec} /D /S /C ""${cmdPath}"` + - ` helloworld` + - ` "hello world"` + - ` "hello\tworld"` + - ` "hello&world"` + - ` "hello(world"` + - ` "hello)world"` + - ` "hello[world"` + - ` "hello]world"` + - ` "hello{world"` + - ` "hello}world"` + - ` "hello^world"` + - ` "hello=world"` + - ` "hello;world"` + - ` "hello!world"` + - ` "hello'world"` + - ` "hello+world"` + - ` "hello,world"` + - ` "hello\`world"` + - ` "hello~world"` + - ` "hello|world"` + - ` "helloworld"` + - ` "hello:""world again"""` + - ` "hello world\\\\"` + - `"` + ` helloworld` + + ` "hello world"` + + ` "hello\tworld"` + + ` "hello&world"` + + ` "hello(world"` + + ` "hello)world"` + + ` "hello[world"` + + ` "hello]world"` + + ` "hello{world"` + + ` "hello}world"` + + ` "hello^world"` + + ` "hello=world"` + + ` "hello;world"` + + ` "hello!world"` + + ` "hello'world"` + + ` "hello+world"` + + ` "hello,world"` + + ` "hello\`world"` + + ` "hello~world"` + + ` "hello|world"` + + ` "helloworld"` + + ` "hello:""world again"""` + + ` "hello world\\\\"` + + `"` ) expect(output.trim()).toBe( 'args[0]: "helloworld"\r\n' + - 'args[1]: "hello world"\r\n' + - 'args[2]: "hello\tworld"\r\n' + - 'args[3]: "hello&world"\r\n' + - 'args[4]: "hello(world"\r\n' + - 'args[5]: "hello)world"\r\n' + - 'args[6]: "hello[world"\r\n' + - 'args[7]: "hello]world"\r\n' + - 'args[8]: "hello{world"\r\n' + - 'args[9]: "hello}world"\r\n' + - 'args[10]: "hello^world"\r\n' + - 'args[11]: "hello=world"\r\n' + - 'args[12]: "hello;world"\r\n' + - 'args[13]: "hello!world"\r\n' + - 'args[14]: "hello\'world"\r\n' + - 'args[15]: "hello+world"\r\n' + - 'args[16]: "hello,world"\r\n' + - 'args[17]: "hello`world"\r\n' + - 'args[18]: "hello~world"\r\n' + - 'args[19]: "hello|world"\r\n' + - 'args[20]: "hello"\r\n' + - 'args[21]: "hello>world"\r\n' + - 'args[22]: "hello:world again"\r\n' + - 'args[23]: "hello world\\\\"' + 'args[1]: "hello world"\r\n' + + 'args[2]: "hello\tworld"\r\n' + + 'args[3]: "hello&world"\r\n' + + 'args[4]: "hello(world"\r\n' + + 'args[5]: "hello)world"\r\n' + + 'args[6]: "hello[world"\r\n' + + 'args[7]: "hello]world"\r\n' + + 'args[8]: "hello{world"\r\n' + + 'args[9]: "hello}world"\r\n' + + 'args[10]: "hello^world"\r\n' + + 'args[11]: "hello=world"\r\n' + + 'args[12]: "hello;world"\r\n' + + 'args[13]: "hello!world"\r\n' + + 'args[14]: "hello\'world"\r\n' + + 'args[15]: "hello+world"\r\n' + + 'args[16]: "hello,world"\r\n' + + 'args[17]: "hello`world"\r\n' + + 'args[18]: "hello~world"\r\n' + + 'args[19]: "hello|world"\r\n' + + 'args[20]: "hello"\r\n' + + 'args[21]: "hello>world"\r\n' + + 'args[22]: "hello:world again"\r\n' + + 'args[23]: "hello world\\\\"' ) }) }