Re: [PATCH 2/8] oeqa/sdkext/devtool.py: remove workspace/sources before running test cases

Paul Eggleton
2016-12-13T06:29:44Z

On Tue, 13 Dec 2016 13:56:05 Robert Yang wrote:
> Hi Paul,
>
> Thanks for reply, please see my comments inline.
>
> On 12/13/2016 12:45 PM, Paul Eggleton wrote:
> > On Wed, 16 Nov 2016 22:19:31 Robert Yang wrote:
> >> Fixed:
> >> MACHINE = "qemux86-64"
> >> require conf/multilib.conf
> >> MULTILIBS = "multilib:lib32"
> >> DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
> >>
> >> $ bitbake core-image-minimal -cpopulate_sdk_ext
> >> [snip]
> >> ERROR: Source tree path
> >> /path/to/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testsdk
> >> ex
> >> t/tc/workspace/sources/v4l2loopback-driver already exists and is not
> >> empty\n' [snip]
> >>
> >> This is because the test case will run twice
> >> (environment-setup-core2-64-poky-linux and
> >> environment-setup-x86-pokymllib32-linux), it would fail in the second
> >> run, 'devtool reset' can not remove sources, so remove it before running
> >> test cases.
> >>
> >> [YOCTO #10647]
> >>
> >> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> >> ---
> >>
> >> meta/lib/oeqa/sdkext/devtool.py | 3 +++
> >> 1 file changed, 3 insertions(+)
> >>
> >> diff --git a/meta/lib/oeqa/sdkext/devtool.py
> >> b/meta/lib/oeqa/sdkext/devtool.py index 65f41f6..f101eb6 100644
> >> --- a/meta/lib/oeqa/sdkext/devtool.py
> >> +++ b/meta/lib/oeqa/sdkext/devtool.py
> >>
> >> @@ -15,6 +15,9 @@ class DevtoolTest(oeSDKExtTest):
> >> self.myapp_cmake_dst = os.path.join(self.tc.sdktestdir,
> >>
> >> "myapp_cmake") shutil.copytree(self.myapp_cmake_src,
> >> self.myapp_cmake_dst)
> >>
> >> + # Clean sources dir to make "git clone" can run again
> >> + shutil.rmtree(os.path.join(self.tc.sdktestdir,
> >> "tc/workspace/sources"), True) +
> >>
> >> def _test_devtool_build(self, directory):
> >> self._run('devtool add myapp %s' % directory)
> >
> >> try:
> > It seems to me that's what's missing here is a proper teardown process
> > like we have for oe-selftest, so that tests clean up after themselves
> > whether they succeed or fail. I'm unsure as to whether that is part of
> > the plan for the new QA refactoring though.
>
> There is already a 'devtool reset' which can do the cleanup, but it
> can't remove sources as I said in the commit log.

devtool reset not deleting the source tree is intentional - I don't want
people accidentally losing changes to their source. In any case though it's
not about what we do here but where we do it.

Cheers,
Paul

--

Paul Eggleton
Intel Open Source Technology Centre