testsuite: Save ssh command stdout/stderr in case of failure

Message ID 20240805070616.18365-1-ubely@ilbers.de
State Accepted, archived
Headers show
Series testsuite: Save ssh command stdout/stderr in case of failure | expand

Commit Message

Uladzimir Bely Aug. 5, 2024, 7:06 a.m. UTC
When ssh command returns non-zero code we stop test execution via
"self.fail" and thus loose stdout and stderr that ssh_start/vm_start
are expected to return.

Save both stdout and stderr to the whiteboard file.

Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
---
 testsuite/cibuilder.py | 2 ++
 1 file changed, 2 insertions(+)

Comments

Uladzimir Bely Aug. 7, 2024, 2:36 p.m. UTC | #1
On Mon, 2024-08-05 at 10:06 +0300, Uladzimir Bely wrote:
> When ssh command returns non-zero code we stop test execution via
> "self.fail" and thus loose stdout and stderr that ssh_start/vm_start
> are expected to return.
> 
> Save both stdout and stderr to the whiteboard file.
> 
> Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
> ---
>  testsuite/cibuilder.py | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
> index 35af3d9c..3f77cd42 100755
> --- a/testsuite/cibuilder.py
> +++ b/testsuite/cibuilder.py
> @@ -474,6 +474,7 @@ class CIBuilder(Test):
>              rc, stdout, stderr = self.remote_run(cmd, script)
>  
>              if rc != 0:
> +                self.whiteboard +=
> f'stdout:\n{stdout}\n\nstderr:\n{stderr}\n'
>                  self.fail(f"Failed with rc={rc}")
>  
>              return stdout, stderr
> @@ -689,6 +690,7 @@ class CIBuilder(Test):
>              if rc != 0:
>                  if not keep:
>                      self.vm_turn_off(vm)
> +                self.whiteboard +=
> f'stdout:\n{stdout}\n\nstderr:\n{stderr}\n'
>                  self.fail("Failed to run test over ssh")
>          else:
>              multiconfig = 'mc:qemu' + arch + '-' + distro + ':' +
> image
> -- 
> 2.44.2
> 

Applied to next.

Patch

diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
index 35af3d9c..3f77cd42 100755
--- a/testsuite/cibuilder.py
+++ b/testsuite/cibuilder.py
@@ -474,6 +474,7 @@  class CIBuilder(Test):
             rc, stdout, stderr = self.remote_run(cmd, script)
 
             if rc != 0:
+                self.whiteboard += f'stdout:\n{stdout}\n\nstderr:\n{stderr}\n'
                 self.fail(f"Failed with rc={rc}")
 
             return stdout, stderr
@@ -689,6 +690,7 @@  class CIBuilder(Test):
             if rc != 0:
                 if not keep:
                     self.vm_turn_off(vm)
+                self.whiteboard += f'stdout:\n{stdout}\n\nstderr:\n{stderr}\n'
                 self.fail("Failed to run test over ssh")
         else:
             multiconfig = 'mc:qemu' + arch + '-' + distro + ':' + image