classes/testimage-auto: add class to allow automatically running image tests
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Thu, 19 Sep 2013 10:10:34 +0000 (11:10 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 22 Sep 2013 11:19:34 +0000 (12:19 +0100)
Setting TEST_IMAGE = "1" alone will now automatically run tests on the
image immediately after the image is built instead of having to add
INHERIT += "testimage" and run bitbake -c testimage <image> manually
(but that will still work). This restores functionality that was
present in the older imagetest-qemu class with IMAGETEST.

(From OE-Core rev: 72269a8fbec35c39af30fbabb1fa9ca7c5ee8d69)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/image.bbclass
meta/classes/testimage-auto.bbclass [new file with mode: 0644]

index 889547a..246a4db 100644 (file)
@@ -16,6 +16,9 @@ RRECOMMENDS += "${PACKAGE_INSTALL_ATTEMPTONLY}"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
+TESTIMAGECLASS = "${@base_conditional('TEST_IMAGE', '1', 'testimage-auto', '', d)}"
+inherit ${TESTIMAGECLASS}
+
 # IMAGE_FEATURES may contain any available package group
 IMAGE_FEATURES ?= ""
 IMAGE_FEATURES[type] = "list"
diff --git a/meta/classes/testimage-auto.bbclass b/meta/classes/testimage-auto.bbclass
new file mode 100644 (file)
index 0000000..3d0e289
--- /dev/null
@@ -0,0 +1,23 @@
+# Copyright (C) 2013 Intel Corporation
+#
+# Released under the MIT license (see COPYING.MIT)
+
+
+# Run tests automatically on an image after the image is constructed
+# (as opposed to testimage.bbclass alone where tests must be called
+# manually using bitbake -c testimage <image>).
+#
+# NOTE: to use this class, simply set TEST_IMAGE = "1" - no need to
+# inherit it since that will be done in image.bbclass when this variable
+# has been set.
+#
+# See testimage.bbclass for the test implementation.
+
+inherit testimage
+
+python do_testimage_auto() {
+    testimage_main(d)
+}
+addtask testimage_auto before do_build after do_rootfs
+do_testimage_auto[depends] += "qemu-native:do_populate_sysroot"
+do_testimage_auto[depends] += "qemu-helper-native:do_populate_sysroot"