mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 00:59:48 +00:00
oeqa/selftest: Adds test case for sdk-update eSDK
1. Test case adds perl recipe before build eSDK.
2. After this added recipe, the script verifies the update:
${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh
oe-publish-sdk [esdk] [path-to-http]
CORE_IMAGE_EXTRA_INSTALL = "perl"
bitbake -c populate-sdk-ext [some-image]
devtool sdk-update
This should fix [YOCTO #9369]
(From OE-Core rev: 21bd406bf89e9ceafe1a807877406be817cacca6)
(From OE-Core rev: 7824ca273e7e4b25d4efe5461c0402833f535d06)
Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
ffaf0ea565
commit
4ff1c8ddba
@@ -51,6 +51,29 @@ class oeSDKExtSelfTest(oeSelfTest):
|
|||||||
toolchain_name = get_bb_var('TOOLCHAINEXT_OUTPUTNAME', pn_task)
|
toolchain_name = get_bb_var('TOOLCHAINEXT_OUTPUTNAME', pn_task)
|
||||||
return os.path.join(sdk_deploy, toolchain_name + '.sh')
|
return os.path.join(sdk_deploy, toolchain_name + '.sh')
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def update_configuration(cls, image, tmpdir_eSDKQA, env_eSDK, ext_sdk_path):
|
||||||
|
sstate_dir = os.path.join(os.environ['BUILDDIR'], 'sstate-cache')
|
||||||
|
cls.http_service = HTTPService(sstate_dir)
|
||||||
|
cls.http_service.start()
|
||||||
|
cls.http_url = "http://127.0.0.1:%d" % cls.http_service.port
|
||||||
|
|
||||||
|
oeSDKExtSelfTest.generate_eSDK(cls.image)
|
||||||
|
|
||||||
|
cls.ext_sdk_path = oeSDKExtSelfTest.get_eSDK_toolchain(cls.image)
|
||||||
|
runCmd("%s -y -d \"%s\"" % (cls.ext_sdk_path, cls.tmpdir_eSDKQA))
|
||||||
|
|
||||||
|
cls.env_eSDK = oeSDKExtSelfTest.get_esdk_environment('', cls.tmpdir_eSDKQA)
|
||||||
|
|
||||||
|
sstate_config="""
|
||||||
|
SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS"
|
||||||
|
SSTATE_MIRRORS = "file://.* http://%s/PATH"
|
||||||
|
CORE_IMAGE_EXTRA_INSTALL = "perl"
|
||||||
|
""" % cls.http_url
|
||||||
|
|
||||||
|
with open(os.path.join(cls.tmpdir_eSDKQA, 'conf', 'local.conf'), 'a+') as f:
|
||||||
|
f.write(sstate_config)
|
||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -59,16 +82,16 @@ class oeSDKExtSelfTest(oeSelfTest):
|
|||||||
cls.http_service = HTTPService(sstate_dir)
|
cls.http_service = HTTPService(sstate_dir)
|
||||||
cls.http_service.start()
|
cls.http_service.start()
|
||||||
|
|
||||||
http_url = "127.0.0.1:%d" % cls.http_service.port
|
cls.http_url = "http://127.0.0.1:%d" % cls.http_service.port
|
||||||
|
|
||||||
image = 'core-image-minimal'
|
cls.image = 'core-image-minimal'
|
||||||
|
|
||||||
cls.tmpdir_eSDKQA = tempfile.mkdtemp(prefix='eSDKQA')
|
cls.tmpdir_eSDKQA = tempfile.mkdtemp(prefix='eSDKQA')
|
||||||
oeSDKExtSelfTest.generate_eSDK(image)
|
oeSDKExtSelfTest.generate_eSDK(cls.image)
|
||||||
|
|
||||||
# Install eSDK
|
# Install eSDK
|
||||||
ext_sdk_path = oeSDKExtSelfTest.get_eSDK_toolchain(image)
|
cls.ext_sdk_path = oeSDKExtSelfTest.get_eSDK_toolchain(cls.image)
|
||||||
runCmd("%s -y -d \"%s\"" % (ext_sdk_path, cls.tmpdir_eSDKQA))
|
runCmd("%s -y -d \"%s\"" % (cls.ext_sdk_path, cls.tmpdir_eSDKQA))
|
||||||
|
|
||||||
cls.env_eSDK = oeSDKExtSelfTest.get_esdk_environment('', cls.tmpdir_eSDKQA)
|
cls.env_eSDK = oeSDKExtSelfTest.get_esdk_environment('', cls.tmpdir_eSDKQA)
|
||||||
|
|
||||||
@@ -76,7 +99,7 @@ class oeSDKExtSelfTest(oeSelfTest):
|
|||||||
sstate_config="""
|
sstate_config="""
|
||||||
SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS"
|
SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS"
|
||||||
SSTATE_MIRRORS = "file://.* http://%s/PATH"
|
SSTATE_MIRRORS = "file://.* http://%s/PATH"
|
||||||
""" % http_url
|
""" % cls.http_url
|
||||||
with open(os.path.join(cls.tmpdir_eSDKQA, 'conf', 'local.conf'), 'a+') as f:
|
with open(os.path.join(cls.tmpdir_eSDKQA, 'conf', 'local.conf'), 'a+') as f:
|
||||||
f.write(sstate_config)
|
f.write(sstate_config)
|
||||||
|
|
||||||
@@ -99,5 +122,12 @@ SSTATE_MIRRORS = "file://.* http://%s/PATH"
|
|||||||
cmd = "devtool build-image %s" % image
|
cmd = "devtool build-image %s" % image
|
||||||
oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd)
|
oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd)
|
||||||
|
|
||||||
|
@testcase(1567)
|
||||||
|
def test_sdk_update_http(self):
|
||||||
|
cmd = "devtool sdk-update %s" % self.http_url
|
||||||
|
oeSDKExtSelfTest.update_configuration(self, self.image, self.tmpdir_eSDKQA, self.env_eSDK, self.ext_sdk_path)
|
||||||
|
oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd)
|
||||||
|
self.http_service.stop()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user