Richard Purdie <[email protected]> writes:

> On Wed, 2020-08-05 at 14:33 -0400, Mingde (Matthew) Zeng wrote:
>> Richard Purdie <[email protected]> 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 <[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?
>>
>> 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?

Right, I'll comment that line out as well.

Also, I received the Patchwork email complaining a conflict, however I 
successfully applied my patch after git pulling a couple times, do you know 
what's wrong?

>
> Cheers,
>
> Richard


--
Mingde (Matthew) Zeng
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#141250): 
https://lists.openembedded.org/g/openembedded-core/message/141250
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