mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 12:49:46 +00:00
selftest/bblayers: add a test for creating a layer setup and using it to restore the layers
This does a basic run-through of the bitbake-layers plugin, and the resulting json layer config and the layer setup script that uses it. Only poky is actually fetched by the script. (From OE-Core rev: 84ddd6fc6effbb74499409da7e85c09c8a1ff9ea) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
aa09f4d928
commit
fe7eb16537
@@ -142,3 +142,25 @@ class BitbakeLayers(OESelftestTestCase):
|
|||||||
def test_validate_examplelayersjson(self):
|
def test_validate_examplelayersjson(self):
|
||||||
json = os.path.join(get_bb_var('COREBASE'), "meta/files/layers.example.json")
|
json = os.path.join(get_bb_var('COREBASE'), "meta/files/layers.example.json")
|
||||||
self.validate_layersjson(json)
|
self.validate_layersjson(json)
|
||||||
|
|
||||||
|
def test_bitbakelayers_setup(self):
|
||||||
|
result = runCmd('bitbake-layers create-layers-setup {}'.format(self.testlayer_path))
|
||||||
|
jsonfile = os.path.join(self.testlayer_path, "setup-layers.json")
|
||||||
|
self.validate_layersjson(jsonfile)
|
||||||
|
|
||||||
|
# The revision-under-test may not necessarily be available on the remote server,
|
||||||
|
# so replace it with a stable release tag.
|
||||||
|
import json
|
||||||
|
with open(jsonfile) as f:
|
||||||
|
data = json.load(f)
|
||||||
|
for s in data['sources']:
|
||||||
|
data['sources'][s]['git-remote']['rev'] = 'yocto-4.0'
|
||||||
|
with open(jsonfile, 'w') as f:
|
||||||
|
json.dump(data, f)
|
||||||
|
|
||||||
|
testcheckoutdir = os.path.join(self.builddir, 'test-layer-checkout')
|
||||||
|
result = runCmd('{}/setup-layers --destdir {}'.format(self.testlayer_path, testcheckoutdir))
|
||||||
|
# May not necessarily be named 'poky' or 'openembedded-core'
|
||||||
|
oecoredir = os.listdir(testcheckoutdir)[0]
|
||||||
|
testcheckoutfile = os.path.join(testcheckoutdir, oecoredir, "oe-init-build-env")
|
||||||
|
self.assertTrue(os.path.exists(testcheckoutfile), "File {} not found in test layer checkout".format(testcheckoutfile))
|
||||||
|
|||||||
Reference in New Issue
Block a user