1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-31 12:49:46 +00:00

oeqa/utils: targetbuild: don't use bb.fetch anymore

When running tests outside of the build system we can't use
bb.fetch anymore. It was nice but tests and their modules
need to rely on the data storage only as that gets exported.
This module is used by the oeqa/runtime/build* tests.

(From OE-Core rev: 3caf8e244ea94f62a93f3b40e73e15ea78fc2880)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Stefan Stanacar
2014-02-03 21:22:31 +02:00
committed by Richard Purdie
parent 4354cb29e7
commit d7c0e00e40
+8 -19
View File
@@ -4,11 +4,9 @@
# Provides a class for automating build tests for projects # Provides a class for automating build tests for projects
from oeqa.oetest import oeRuntimeTest
import bb.fetch2
import bb.data
import os import os
import re import re
import subprocess
class TargetBuildProject(): class TargetBuildProject():
@@ -16,26 +14,16 @@ class TargetBuildProject():
def __init__(self, target, uri, foldername=None): def __init__(self, target, uri, foldername=None):
self.target = target self.target = target
self.uri = uri self.uri = uri
self.targetdir = "/home/root/" self.targetdir = "~/"
self.archive = os.path.basename(uri)
self.localdata = bb.data.createCopy(oeRuntimeTest.tc.d) self.localarchive = "/tmp/" + self.archive
bb.data.update_data(self.localdata) self.fname = re.sub(r'.tar.bz2|tar.gz$', '', self.archive)
if foldername:
if not foldername:
self.archive = os.path.basename(uri)
self.fname = re.sub(r'.tar.bz2|tar.gz$', '', self.archive)
else:
self.fname = foldername self.fname = foldername
def download_archive(self): def download_archive(self):
try: subprocess.check_call("wget -O %s %s" % (self.localarchive, self.uri), shell=True)
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) (status, output) = self.target.copy_to(self.localarchive, self.targetdir)
if status != 0: if status != 0:
@@ -61,3 +49,4 @@ class TargetBuildProject():
def clean(self): def clean(self):
self.target.run('rm -rf %s' % self.targetdir) self.target.run('rm -rf %s' % self.targetdir)
subprocess.call('rm -f %s' % self.localarchive, shell=True)