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]] -=-=-=-=-=-=-=-=-=-=-=-
