diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/image.bbclass | 1 | ||||
-rw-r--r-- | meta/classes/testimage-auto.bbclass | 23 | ||||
-rw-r--r-- | meta/classes/testimage.bbclass | 10 | ||||
-rw-r--r-- | meta/classes/testsdk.bbclass | 5 | ||||
-rw-r--r-- | meta/conf/bitbake.conf | 2 | ||||
-rw-r--r-- | meta/conf/documentation.conf | 2 | ||||
-rw-r--r-- | meta/conf/local.conf.sample | 10 |
7 files changed, 22 insertions, 31 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( IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}" IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}" IMGCLASSES += "image_types_wic" -IMGCLASSES += "${@oe.utils.conditional('TEST_IMAGE', '1', 'testimage-auto', '', d)}" IMGCLASSES += "rootfs-postcommands" inherit ${IMGCLASSES} 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 @@ -# 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_image_complete -do_testimage_auto[depends] += "${TESTIMAGEDEPENDS}" -do_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 @@ # - first add IMAGE_CLASSES += "testimage" in local.conf # - build a qemu core-image-sato # - then bitbake core-image-sato -c testimage. That will run a standard suite of tests. +# +# The tests can be run automatically each time an image is built if you set +# TESTIMAGE_AUTO = "1" + +TESTIMAGE_AUTO ??= "0" # You can set (or append to) TEST_SUITES in local.conf to select the tests # which you want to run for your target. @@ -382,4 +387,7 @@ def package_extraction(d, test_suites): testimage_main[vardepsexclude] += "BB_ORIGENV DATETIME" -inherit testsdk +python () { + if oe.types.boolean(d.getVar("TESTIMAGE_AUTO") or "False"): + bb.build.addtask("testimage", "do_build", "do_image_complete", d) +} 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() { addtask testsdkext do_testsdkext[nostamp] = "1" +python () { + if oe.types.boolean(d.getVar("TESTIMAGE_AUTO") or "False"): + bb.build.addtask("testsdk", None, "do_populate_sdk", d) + bb.build.addtask("testsdkext", None, "do_populate_sdk_ext", d) +} 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 += " \ " # Tools needed to run testimage runtime image testing -HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.data.inherits_class('testimage', d) or d.getVar('TEST_IMAGE') == '1') else ''}" +HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.utils.contains_any('IMAGE_CLASSES', 'testimage testsdk', True, False, d)) else ''}" # Link to these if present HOSTTOOLS_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 TARGET_SYS[doc] = "The target system is comprised of TARGET_ARCH,TARGET_VENDOR and TARGET_OS." TCLIBC[doc] = "Specifies C library (libc) variant to use during the build process. You can select 'baremetal', 'glibc' or 'musl'." TCMODE[doc] = "Enables an external toolchain (where provided by an additional layer) if set to a value other than 'default'." -TEST_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." +TESTIMAGE_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." TEST_QEMUBOOT_TIMEOUT[doc] = "The time in seconds allowed for an image to boot before automated runtime tests begin to run against an image." TEST_SUITES[doc] = "An ordered list of tests (modules) to run against an image when performing automated runtime testing." TEST_POWERCONTROL_CMD[doc] = "For automated hardware testing, specifies the command to use to control the power of the target machine under test" diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample index 17cdd7046e..1ac4156b90 100644 --- a/meta/conf/local.conf.sample +++ b/meta/conf/local.conf.sample @@ -135,10 +135,12 @@ USER_CLASSES ?= "buildstats image-mklibs image-prelink" # Runtime testing of images # # The build system can test booting virtual machine images under qemu (an emulator) -# after any root filesystems are created and run tests against those images. To -# enable this uncomment this line. See classes/testimage(-auto).bbclass for -# further details. -#TEST_IMAGE = "1" +# after any root filesystems are created and run tests against those images. It can also +# run tests against any SDK that are built. To enable this uncomment these lines. +# See classes/test{image,sdk}.bbclass for further details. +#IMAGE_CLASSES += "testimage testsdk" +#TESTIMAGE_AUTO_qemuall = "1" + # # Interactive shell configuration # |