summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/images/core-image-ptest.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/images/core-image-ptest.bb')
-rw-r--r--meta/recipes-core/images/core-image-ptest.bb44
1 files changed, 44 insertions, 0 deletions
diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb
new file mode 100644
index 0000000000..72081f938d
--- /dev/null
+++ b/meta/recipes-core/images/core-image-ptest.bb
@@ -0,0 +1,44 @@
1inherit features_check
2REQUIRED_DISTRO_FEATURES = "ptest"
3
4require core-image-minimal.bb
5require conf/distro/include/ptest-packagelists.inc
6
7DESCRIPTION += "Also including the ${MCNAME} ptest package."
8SUMMARY ?= "${MCNAME} ptest image."
9HOMEPAGE = "https://www.yoctoproject.org/"
10
11PTESTS = "${PTESTS_SLOW} ${PTESTS_FAST}"
12
13IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
14
15BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS').split()])}"
16
17# The image can sufficiently large (~1.8GB) that we need to be careful that it fits in a live
18# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
19# box) and explicitly add up to 1500MB.
20# strace-ptest in particular needs more than 500MB
21IMAGE_OVERHEAD_FACTOR = "1.0"
22IMAGE_ROOTFS_EXTRA_SPACE = "324288"
23IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-mdadm = "1524288"
24IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-strace = "1524288"
25IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-lttng-tools = "1524288"
26
27# tar-ptest in particular needs more space
28IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-tar = "1524288"
29
30# ptests need more memory than standard to avoid the OOM killer
31QB_MEM = "-m 1024"
32QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096"
33QB_MEM:virtclass-mcextend-python3 = "-m 2048"
34QB_MEM:virtclass-mcextend-python3-cryptography = "-m 5100"
35
36TEST_SUITES = "ping ssh parselogs ptest"
37
38# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
39PTEST_EXPECT_FAILURE = "1"
40
41python () {
42 if not d.getVar("MCNAME"):
43 raise bb.parse.SkipRecipe("No class extension set")
44}