diff options
Diffstat (limited to 'meta/classes/ptest.bbclass')
| -rw-r--r-- | meta/classes/ptest.bbclass | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass new file mode 100644 index 0000000000..ea4a38b954 --- /dev/null +++ b/meta/classes/ptest.bbclass | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | SUMMARY_${PN}-ptest ?= "${SUMMARY} - Package test files" | ||
| 2 | DESCRIPTION_${PN}-ptest ?= "${DESCRIPTION} \ | ||
| 3 | This package contains a test directory ${PTEST_PATH} for package test purposes." | ||
| 4 | |||
| 5 | PTEST_PATH ?= "${libdir}/${PN}/ptest" | ||
| 6 | FILES_${PN}-ptest = "${PTEST_PATH}" | ||
| 7 | SECTION_${PN}-ptest = "devel" | ||
| 8 | ALLOW_EMPTY_${PN}-ptest = "1" | ||
| 9 | PTEST_ENABLED = "${@base_contains('DISTRO_FEATURES', 'ptest', '1', '0', d)}" | ||
| 10 | PTEST_ENABLED_class-native = "" | ||
| 11 | PTEST_ENABLED_class-nativesdk = "" | ||
| 12 | PTEST_ENABLED_class-cross-canadian = "" | ||
| 13 | RDEPENDS_${PN}-ptest_class-native = "" | ||
| 14 | RDEPENDS_${PN}-ptest_class-nativesdk = "" | ||
| 15 | |||
| 16 | PACKAGES =+ "${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)}" | ||
| 17 | |||
| 18 | do_configure_ptest() { | ||
| 19 | : | ||
| 20 | } | ||
| 21 | |||
| 22 | do_configure_ptest_base() { | ||
| 23 | do_configure_ptest | ||
| 24 | } | ||
| 25 | |||
| 26 | do_compile_ptest() { | ||
| 27 | : | ||
| 28 | } | ||
| 29 | |||
| 30 | do_compile_ptest_base() { | ||
| 31 | do_compile_ptest | ||
| 32 | } | ||
| 33 | |||
| 34 | do_install_ptest() { | ||
| 35 | : | ||
| 36 | } | ||
| 37 | |||
| 38 | do_install_ptest_base() { | ||
| 39 | if [ -f ${WORKDIR}/run-ptest ]; then | ||
| 40 | install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest | ||
| 41 | if grep -q install-ptest: Makefile; then | ||
| 42 | oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest | ||
| 43 | fi | ||
| 44 | do_install_ptest | ||
| 45 | fi | ||
| 46 | } | ||
| 47 | |||
| 48 | do_install_ptest_base[cleandirs] = "${D}${PTEST_PATH}" | ||
| 49 | |||
| 50 | addtask configure_ptest_base after do_configure before do_compile | ||
| 51 | addtask compile_ptest_base after do_compile before do_install | ||
| 52 | addtask install_ptest_base after do_install before do_package do_populate_sysroot | ||
| 53 | |||
| 54 | python () { | ||
| 55 | if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d): | ||
| 56 | d.setVarFlag('do_install_ptest_base', 'fakeroot', 1) | ||
| 57 | |||
| 58 | # Remove all '*ptest_base' tasks when ptest is not enabled | ||
| 59 | if not(d.getVar('PTEST_ENABLED', True) == "1"): | ||
| 60 | for i in ['do_configure_ptest_base', 'do_compile_ptest_base', 'do_install_ptest_base']: | ||
| 61 | bb.build.deltask(i, d) | ||
| 62 | } | ||
