On Wed, 2020-08-05 at 13:15 -0400, Mingde (Matthew) Zeng wrote:
> [YOCTO #13802]
> 
> Make the scp failure non-fatal so the ltp tests continue to run and
> the rest of the logs will be available to see afterwards.
> 
> Signed-off-by: Mingde (Matthew) Zeng <matthew.z...@windriver.com>
> ---
>  meta/lib/oeqa/core/target/ssh.py | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/lib/oeqa/core/target/ssh.py 
> b/meta/lib/oeqa/core/target/ssh.py
> index 090b40a814..e891a4bbfa 100644
> --- a/meta/lib/oeqa/core/target/ssh.py
> +++ b/meta/lib/oeqa/core/target/ssh.py
> @@ -50,7 +50,7 @@ class OESSHTarget(OETarget):
>      def stop(self, **kwargs):
>          pass
> 
> -    def _run(self, command, timeout=None, ignore_status=True):
> +    def _run(self, command, timeout=None, ignore_status=True, 
> ignore_error=False):
>          """
>              Runs command in target using SSHProcess.
>          """
> @@ -62,8 +62,11 @@ class OESSHTarget(OETarget):
>                   "" % (status, time.time() - starttime))
> 
>          if status and not ignore_status:
> -            raise AssertionError("Command '%s' returned non-zero exit "
> -                                 "status %d:\n%s" % (command, status, 
> output))
> +            if ignore_error:
> +                self.logger.warning("Command '%s' returned non-zero exit 
> status %d:\n%s" % (command, status, output))
> +            else:
> +                raise AssertionError("Command '%s' returned non-zero exit "
> +                                     "status %d:\n%s" % (command, status, 
> output))
> 
>          return (status, output)
> 
> @@ -113,7 +116,7 @@ class OESSHTarget(OETarget):
>          """
>          remotePath = '%s@%s:%s' % (self.user, self.ip, remoteSrc)
>          scpCmd = self.scp + [remotePath, localDst]
> -        return self._run(scpCmd, ignore_status=False)
> +        return self._run(scpCmd, ignore_error=True)
> 
>      def copyDirTo(self, localSrc, remoteDst):
>          """

That isn't what I meant, I mean something like:

diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py
index 090b40a8143..cbc56f2e0ad 100644
--- a/meta/lib/oeqa/core/target/ssh.py
+++ b/meta/lib/oeqa/core/target/ssh.py
@@ -107,13 +107,16 @@ class OESSHTarget(OETarget):
             scpCmd = self.scp + [localSrc, remotePath]
             return self._run(scpCmd, ignore_status=False)
 
-    def copyFrom(self, remoteSrc, localDst):
+    def copyFrom(self, remoteSrc, localDst, warn_on_failure=False):
         """
             Copy file from target.
         """
         remotePath = '%s@%s:%s' % (self.user, self.ip, remoteSrc)
         scpCmd = self.scp + [remotePath, localDst]
-        return self._run(scpCmd, ignore_status=False)
+        (status, output) = self._run(scpCmd, ignore_status=warn_on_failure)
+        if warn_on_failure and not status:
+            self.logger.warning("Copy X returned non-zero exit status %d:\n%s" 
% (XXX, status, output))
+        return (status, output)
 
     def copyDirTo(self, localSrc, remoteDst):
         """

so that we enable this in the specific case og the copy we might accept failure 
for.

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#141238): 
https://lists.openembedded.org/g/openembedded-core/message/141238
Mute This Topic: https://lists.openembedded.org/mt/76012000/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to