On Wed, 2020-08-05 at 14:10 -0400, Matthew 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 <[email protected]>
> ---
>  meta/lib/oeqa/core/target/ssh.py   | 7 +++++--
>  meta/lib/oeqa/runtime/cases/ltp.py | 2 +-
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/lib/oeqa/core/target/ssh.py 
> b/meta/lib/oeqa/core/target/ssh.py
> index 090b40a814..aefb576805 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 status:
> +            self.logger.warning("Copy returned non-zero exit status %d:\n%s" 
> % (status, output))
> +        return (status, output)
> 
>      def copyDirTo(self, localSrc, remoteDst):
>          """
> diff --git a/meta/lib/oeqa/runtime/cases/ltp.py 
> b/meta/lib/oeqa/runtime/cases/ltp.py
> index 6dc5ef22ad..da529ce482 100644
> --- a/meta/lib/oeqa/runtime/cases/ltp.py
> +++ b/meta/lib/oeqa/runtime/cases/ltp.py
> @@ -78,7 +78,7 @@ class LtpTest(LtpTestBase):
>              # copy nice log from DUT
>              dst = os.path.join(self.ltptest_log_dir, "%s" %  ltp_group )
>              remote_src = "/opt/ltp/results/%s" % ltp_group
> -            (status, output) = self.target.copyFrom(remote_src, dst)
> +            (status, output) = self.target.copyFrom(remote_src, dst, True)
>              msg = 'File could not be copied. Output: %s' % output
>              self.assertEqual(status, 0, msg=msg)

The idea of this change is so "the ltp tests continue to run" yet if I
understand that code, a copy failure will throw the assertEqual and
hence stop the test so we don't get all the other logging information?

Cheers,

Richard

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

View/Reply Online (#141246): 
https://lists.openembedded.org/g/openembedded-core/message/141246
Mute This Topic: https://lists.openembedded.org/mt/76013023/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to