mirror of
https://git.yoctoproject.org/poky
synced 2026-04-13 14:02:21 +02:00
oeqa/sdkext: Add sdk_update.SDKUpdateTest class.
The SDKUpdateTest class test devtool sdk-update mechanism inside eSDK. The SDKUpdateTest class search for new sdk if not found uses the main one then it publish the eSDK into known folder inside work and it starts a web server for serve the eSDK. Finally it executes sdk-update over http, the local test is commented due to bug [1]. [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9043 [YOCTO #9089] (From OE-Core rev: be7f5036a7c86fe70d43526df529bc467a9cf7d9) Signed-off-by: Aníbal Limón <limon.anibal@gmail.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
738bd1a640
commit
c7e5a38d23
39
meta/lib/oeqa/sdkext/sdk_update.py
Normal file
39
meta/lib/oeqa/sdkext/sdk_update.py
Normal file
@@ -0,0 +1,39 @@
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
from oeqa.oetest import oeSDKExtTest
|
||||
from oeqa.utils.httpserver import HTTPService
|
||||
|
||||
class SdkUpdateTest(oeSDKExtTest):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(self):
|
||||
self.publish_dir = os.path.join(self.tc.sdktestdir, 'esdk_publish')
|
||||
if os.path.exists(self.publish_dir):
|
||||
shutil.rmtree(self.publish_dir)
|
||||
os.mkdir(self.publish_dir)
|
||||
|
||||
tcname_new = self.tc.d.expand(
|
||||
"${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}-new.sh")
|
||||
if not os.path.exists(tcname_new):
|
||||
tcname_new = self.tc.tcname
|
||||
|
||||
cmd = 'oe-publish-sdk %s %s' % (tcname_new, self.publish_dir)
|
||||
subprocess.check_output(cmd, shell=True)
|
||||
|
||||
self.http_service = HTTPService(self.publish_dir)
|
||||
self.http_service.start()
|
||||
|
||||
self.http_url = "http://127.0.0.1:%d" % self.http_service.port
|
||||
|
||||
def test_sdk_update_http(self):
|
||||
output = self._run("devtool sdk-update \"%s\"" % self.http_url)
|
||||
|
||||
# def test_sdk_update_local(self):
|
||||
# output = self._run("devtool sdk-update \"%s\"" % self.publish_dir)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(self):
|
||||
self.http_service.stop()
|
||||
shutil.rmtree(self.publish_dir)
|
||||
Reference in New Issue
Block a user