diff options
3 files changed, 66 insertions, 3 deletions
diff --git a/meta-perl/recipes-core/images/meta-perl-ptest-all-image.bb b/meta-perl/recipes-core/images/meta-perl-ptest-all-image.bb new file mode 100644 index 0000000000..236043c22a --- /dev/null +++ b/meta-perl/recipes-core/images/meta-perl-ptest-all-image.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Recipe to trigger execution of all meta-perl ptest images." +HOMEPAGE = "https://www.openembedded.org/" + +LICENSE = "MIT" + +inherit features_check nopackages +REQUIRED_DISTRO_FEATURES = "ptest" + +require conf/include/ptest-packagelists-meta-perl.inc + +# Include the full set of ptests +PTESTS_META_PERL = "${PTESTS_FAST_META_PERL} ${PTESTS_SLOW_META_PERL}" + +do_testimage[noexec] = "1" +do_testimage[depends] = "${@' '.join(['meta-perl-ptest-image-'+x+':do_testimage' for x in d.getVar('PTESTS_META_PERL').split()])}" + +do_build[depends] = "${@' '.join(['meta-perl-ptest-image-'+x+':do_build' for x in d.getVar('PTESTS_META_PERL').split()])}" + +# normally image.bbclass would do this +EXCLUDE_FROM_WORLD = "1" + +python () { + if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d): + bb.build.addtask("do_testimage", "", "", d) +} diff --git a/meta-perl/recipes-core/images/meta-perl-ptest-fast-image.bb b/meta-perl/recipes-core/images/meta-perl-ptest-fast-image.bb new file mode 100644 index 0000000000..5d8afa08e7 --- /dev/null +++ b/meta-perl/recipes-core/images/meta-perl-ptest-fast-image.bb @@ -0,0 +1,6 @@ +require meta-perl-ptest-all-image.bb + +DESCRIPTION = "Recipe to trigger execution of all fast meta-perl ptest images." + +PTESTS_META_PERL = "${PTESTS_FAST_META_PERL}" + diff --git a/meta-perl/recipes-core/images/meta-perl-ptest-image.bb b/meta-perl/recipes-core/images/meta-perl-ptest-image.bb index a9b4cc3c7d..7cca6402b2 100644 --- a/meta-perl/recipes-core/images/meta-perl-ptest-image.bb +++ b/meta-perl/recipes-core/images/meta-perl-ptest-image.bb @@ -1,9 +1,41 @@ +inherit features_check +REQUIRED_DISTRO_FEATURES += "ptest" + require meta-perl-base.bb SUMMARY = "meta-perl build ptest image" -inherit features_check +require conf/include/ptest-packagelists-meta-perl.inc -REQUIRED_DISTRO_FEATURES += "ptest" +DESCRIPTION += "Also including the ${MCNAME} ptest package." +HOMEPAGE = "https://www.openembedded.org/" + +PTESTS_META_PERL = "${PTESTS_SLOW_META_PERL} ${PTESTS_FAST_META_PERL}" + +IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh" + +BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_PERL').split()])}" + +# The image can be sufficiently large (~1.8GB) that we need to be careful that it fits in a live +# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the +# box) and explicitly add up to 1500MB. +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "324288" +# If a particular ptest needs more space, it can be customized: +#IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-<pn> = "1024288" + +# ptests need more memory than standard to avoid the OOM killer +QB_MEM = "-m 1024" +# If a particular ptest needs more memory, it can be customized: +#QB_MEM:virtclass-mcextend-<pn> = "-m 4096" + +TEST_SUITES = "ping ssh parselogs ptest" + +# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places +PTEST_EXPECT_FAILURE = "1" + +python () { + if not d.getVar("MCNAME"): + raise bb.parse.SkipRecipe("No class extension set") +} -IMAGE_INSTALL += "packagegroup-meta-perl-ptest" |