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