Message ID | 20240222205827.2813212-4-raj.khem@gmail.com |
---|---|
State | Accepted, archived |
Headers | show |
Series | [meta-filesystems,1/4] fuse3: Add missing runtime deps for ptests | expand |
On Thu, Feb 22, 2024 at 12:58 PM Khem Raj <raj.khem@gmail.com> wrote: > This will help in running ptests like core layer, right now there are > just 3 but I hope to get more contributions now that infra is in place > > to run all ptests > > bitbake meta-filesystems-image-ptest-all > > to run a single recipe ptests > > bitbake meta-filesystems-image-ptest-fuse3 > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > .../ptest-packagelists-meta-filesystems.inc | 18 +++++++++ > .../meta-filesystems-image-ptest-all.bb | 25 ++++++++++++ > .../meta-filesystems-image-ptest-fast.bb | 5 +++ > .../images/meta-filesystems-image-ptest.bb | 40 +++++++++++++++++++ > 4 files changed, 88 insertions(+) > create mode 100644 > meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc > create mode 100644 meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest-all.bb > create mode 100644 meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest-fast.bb > create mode 100644 meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest.bb > > diff --git > a/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc > b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc > new file mode 100644 > index 0000000000..f57bbab930 > --- /dev/null > +++ b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc > @@ -0,0 +1,18 @@ > +# > +# Lists of the ptest in meta-filesystems, sorted into two sets by the > time they take > +# Please keep these sorted in alphabetical order > +# > +# A first pass at getting all meta-filesystems recipes which inherit ptest > +# meta_filesystems_ptest_recipes=$(bitbake-layers show-recipes > --recipes-only --layer meta-filesystems --inherits ptest --bare | sed -e > '1,/=== Matching recipes: ===/d') > +# ptests which take less than ~30s each > + > +PTESTS_FAST_META_FILESYSTEMS = "\ > + e2tools \ > + fuse3 \ > +" > + > +PTESTS_SLOW_META_FILESYSTEMS = "\ > +" > +PTESTS_PROBLEMS_META_FILESYSTEMS = "\ > + sshfs-fuse \ > +" > diff --git a/meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest-all.bb > b/meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest-all.bb > new file mode 100644 > index 0000000000..ffbfa1a3f6 > --- /dev/null > +++ b/meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest-all.bb > @@ -0,0 +1,25 @@ > +DESCRIPTION = "Recipe to trigger execution of all meta-filesystems ptest > images." > +HOMEPAGE = "https://www.openembedded.org/" > + > +LICENSE = "MIT" > + > +inherit features_check nopackages > +REQUIRED_DISTRO_FEATURES = "ptest" > + > +require conf/include/ptest-packagelists-meta-filesystems.inc > + > +# Include the full set of ptests > +PTESTS_META_FILESYSTEMS = "${PTESTS_FAST_META_FILESYSTEMS} > ${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" > + > +do_testimage[noexec] = "1" > +do_testimage[depends] = "${@' > '.join(['meta-filesystems-image-ptest-'+x+':do_testimage' for x in > d.getVar('PTESTS_META_FILESYSTEMS').split()])}" > + > +do_build[depends] = "${@' > '.join(['meta-filesystems-image-ptest-'+x+':do_build' for x in > d.getVar('PTESTS_META_FILESYSTEMS').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-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest-fast.bb > b/meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest-fast.bb > new file mode 100644 > index 0000000000..0eb5344d9e > --- /dev/null > +++ b/meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest-fast.bb > @@ -0,0 +1,5 @@ > +require meta-filesystems-image-ptest-all.bb > + > +DESCRIPTION = "Recipe to trigger execution of all fast meta-filesystems > ptest images." > + > +PTESTS_META_OE = "${PTESTS_FAST_META_FILESYSTEMS}" this should probably be PTESTS_META_FILESYSTEMS = Unless we want to expand the scope. > > diff --git a/meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest.bb > b/meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest.bb > new file mode 100644 > index 0000000000..90d6a92c1b > --- /dev/null > +++ b/meta-filesystems/recipes-filesystems/images/ > meta-filesystems-image-ptest.bb > @@ -0,0 +1,40 @@ > +inherit features_check > +REQUIRED_DISTRO_FEATURES = "ptest" > + > +require recipes-core/images/core-image-minimal.bb > +require conf/include/ptest-packagelists-meta-filesystems.inc > + > +SUMMARY = "meta-filesystems ptest test image" > + > +DESCRIPTION += "Also including the ${MCNAME} ptest package." > +HOMEPAGE = "https://www.openembedded.org/" > + > +PTESTS_META_FILESYSTEMS = "${PTESTS_SLOW_META_FILESYSTEMS} > ${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" > + > +IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh" > + > +BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in > d.getVar('PTESTS_META_FILESYSTEMS').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 memroy, 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") > +} > + > -- > 2.43.2 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#108997): > https://lists.openembedded.org/g/openembedded-devel/message/108997 > Mute This Topic: https://lists.openembedded.org/mt/104516897/924729 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > ticotimo@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
On Thu, Feb 22, 2024 at 5:57 PM Tim Orling via lists.openembedded.org <ticotimo=gmail.com@lists.openembedded.org> wrote: > > > On Thu, Feb 22, 2024 at 12:58 PM Khem Raj <raj.khem@gmail.com> wrote: > >> This will help in running ptests like core layer, right now there are >> just 3 but I hope to get more contributions now that infra is in place >> >> to run all ptests >> >> bitbake meta-filesystems-image-ptest-all >> >> to run a single recipe ptests >> >> bitbake meta-filesystems-image-ptest-fuse3 >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> >> --- >> .../ptest-packagelists-meta-filesystems.inc | 18 +++++++++ >> .../meta-filesystems-image-ptest-all.bb | 25 ++++++++++++ >> .../meta-filesystems-image-ptest-fast.bb | 5 +++ >> .../images/meta-filesystems-image-ptest.bb | 40 +++++++++++++++++++ >> 4 files changed, 88 insertions(+) >> create mode 100644 >> meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc >> create mode 100644 meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest-all.bb >> create mode 100644 meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest-fast.bb >> create mode 100644 meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest.bb >> >> diff --git >> a/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc >> b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc >> new file mode 100644 >> index 0000000000..f57bbab930 >> --- /dev/null >> +++ >> b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc >> @@ -0,0 +1,18 @@ >> +# >> +# Lists of the ptest in meta-filesystems, sorted into two sets by the >> time they take >> +# Please keep these sorted in alphabetical order >> +# >> +# A first pass at getting all meta-filesystems recipes which inherit >> ptest >> +# meta_filesystems_ptest_recipes=$(bitbake-layers show-recipes >> --recipes-only --layer meta-filesystems --inherits ptest --bare | sed -e >> '1,/=== Matching recipes: ===/d') >> +# ptests which take less than ~30s each >> + >> +PTESTS_FAST_META_FILESYSTEMS = "\ >> + e2tools \ >> + fuse3 \ >> +" >> + >> +PTESTS_SLOW_META_FILESYSTEMS = "\ >> +" >> +PTESTS_PROBLEMS_META_FILESYSTEMS = "\ >> + sshfs-fuse \ >> +" >> diff --git a/meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest-all.bb >> b/meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest-all.bb >> new file mode 100644 >> index 0000000000..ffbfa1a3f6 >> --- /dev/null >> +++ b/meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest-all.bb >> @@ -0,0 +1,25 @@ >> +DESCRIPTION = "Recipe to trigger execution of all meta-filesystems ptest >> images." >> +HOMEPAGE = "https://www.openembedded.org/" >> + >> +LICENSE = "MIT" >> + >> +inherit features_check nopackages >> +REQUIRED_DISTRO_FEATURES = "ptest" >> + >> +require conf/include/ptest-packagelists-meta-filesystems.inc >> + >> +# Include the full set of ptests >> +PTESTS_META_FILESYSTEMS = "${PTESTS_FAST_META_FILESYSTEMS} >> ${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" >> + >> +do_testimage[noexec] = "1" >> +do_testimage[depends] = "${@' >> '.join(['meta-filesystems-image-ptest-'+x+':do_testimage' for x in >> d.getVar('PTESTS_META_FILESYSTEMS').split()])}" >> + >> +do_build[depends] = "${@' >> '.join(['meta-filesystems-image-ptest-'+x+':do_build' for x in >> d.getVar('PTESTS_META_FILESYSTEMS').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-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest-fast.bb >> b/meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest-fast.bb >> new file mode 100644 >> index 0000000000..0eb5344d9e >> --- /dev/null >> +++ b/meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest-fast.bb >> @@ -0,0 +1,5 @@ >> +require meta-filesystems-image-ptest-all.bb >> + >> +DESCRIPTION = "Recipe to trigger execution of all fast meta-filesystems >> ptest images." >> + >> +PTESTS_META_OE = "${PTESTS_FAST_META_FILESYSTEMS}" > > this should probably be PTESTS_META_FILESYSTEMS = > Unless we want to expand the scope. > Also, THANK YOU for taking the example of meta-oe, meta-perl and meta-python to another layer. I would love to see this extend to every layer. >> diff --git a/meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest.bb >> b/meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest.bb >> new file mode 100644 >> index 0000000000..90d6a92c1b >> --- /dev/null >> +++ b/meta-filesystems/recipes-filesystems/images/ >> meta-filesystems-image-ptest.bb >> @@ -0,0 +1,40 @@ >> +inherit features_check >> +REQUIRED_DISTRO_FEATURES = "ptest" >> + >> +require recipes-core/images/core-image-minimal.bb >> +require conf/include/ptest-packagelists-meta-filesystems.inc >> + >> +SUMMARY = "meta-filesystems ptest test image" >> + >> +DESCRIPTION += "Also including the ${MCNAME} ptest package." >> +HOMEPAGE = "https://www.openembedded.org/" >> + >> +PTESTS_META_FILESYSTEMS = "${PTESTS_SLOW_META_FILESYSTEMS} >> ${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" >> + >> +IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh" >> + >> +BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in >> d.getVar('PTESTS_META_FILESYSTEMS').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 memroy, 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") >> +} >> + >> -- >> 2.43.2 >> >> >> >> >> > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#108998): > https://lists.openembedded.org/g/openembedded-devel/message/108998 > Mute This Topic: https://lists.openembedded.org/mt/104516897/924729 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > ticotimo@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
On Thu, Feb 22, 2024 at 6:25 PM Tim Orling <ticotimo@gmail.com> wrote: > > > > On Thu, Feb 22, 2024 at 5:57 PM Tim Orling via lists.openembedded.org <ticotimo=gmail.com@lists.openembedded.org> wrote: >> >> >> >> On Thu, Feb 22, 2024 at 12:58 PM Khem Raj <raj.khem@gmail.com> wrote: >>> >>> This will help in running ptests like core layer, right now there are >>> just 3 but I hope to get more contributions now that infra is in place >>> >>> to run all ptests >>> >>> bitbake meta-filesystems-image-ptest-all >>> >>> to run a single recipe ptests >>> >>> bitbake meta-filesystems-image-ptest-fuse3 >>> >>> Signed-off-by: Khem Raj <raj.khem@gmail.com> >>> --- >>> .../ptest-packagelists-meta-filesystems.inc | 18 +++++++++ >>> .../meta-filesystems-image-ptest-all.bb | 25 ++++++++++++ >>> .../meta-filesystems-image-ptest-fast.bb | 5 +++ >>> .../images/meta-filesystems-image-ptest.bb | 40 +++++++++++++++++++ >>> 4 files changed, 88 insertions(+) >>> create mode 100644 meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc >>> create mode 100644 meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb >>> create mode 100644 meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb >>> create mode 100644 meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb >>> >>> diff --git a/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc >>> new file mode 100644 >>> index 0000000000..f57bbab930 >>> --- /dev/null >>> +++ b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc >>> @@ -0,0 +1,18 @@ >>> +# >>> +# Lists of the ptest in meta-filesystems, sorted into two sets by the time they take >>> +# Please keep these sorted in alphabetical order >>> +# >>> +# A first pass at getting all meta-filesystems recipes which inherit ptest >>> +# meta_filesystems_ptest_recipes=$(bitbake-layers show-recipes --recipes-only --layer meta-filesystems --inherits ptest --bare | sed -e '1,/=== Matching recipes: ===/d') >>> +# ptests which take less than ~30s each >>> + >>> +PTESTS_FAST_META_FILESYSTEMS = "\ >>> + e2tools \ >>> + fuse3 \ >>> +" >>> + >>> +PTESTS_SLOW_META_FILESYSTEMS = "\ >>> +" >>> +PTESTS_PROBLEMS_META_FILESYSTEMS = "\ >>> + sshfs-fuse \ >>> +" >>> diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb >>> new file mode 100644 >>> index 0000000000..ffbfa1a3f6 >>> --- /dev/null >>> +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb >>> @@ -0,0 +1,25 @@ >>> +DESCRIPTION = "Recipe to trigger execution of all meta-filesystems ptest images." >>> +HOMEPAGE = "https://www.openembedded.org/" >>> + >>> +LICENSE = "MIT" >>> + >>> +inherit features_check nopackages >>> +REQUIRED_DISTRO_FEATURES = "ptest" >>> + >>> +require conf/include/ptest-packagelists-meta-filesystems.inc >>> + >>> +# Include the full set of ptests >>> +PTESTS_META_FILESYSTEMS = "${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" >>> + >>> +do_testimage[noexec] = "1" >>> +do_testimage[depends] = "${@' '.join(['meta-filesystems-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_FILESYSTEMS').split()])}" >>> + >>> +do_build[depends] = "${@' '.join(['meta-filesystems-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_FILESYSTEMS').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-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb >>> new file mode 100644 >>> index 0000000000..0eb5344d9e >>> --- /dev/null >>> +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb >>> @@ -0,0 +1,5 @@ >>> +require meta-filesystems-image-ptest-all.bb >>> + >>> +DESCRIPTION = "Recipe to trigger execution of all fast meta-filesystems ptest images." >>> + >>> +PTESTS_META_OE = "${PTESTS_FAST_META_FILESYSTEMS}" >> >> this should probably be PTESTS_META_FILESYSTEMS = >> Unless we want to expand the scope. > yeah thanks for catching this. I have fixed it in master-next. > > Also, THANK YOU for taking the example of meta-oe, meta-perl and meta-python to another layer. I would love to see this extend to every layer. > >>> >>> diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb >>> new file mode 100644 >>> index 0000000000..90d6a92c1b >>> --- /dev/null >>> +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb >>> @@ -0,0 +1,40 @@ >>> +inherit features_check >>> +REQUIRED_DISTRO_FEATURES = "ptest" >>> + >>> +require recipes-core/images/core-image-minimal.bb >>> +require conf/include/ptest-packagelists-meta-filesystems.inc >>> + >>> +SUMMARY = "meta-filesystems ptest test image" >>> + >>> +DESCRIPTION += "Also including the ${MCNAME} ptest package." >>> +HOMEPAGE = "https://www.openembedded.org/" >>> + >>> +PTESTS_META_FILESYSTEMS = "${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" >>> + >>> +IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh" >>> + >>> +BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_FILESYSTEMS').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 memroy, 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") >>> +} >>> + >>> -- >>> 2.43.2 >>> >>> >>> >>> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#108998): https://lists.openembedded.org/g/openembedded-devel/message/108998 >> Mute This Topic: https://lists.openembedded.org/mt/104516897/924729 >> Group Owner: openembedded-devel+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ticotimo@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >>
diff --git a/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc new file mode 100644 index 0000000000..f57bbab930 --- /dev/null +++ b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc @@ -0,0 +1,18 @@ +# +# Lists of the ptest in meta-filesystems, sorted into two sets by the time they take +# Please keep these sorted in alphabetical order +# +# A first pass at getting all meta-filesystems recipes which inherit ptest +# meta_filesystems_ptest_recipes=$(bitbake-layers show-recipes --recipes-only --layer meta-filesystems --inherits ptest --bare | sed -e '1,/=== Matching recipes: ===/d') +# ptests which take less than ~30s each + +PTESTS_FAST_META_FILESYSTEMS = "\ + e2tools \ + fuse3 \ +" + +PTESTS_SLOW_META_FILESYSTEMS = "\ +" +PTESTS_PROBLEMS_META_FILESYSTEMS = "\ + sshfs-fuse \ +" diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb new file mode 100644 index 0000000000..ffbfa1a3f6 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Recipe to trigger execution of all meta-filesystems ptest images." +HOMEPAGE = "https://www.openembedded.org/" + +LICENSE = "MIT" + +inherit features_check nopackages +REQUIRED_DISTRO_FEATURES = "ptest" + +require conf/include/ptest-packagelists-meta-filesystems.inc + +# Include the full set of ptests +PTESTS_META_FILESYSTEMS = "${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" + +do_testimage[noexec] = "1" +do_testimage[depends] = "${@' '.join(['meta-filesystems-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_FILESYSTEMS').split()])}" + +do_build[depends] = "${@' '.join(['meta-filesystems-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_FILESYSTEMS').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-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb new file mode 100644 index 0000000000..0eb5344d9e --- /dev/null +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb @@ -0,0 +1,5 @@ +require meta-filesystems-image-ptest-all.bb + +DESCRIPTION = "Recipe to trigger execution of all fast meta-filesystems ptest images." + +PTESTS_META_OE = "${PTESTS_FAST_META_FILESYSTEMS}" diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb new file mode 100644 index 0000000000..90d6a92c1b --- /dev/null +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb @@ -0,0 +1,40 @@ +inherit features_check +REQUIRED_DISTRO_FEATURES = "ptest" + +require recipes-core/images/core-image-minimal.bb +require conf/include/ptest-packagelists-meta-filesystems.inc + +SUMMARY = "meta-filesystems ptest test image" + +DESCRIPTION += "Also including the ${MCNAME} ptest package." +HOMEPAGE = "https://www.openembedded.org/" + +PTESTS_META_FILESYSTEMS = "${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" + +IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh" + +BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_FILESYSTEMS').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 memroy, 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") +} +
This will help in running ptests like core layer, right now there are just 3 but I hope to get more contributions now that infra is in place to run all ptests bitbake meta-filesystems-image-ptest-all to run a single recipe ptests bitbake meta-filesystems-image-ptest-fuse3 Signed-off-by: Khem Raj <raj.khem@gmail.com> --- .../ptest-packagelists-meta-filesystems.inc | 18 +++++++++ .../meta-filesystems-image-ptest-all.bb | 25 ++++++++++++ .../meta-filesystems-image-ptest-fast.bb | 5 +++ .../images/meta-filesystems-image-ptest.bb | 40 +++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc create mode 100644 meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb create mode 100644 meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb create mode 100644 meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb