summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/image.bbclass1
-rw-r--r--meta/classes/testimage-auto.bbclass23
-rw-r--r--meta/classes/testimage.bbclass10
-rw-r--r--meta/classes/testsdk.bbclass5
-rw-r--r--meta/conf/bitbake.conf2
-rw-r--r--meta/conf/documentation.conf2
6 files changed, 16 insertions, 27 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index f056ca5970..8ef06c0fb0 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -13,7 +13,6 @@ IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar(
13IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}" 13IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}"
14IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}" 14IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}"
15IMGCLASSES += "image_types_wic" 15IMGCLASSES += "image_types_wic"
16IMGCLASSES += "${@oe.utils.conditional('TEST_IMAGE', '1', 'testimage-auto', '', d)}"
17IMGCLASSES += "rootfs-postcommands" 16IMGCLASSES += "rootfs-postcommands"
18inherit ${IMGCLASSES} 17inherit ${IMGCLASSES}
19 18
diff --git a/meta/classes/testimage-auto.bbclass b/meta/classes/testimage-auto.bbclass
deleted file mode 100644
index e0a22b773c..0000000000
--- a/meta/classes/testimage-auto.bbclass
+++ /dev/null
@@ -1,23 +0,0 @@
1# Copyright (C) 2013 Intel Corporation
2#
3# Released under the MIT license (see COPYING.MIT)
4
5
6# Run tests automatically on an image after the image is constructed
7# (as opposed to testimage.bbclass alone where tests must be called
8# manually using bitbake -c testimage <image>).
9#
10# NOTE: to use this class, simply set TEST_IMAGE = "1" - no need to
11# inherit it since that will be done in image.bbclass when this variable
12# has been set.
13#
14# See testimage.bbclass for the test implementation.
15
16inherit testimage
17
18python do_testimage_auto() {
19 testimage_main(d)
20}
21addtask testimage_auto before do_build after do_image_complete
22do_testimage_auto[depends] += "${TESTIMAGEDEPENDS}"
23do_testimage_auto[lockfiles] += "${TESTIMAGELOCK}"
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index c17a7c604b..eb2181309e 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -10,6 +10,11 @@
10# - first add IMAGE_CLASSES += "testimage" in local.conf 10# - first add IMAGE_CLASSES += "testimage" in local.conf
11# - build a qemu core-image-sato 11# - build a qemu core-image-sato
12# - then bitbake core-image-sato -c testimage. That will run a standard suite of tests. 12# - then bitbake core-image-sato -c testimage. That will run a standard suite of tests.
13#
14# The tests can be run automatically each time an image is built if you set
15# TESTIMAGE_AUTO = "1"
16
17TESTIMAGE_AUTO ??= "0"
13 18
14# You can set (or append to) TEST_SUITES in local.conf to select the tests 19# You can set (or append to) TEST_SUITES in local.conf to select the tests
15# which you want to run for your target. 20# which you want to run for your target.
@@ -382,4 +387,7 @@ def package_extraction(d, test_suites):
382 387
383testimage_main[vardepsexclude] += "BB_ORIGENV DATETIME" 388testimage_main[vardepsexclude] += "BB_ORIGENV DATETIME"
384 389
385inherit testsdk 390python () {
391 if oe.types.boolean(d.getVar("TESTIMAGE_AUTO") or "False"):
392 bb.build.addtask("testimage", "do_build", "do_image_complete", d)
393}
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 2e43343643..dba6b0708a 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -194,3 +194,8 @@ python do_testsdkext() {
194addtask testsdkext 194addtask testsdkext
195do_testsdkext[nostamp] = "1" 195do_testsdkext[nostamp] = "1"
196 196
197python () {
198 if oe.types.boolean(d.getVar("TESTIMAGE_AUTO") or "False"):
199 bb.build.addtask("testsdk", None, "do_populate_sdk", d)
200 bb.build.addtask("testsdkext", None, "do_populate_sdk_ext", d)
201}
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 3b2ef9fb47..c4dba61cc6 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -487,7 +487,7 @@ HOSTTOOLS += " \
487" 487"
488 488
489# Tools needed to run testimage runtime image testing 489# Tools needed to run testimage runtime image testing
490HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.data.inherits_class('testimage', d) or d.getVar('TEST_IMAGE') == '1') else ''}" 490HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.utils.contains_any('IMAGE_CLASSES', 'testimage testsdk', True, False, d)) else ''}"
491 491
492# Link to these if present 492# Link to these if present
493HOSTTOOLS_NONFATAL += "aws ccache gcc-ar gpg ld.bfd ld.gold nc sftp socat ssh sudo" 493HOSTTOOLS_NONFATAL += "aws ccache gcc-ar gpg ld.bfd ld.gold nc sftp socat ssh sudo"
diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
index 3189dd39b7..fc6d008807 100644
--- a/meta/conf/documentation.conf
+++ b/meta/conf/documentation.conf
@@ -415,7 +415,7 @@ TARGET_PREFIX[doc] = "The prefix for the cross-compile toolchain (e.g. arm-linux
415TARGET_SYS[doc] = "The target system is comprised of TARGET_ARCH,TARGET_VENDOR and TARGET_OS." 415TARGET_SYS[doc] = "The target system is comprised of TARGET_ARCH,TARGET_VENDOR and TARGET_OS."
416TCLIBC[doc] = "Specifies C library (libc) variant to use during the build process. You can select 'baremetal', 'glibc' or 'musl'." 416TCLIBC[doc] = "Specifies C library (libc) variant to use during the build process. You can select 'baremetal', 'glibc' or 'musl'."
417TCMODE[doc] = "Enables an external toolchain (where provided by an additional layer) if set to a value other than 'default'." 417TCMODE[doc] = "Enables an external toolchain (where provided by an additional layer) if set to a value other than 'default'."
418TEST_IMAGE[doc] = "Enables test booting of virtual machine images under the QEMU emulator after any root filesystems are created and runs tests against those images." 418TESTIMAGE_AUTO[doc] = "Enables test booting of virtual machine images under the QEMU emulator after any root filesystems are created and runs tests against those images each time an image is built."
419TEST_QEMUBOOT_TIMEOUT[doc] = "The time in seconds allowed for an image to boot before automated runtime tests begin to run against an image." 419TEST_QEMUBOOT_TIMEOUT[doc] = "The time in seconds allowed for an image to boot before automated runtime tests begin to run against an image."
420TEST_SUITES[doc] = "An ordered list of tests (modules) to run against an image when performing automated runtime testing." 420TEST_SUITES[doc] = "An ordered list of tests (modules) to run against an image when performing automated runtime testing."
421TEST_POWERCONTROL_CMD[doc] = "For automated hardware testing, specifies the command to use to control the power of the target machine under test" 421TEST_POWERCONTROL_CMD[doc] = "For automated hardware testing, specifies the command to use to control the power of the target machine under test"