[OE-core] [PATCH 17/21] oeqa/utils/targetbuild: change download to use bitbake's fetcher
Paul Eggleton
paul.eggleton at linux.intel.com
Fri Aug 23 15:38:02 UTC 2013
Hi Stefan,
On Friday 23 August 2013 18:30:57 Stefan Stanacar wrote:
> Use bb.fetcher2 instead of running our own wget command
> (helps with proxy too). Also no need to use the class attribute target,
> use self.target, as the tests pass that to the class.
> Also, we shouldn't clean the archive, now that it gets to DL_DIR.
>
> Signed-off-by: Stefan Stanacar <stefanx.stanacar at intel.com>
> ---
> meta/lib/oeqa/utils/targetbuild.py | 33 +++++++++++++++------------------
> 1 file changed, 15 insertions(+), 18 deletions(-)
>
> diff --git a/meta/lib/oeqa/utils/targetbuild.py
> b/meta/lib/oeqa/utils/targetbuild.py index 7555add..9b2cf53 100644
> --- a/meta/lib/oeqa/utils/targetbuild.py
> +++ b/meta/lib/oeqa/utils/targetbuild.py
> @@ -5,8 +5,8 @@
> # Provides a class for automating build tests for projects
>
> from oeqa.oetest import oeRuntimeTest
> -from oeqa.utils.decorators import *
> -import bb.process
> +import bb.fetch2
> +import bb.data
> import os
> import re
>
> @@ -18,6 +18,9 @@ class TargetBuildProject():
> self.uri = uri
> self.targetdir = "/home/root/"
>
> + self.localdata = bb.data.createCopy(oeRuntimeTest.tc.d)
> + bb.data.update_data(self.localdata)
> +
> if not foldername:
> self.archive = os.path.basename(uri)
> self.fname = re.sub(r'.tar.bz2|tar.gz$', '', self.archive)
> @@ -25,22 +28,20 @@ class TargetBuildProject():
> self.fname = foldername
>
> def download_archive(self):
> - wgetcmd = oeRuntimeTest.tc.d.getVar('FETCHCMD_wget', True).split()
> - self.testdir = oeRuntimeTest.tc.d.getVar('TEST_LOG_DIR', True)
>
> try:
> - output = bb.process.run(wgetcmd + ['-P', self.testdir,
> self.uri])[0] - except bb.process.CmdError:
> - raise Exception("Failed to download archive, output: %s" %
> output) -
> - (status, output) = oeRuntimeTest.tc.target.copy_to(
> - os.path.join(self.testdir, self.archive),
> - self.targetdir)
> + self.localdata.delVar("BB_STRICT_CHECKSUM")
> + fetcher = bb.fetch2.Fetch([self.uri], self.localdata)
> + fetcher.download()
> + self.localarchive = fetcher.localpath(self.uri)
> + except bb.fetch2.BBFetchException:
> + raise Exception("Failed to download archive: %s" % self.uri)
> +
> + (status, output) = self.target.copy_to(self.localarchive,
> self.targetdir) if status != 0:
> raise Exception("Failed to copy archive to target, output: %s"
> % output)
>
> - (status, output) = oeRuntimeTest.tc.target.run(
> - 'tar xf %s%s -C %s' % (self.targetdir, self.archive,
> self.targetdir)) + (status, output) = self.target.run('tar xf %s%s
> -C %s' % (self.targetdir, self.archive, self.targetdir)) if status != 0:
> raise Exception("Failed to extract archive, output: %s" %
> output)
>
> @@ -59,8 +60,4 @@ class TargetBuildProject():
> return self.target.run('cd %s; make install' % self.targetdir,
> 0)[0]
>
> def clean(self):
> - self.target.run('rm -r %s*' % self.targetdir)
> - try:
> - bb.process.run(['rm', '-rf', os.path.join(self.testdir,
> self.archive)]) - except bb.process.CmdError:
> - bb.note("Failed to remove archive")
> + self.target.run('rm -rf %s' % self.targetdir)
Could you please squash this into the commit that adds this module?
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the Openembedded-core
mailing list