add large interleaved stdout/stderr integration tests for win_shell/win_command
This commit is contained in:
parent
f8482e335c
commit
c1b7d2e560
2 changed files with 18 additions and 12 deletions
|
@ -124,11 +124,14 @@
|
||||||
- cmdout|failed
|
- cmdout|failed
|
||||||
- cmdout.rc == 254
|
- cmdout.rc == 254
|
||||||
|
|
||||||
- name: write large buffer to stdout
|
- name: interleave large writes between stdout/stderr (check for buffer consumption deadlock)
|
||||||
win_command: powershell /c "$ba = New-Object byte[] 16384; (New-Object System.Random 32).NextBytes($ba); [Convert]::ToBase64String($ba) | Write-Output"
|
win_command: powershell /c "$ba = New-Object byte[] 4096; (New-Object System.Random 32).NextBytes($ba); $text = [Convert]::ToBase64String($ba); Write-Output startout; Write-Error starterror; Write-Error $text; Write-Output $text; Write-Error $text; Write-Output $text; Write-Error $text; Write-Output $text; Write-Output doneout Write-Error doneerror"
|
||||||
register: cmdout
|
register: cmdout
|
||||||
|
|
||||||
# TODO: fix small buffer deadlock on large write to stderr before stdout has been consumed
|
- name: ensure that the entirety of both streams were read
|
||||||
#- name: write large buffer to stderr
|
assert:
|
||||||
# win_shell: $ba = New-Object byte[] 16384; (New-Object System.Random 32).NextBytes($ba); [Convert]::ToBase64String($ba) | Write-Error; Write-Output test
|
that:
|
||||||
# register: cmdout
|
- cmdout.stdout is search("startout")
|
||||||
|
- cmdout.stdout is search("doneout")
|
||||||
|
- cmdout.stderr is search("starterror")
|
||||||
|
- cmdout.stderr is search("doneerror")
|
||||||
|
|
|
@ -165,11 +165,14 @@
|
||||||
- shellout.stdout_lines == ["line1 ", "line2"]
|
- shellout.stdout_lines == ["line1 ", "line2"]
|
||||||
- shellout.stderr == ""
|
- shellout.stderr == ""
|
||||||
|
|
||||||
- name: write large buffer to stdout
|
- name: interleave large writes between stdout/stderr (check for buffer consumption deadlock)
|
||||||
win_shell: $ba = New-Object byte[] 16384; (New-Object System.Random 32).NextBytes($ba); [Convert]::ToBase64String($ba) | Write-Output
|
win_shell: $ba = New-Object byte[] 4096; (New-Object System.Random 32).NextBytes($ba); $text = [Convert]::ToBase64String($ba); Write-Output startout; Write-Error starterror; Write-Error $text; Write-Output $text; Write-Error $text; Write-Output $text; Write-Error $text; Write-Output $text; Write-Output doneout Write-Error doneerror
|
||||||
register: shellout
|
register: shellout
|
||||||
|
|
||||||
# TODO: fix small buffer deadlock on large write to stderr before stdout has been consumed
|
- name: ensure that the entirety of both streams were read
|
||||||
#- name: write large buffer to stderr
|
assert:
|
||||||
# win_shell: $ba = New-Object byte[] 16384; (New-Object System.Random 32).NextBytes($ba); [Convert]::ToBase64String($ba) | Write-Error; Write-Output test
|
that:
|
||||||
# register: shellout
|
- shellout.stdout is search("startout")
|
||||||
|
- shellout.stdout is search("doneout")
|
||||||
|
- shellout.stderr is search("starterror")
|
||||||
|
- shellout.stderr is search("doneerror")
|
||||||
|
|
Loading…
Reference in a new issue