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 | } | ||