diff options
-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 |
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( | |||
13 | IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}" | 13 | IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}" |
14 | IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}" | 14 | IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}" |
15 | IMGCLASSES += "image_types_wic" | 15 | IMGCLASSES += "image_types_wic" |
16 | IMGCLASSES += "${@oe.utils.conditional('TEST_IMAGE', '1', 'testimage-auto', '', d)}" | ||
17 | IMGCLASSES += "rootfs-postcommands" | 16 | IMGCLASSES += "rootfs-postcommands" |
18 | inherit ${IMGCLASSES} | 17 | inherit ${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 | |||
16 | inherit testimage | ||
17 | |||
18 | python do_testimage_auto() { | ||
19 | testimage_main(d) | ||
20 | } | ||
21 | addtask testimage_auto before do_build after do_image_complete | ||
22 | do_testimage_auto[depends] += "${TESTIMAGEDEPENDS}" | ||
23 | 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 @@ | |||
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 | |||
17 | TESTIMAGE_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 | ||
383 | testimage_main[vardepsexclude] += "BB_ORIGENV DATETIME" | 388 | testimage_main[vardepsexclude] += "BB_ORIGENV DATETIME" |
384 | 389 | ||
385 | inherit testsdk | 390 | python () { |
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() { | |||
194 | addtask testsdkext | 194 | addtask testsdkext |
195 | do_testsdkext[nostamp] = "1" | 195 | do_testsdkext[nostamp] = "1" |
196 | 196 | ||
197 | python () { | ||
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 |
490 | HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.data.inherits_class('testimage', d) or d.getVar('TEST_IMAGE') == '1') else ''}" | 490 | HOSTTOOLS += "${@'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 |
493 | HOSTTOOLS_NONFATAL += "aws ccache gcc-ar gpg ld.bfd ld.gold nc sftp socat ssh sudo" | 493 | 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 | |||
415 | TARGET_SYS[doc] = "The target system is comprised of TARGET_ARCH,TARGET_VENDOR and TARGET_OS." | 415 | TARGET_SYS[doc] = "The target system is comprised of TARGET_ARCH,TARGET_VENDOR and TARGET_OS." |
416 | TCLIBC[doc] = "Specifies C library (libc) variant to use during the build process. You can select 'baremetal', 'glibc' or 'musl'." | 416 | TCLIBC[doc] = "Specifies C library (libc) variant to use during the build process. You can select 'baremetal', 'glibc' or 'musl'." |
417 | TCMODE[doc] = "Enables an external toolchain (where provided by an additional layer) if set to a value other than 'default'." | 417 | TCMODE[doc] = "Enables an external toolchain (where provided by an additional layer) if set to a value other than 'default'." |
418 | 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." | 418 | 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." |
419 | TEST_QEMUBOOT_TIMEOUT[doc] = "The time in seconds allowed for an image to boot before automated runtime tests begin to run against an image." | 419 | TEST_QEMUBOOT_TIMEOUT[doc] = "The time in seconds allowed for an image to boot before automated runtime tests begin to run against an image." |
420 | TEST_SUITES[doc] = "An ordered list of tests (modules) to run against an image when performing automated runtime testing." | 420 | TEST_SUITES[doc] = "An ordered list of tests (modules) to run against an image when performing automated runtime testing." |
421 | TEST_POWERCONTROL_CMD[doc] = "For automated hardware testing, specifies the command to use to control the power of the target machine under test" | 421 | TEST_POWERCONTROL_CMD[doc] = "For automated hardware testing, specifies the command to use to control the power of the target machine under test" |