On Wed, 2020-08-05 at 14:33 -0400, Mingde (Matthew) Zeng wrote:
> Richard Purdie <richard.pur...@linuxfoundation.org> writes:
> 
> > 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 <matthew.z...@windriver.com>
> > > ---
> > >  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?
> 
> When warn_on_failure=True, so is ignore_status. Then 'status and not
> ignore_status' evaluates to false, and 'raise AssertionError("Command
> '%s' returned non-zero exit ...)' will not run.

Sure, but status will be non-zero and the code says:

(status, output) = self.target.copyFrom(remote_src, dst, True)
msg = 'File could not be copied. Output: %s' % output
self.assertEqual(status, 0, msg=msg)

so

self.assertEqual(status, 0, msg=msg)

will fail if copyFrom() fails?

Cheers,

Richard




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

View/Reply Online (#141249): 
https://lists.openembedded.org/g/openembedded-core/message/141249
Mute This Topic: https://lists.openembedded.org/mt/76013023/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