aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/testimage.bbclass
diff options
context:
space:
mode:
authorMariano Lopez <mariano.lopez@linux.intel.com>2016-06-06 07:15:41 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-06-06 22:48:04 +0100
commitb7111d9e9d64d21f57729d1ac1865aea6e54cc8b (patch)
tree1c055d0bd0f6f984aed857620f070c59680f57ee /meta/classes/testimage.bbclass
parenta26f23d3ce8f7e9f59dbc9bf27516377fd7a0a6d (diff)
downloadopenembedded-core-contrib-b7111d9e9d64d21f57729d1ac1865aea6e54cc8b.tar.gz
oetest.py: Add install/uninstall functionality for DUTs
Add the functionality to install/unistall packages in the DUTs without the use of the package manager. This is possible with the extraction introduced in package manager class. testimage and testexport bbclasses has been modified in order to support this new feature. [YOCTO #8694] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/testimage.bbclass')
-rw-r--r--meta/classes/testimage.bbclass18
1 files changed, 18 insertions, 0 deletions
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index a2e13df710..a70d3a885e 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -30,6 +30,10 @@
TEST_LOG_DIR ?= "${WORKDIR}/testimage"
TEST_EXPORT_DIR ?= "${TMPDIR}/testimage/${PN}"
+TEST_INSTALL_TMP_DIR ?= "${WORKDIR}/testimage/install_tmp"
+TEST_NEEDED_PACKAGES_DIR ?= "${WORKDIR}/testimage/packages"
+TEST_EXTRACTED_DIR ?= "${TEST_NEEDED_PACKAGES_DIR}/extracted"
+TEST_PACKAGED_DIR ?= "${TEST_NEEDED_PACKAGES_DIR}/packaged"
RPMTESTSUITE = "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'smart rpm', '', d)}"
MINTESTSUITE = "ping"
@@ -100,6 +104,7 @@ testimage_dump_host () {
python do_testimage() {
testimage_main(d)
}
+
addtask testimage
do_testimage[nostamp] = "1"
do_testimage[depends] += "${TESTIMAGEDEPENDS}"
@@ -117,6 +122,7 @@ def testimage_main(d):
pn = d.getVar("PN", True)
bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True))
+ test_create_extract_dirs(d)
# we need the host dumper in test context
host_dumper = get_host_dumper(d)
@@ -136,6 +142,7 @@ def testimage_main(d):
import traceback
bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
+ tc.extract_packages()
target.deploy()
try:
target.start()
@@ -155,6 +162,17 @@ def testimage_main(d):
signal.signal(signal.SIGTERM, tc.origsigtermhandler)
target.stop()
+def test_create_extract_dirs(d):
+ install_path = d.getVar("TEST_INSTALL_TMP_DIR", True)
+ package_path = d.getVar("TEST_PACKAGED_DIR", True)
+ extracted_path = d.getVar("TEST_EXTRACTED_DIR", True)
+ bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True))
+ bb.utils.remove(package_path, recurse=True)
+ bb.utils.mkdirhier(install_path)
+ bb.utils.mkdirhier(package_path)
+ bb.utils.mkdirhier(extracted_path)
+
+
testimage_main[vardepsexclude] =+ "BB_ORIGENV"
inherit testsdk