From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Joshua Watt <jpewhacker@gmail.com>,
openembedded-core@lists.openembedded.org
Subject: Re: [PATCH v2] oe-selftest: Add bitbake-layer create-layer test
Date: Sat, 30 Jun 2018 10:57:35 +0100 [thread overview]
Message-ID: <7fa47b1ad1e01ac0e5d5606ae69ae29a06e94b00.camel@linuxfoundation.org> (raw)
In-Reply-To: <20180629175445.21871-1-JPEWhacker@gmail.com>
On Fri, 2018-06-29 at 12:54 -0500, Joshua Watt wrote:
> Adds a test that creates a layer, adds it to bblayers.conf, then
> ensure
> that it appears properly in bitbake-layers show-layers.
>
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> ---
> meta/lib/oeqa/selftest/cases/bblayers.py | 26
> +++++++++++++++++++++++-
> 1 file changed, 25 insertions(+), 1 deletion(-)
I ran this on the autobuilder and it showed:
https://autobuilder.yocto.io/builders/nightly-oe-selftest/builds/1154/steps/Running%20oe-selftest/logs/stdio
Tests were working, it runs this test, then everything fails:
2018-06-29 23:50:23,781 - oe-selftest - INFO - ... OK (719.550s)
2018-06-29 23:50:23,783 - oe-selftest - INFO - test_bitbakelayers_add_remove (bblayers.BitbakeLayers)
2018-06-29 23:50:39,742 - oe-selftest - INFO - ... OK (15.959s)
2018-06-29 23:50:39,742 - oe-selftest - INFO - test_bitbakelayers_createlayer (bblayers.BitbakeLayers)
2018-06-29 23:50:49,526 - oe-selftest - INFO - ... OK (9.783s)
2018-06-29 23:50:49,526 - oe-selftest - INFO - test_bitbakelayers_flatten (bblayers.BitbakeLayers)
2018-06-29 23:50:49,971 - oe-selftest - INFO - ... FAIL (0.445s)
2018-06-29 23:50:49,971 - oe-selftest - INFO - test_bitbakelayers_showappends (bblayers.BitbakeLayers)
2018-06-29 23:50:50,356 - oe-selftest - INFO - ... FAIL (0.385s)
2018-06-29 23:50:50,356 - oe-selftest - INFO - test_bitbakelayers_showcrossdepends (bblayers.BitbakeLayers)
2018-06-29 23:50:50,761 - oe-selftest - INFO - ... FAIL (0.405s)
Later you can see the error:
ERROR: Layer directory '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/test-bitbakelayer-layercreate' does not exist! Please check BBLAYERS in /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/conf/bblayers.conf
so I think something in the cleanup of the test is wrong...
Cheers,
Richard
> diff --git a/meta/lib/oeqa/selftest/cases/bblayers.py
> b/meta/lib/oeqa/selftest/cases/bblayers.py
> index 90a2249b081..f2fc8327647 100644
> --- a/meta/lib/oeqa/selftest/cases/bblayers.py
> +++ b/meta/lib/oeqa/selftest/cases/bblayers.py
> @@ -2,7 +2,7 @@ import os
> import re
>
> import oeqa.utils.ftools as ftools
> -from oeqa.utils.commands import runCmd, get_bb_var
> +from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars
>
> from oeqa.selftest.case import OESelftestTestCase
> from oeqa.core.decorator.oeid import OETestID
> @@ -85,6 +85,30 @@ class BitbakeLayers(OESelftestTestCase):
> self.assertNotEqual(result.status, 0, 'bitbake-layers show-
> recipes -i nonexistentclass should have failed')
> self.assertIn('ERROR:', result.output)
>
> + def test_bitbakelayers_createlayer(self):
> + priority = 10
> + layername = 'test-bitbakelayer-layercreate'
> + layerpath = os.path.join(get_bb_var('COREBASE'), layername)
> + self.assertFalse(os.path.exists(layerpath), '%s should not
> exist at this point in time' % layerpath)
> + result = runCmd('bitbake-layers create-layer --priority=%d
> %s' % (priority, layerpath))
> + self.track_for_cleanup(layerpath)
> + result = runCmd('bitbake-layers add-layer %s' % layerpath)
> + result = runCmd('bitbake-layers show-layers')
> + find_in_contents = re.search(re.escape(layername) + r'\s+' +
> re.escape(layerpath) + r'\s+' + re.escape(str(priority)),
> result.output)
> + self.assertTrue(find_in_contents, "%s not found in
> layers\n%s" % (layername, result.output))
> +
> + layervars = ['BBFILE_PRIORITY', 'BBFILE_PATTERN',
> 'LAYERDEPENDS', 'LAYERSERIES_COMPAT']
> + bb_vars = get_bb_vars(['BBFILE_COLLECTIONS'] + ['%s_%s' %
> (v, layername) for v in layervars])
> +
> + for v in layervars:
> + varname = '%s_%s' % (v, layername)
> + self.assertIsNotNone(bb_vars[varname], "%s not found" %
> varname)
> +
> + find_in_contents = re.search(r'(^|\s)' +
> re.escape(layername) + r'($|\s)', bb_vars['BBFILE_COLLECTIONS'])
> + self.assertTrue(find_in_contents, "%s not in
> BBFILE_COLLECTIONS" % layername)
> +
> + self.assertEqual(bb_vars['BBFILE_PRIORITY_%s' % layername],
> str(priority), 'BBFILE_PRIORITY_%s != %d' % (layername, priority))
> +
> def get_recipe_basename(self, recipe):
> recipe_file = ""
> result = runCmd("bitbake-layers show-recipes -f %s" %
> recipe)
next prev parent reply other threads:[~2018-06-30 9:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-28 17:53 [PATCH 1/2] bitbake-bblayers/create: Fix layer name generation Joshua Watt
2018-06-28 17:53 ` [PATCH 2/2] oe-selftest: Add bitbake-layer create-layer test Joshua Watt
2018-06-28 21:54 ` Richard Purdie
2018-06-29 17:54 ` [PATCH v2] " Joshua Watt
2018-06-30 9:57 ` Richard Purdie [this message]
2018-06-30 16:20 ` Joshua Watt
2018-06-30 16:16 ` [PATCH v3] " Joshua Watt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7fa47b1ad1e01ac0e5d5606ae69ae29a06e94b00.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=jpewhacker@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox