From c7e5a38d232b97da81eb87aa1ef520c65c4692b4 Mon Sep 17 00:00:00 2001 From: Aníbal Limón Date: Sun, 21 Feb 2016 14:40:20 -0600 Subject: oeqa/sdkext: Add sdk_update.SDKUpdateTest class. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/lib/oeqa/sdkext/sdk_update.py | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 meta/lib/oeqa/sdkext/sdk_update.py (limited to 'meta/lib/oeqa') diff --git a/meta/lib/oeqa/sdkext/sdk_update.py b/meta/lib/oeqa/sdkext/sdk_update.py new file mode 100644 index 0000000000..16f5b10d59 --- /dev/null +++ b/meta/lib/oeqa/sdkext/sdk_update.py @@ -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) -- cgit v1.2.3-54-g00ecf