* [PATCHv3] ltp: make copyFrom scp command non-fatal @ 2020-08-05 18:10 Matthew 2020-08-05 18:27 ` [OE-core] " Richard Purdie 2020-08-05 18:32 ` ✗ patchtest: failure for ltp: make copyFrom scp command non-fatal (rev3) Patchwork 0 siblings, 2 replies; 6+ messages in thread From: Matthew @ 2020-08-05 18:10 UTC (permalink / raw) To: openembedded-core [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.zeng@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) -- 2.27.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCHv3] ltp: make copyFrom scp command non-fatal 2020-08-05 18:10 [PATCHv3] ltp: make copyFrom scp command non-fatal Matthew @ 2020-08-05 18:27 ` Richard Purdie 2020-08-05 18:33 ` Matthew 2020-08-05 18:32 ` ✗ patchtest: failure for ltp: make copyFrom scp command non-fatal (rev3) Patchwork 1 sibling, 1 reply; 6+ messages in thread From: Richard Purdie @ 2020-08-05 18:27 UTC (permalink / raw) To: Matthew, openembedded-core 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.zeng@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? Cheers, Richard ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCHv3] ltp: make copyFrom scp command non-fatal 2020-08-05 18:27 ` [OE-core] " Richard Purdie @ 2020-08-05 18:33 ` Matthew 2020-08-05 18:36 ` Richard Purdie 0 siblings, 1 reply; 6+ messages in thread From: Matthew @ 2020-08-05 18:33 UTC (permalink / raw) To: Richard Purdie; +Cc: openembedded-core Richard Purdie <richard.purdie@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.zeng@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. > > Cheers, > > Richard > > -- Mingde (Matthew) Zeng ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCHv3] ltp: make copyFrom scp command non-fatal 2020-08-05 18:33 ` Matthew @ 2020-08-05 18:36 ` Richard Purdie 2020-08-05 18:44 ` Matthew 0 siblings, 1 reply; 6+ messages in thread From: Richard Purdie @ 2020-08-05 18:36 UTC (permalink / raw) To: Mingde (Matthew) Zeng; +Cc: openembedded-core On Wed, 2020-08-05 at 14:33 -0400, Mingde (Matthew) Zeng wrote: > Richard Purdie <richard.purdie@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.zeng@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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCHv3] ltp: make copyFrom scp command non-fatal 2020-08-05 18:36 ` Richard Purdie @ 2020-08-05 18:44 ` Matthew 0 siblings, 0 replies; 6+ messages in thread From: Matthew @ 2020-08-05 18:44 UTC (permalink / raw) To: Richard Purdie; +Cc: openembedded-core Richard Purdie <richard.purdie@linuxfoundation.org> writes: > On Wed, 2020-08-05 at 14:33 -0400, Mingde (Matthew) Zeng wrote: >> Richard Purdie <richard.purdie@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.zeng@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? 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* ✗ patchtest: failure for ltp: make copyFrom scp command non-fatal (rev3) 2020-08-05 18:10 [PATCHv3] ltp: make copyFrom scp command non-fatal Matthew 2020-08-05 18:27 ` [OE-core] " Richard Purdie @ 2020-08-05 18:32 ` Patchwork 1 sibling, 0 replies; 6+ messages in thread From: Patchwork @ 2020-08-05 18:32 UTC (permalink / raw) To: Mingde Zeng; +Cc: openembedded-core == Series Details == Series: ltp: make copyFrom scp command non-fatal (rev3) Revision: 3 URL : https://patchwork.openembedded.org/series/25475/ State : failure == Summary == Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures: * Issue Series does not apply on top of target branch [test_series_merge_on_head] Suggested fix Rebase your series on top of targeted branch Targeted branch master (currently at 10221e578f) If you believe any of these test results are incorrect, please reply to the mailing list (openembedded-core@lists.openembedded.org) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...). --- Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-08-05 18:45 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-08-05 18:10 [PATCHv3] ltp: make copyFrom scp command non-fatal Matthew 2020-08-05 18:27 ` [OE-core] " Richard Purdie 2020-08-05 18:33 ` Matthew 2020-08-05 18:36 ` Richard Purdie 2020-08-05 18:44 ` Matthew 2020-08-05 18:32 ` ✗ patchtest: failure for ltp: make copyFrom scp command non-fatal (rev3) Patchwork
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.