diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-08-17 14:31:25 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2016-08-22 16:43:26 +0000 |
commit | 60f9d69e016b11c468c98ea75ba0a60c44afbbc4 (patch) | |
tree | ecb49581a9e41a37943c22cd9ef3f63451b20ee7 /import-layers/yocto-poky/meta/lib/oeqa/sdkext | |
parent | e18c61205e0234b03697129c20cc69c9b3940efc (diff) | |
download | talos-openbmc-60f9d69e016b11c468c98ea75ba0a60c44afbbc4.tar.gz talos-openbmc-60f9d69e016b11c468c98ea75ba0a60c44afbbc4.zip |
yocto-poky: Move to import-layers subdir
We are going to import additional layers, so create a subdir to
hold all of the layers that we import with git-subtree.
Change-Id: I6f732153a22be8ca663035c518837e3cc5ec0799
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'import-layers/yocto-poky/meta/lib/oeqa/sdkext')
5 files changed, 93 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdkext/__init__.py b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/__init__.py new file mode 100644 index 000000000..4cf3fa76b --- /dev/null +++ b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/__init__.py @@ -0,0 +1,3 @@ +# Enable other layers to have tests in the same named directory +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdkext/devtool.py b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/devtool.py new file mode 100644 index 000000000..c5bb3102a --- /dev/null +++ b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/devtool.py @@ -0,0 +1,32 @@ +import shutil + +from oeqa.oetest import oeSDKExtTest +from oeqa.utils.decorators import * + +class DevtoolTest(oeSDKExtTest): + + @classmethod + def setUpClass(self): + self.myapp_src = os.path.join(self.tc.sdkextfilesdir, "myapp") + self.myapp_dst = os.path.join(self.tc.sdktestdir, "myapp") + shutil.copytree(self.myapp_src, self.myapp_dst) + + def test_devtool_location(self): + output = self._run('which devtool') + self.assertEqual(output.startswith(self.tc.sdktestdir), True, \ + msg="Seems that devtool isn't the eSDK one: %s" % output) + + @skipUnlessPassed('test_devtool_location') + def test_devtool_add_reset(self): + self._run('devtool add myapp %s' % self.myapp_dst) + self._run('devtool reset myapp') + + @skipUnlessPassed('test_devtool_location') + def test_devtool_build(self): + self._run('devtool add myapp %s' % self.myapp_dst) + self._run('devtool build myapp') + self._run('devtool reset myapp') + + @classmethod + def tearDownClass(self): + shutil.rmtree(self.myapp_dst) diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdkext/files/myapp/Makefile b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/files/myapp/Makefile new file mode 100644 index 000000000..abd91bea6 --- /dev/null +++ b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/files/myapp/Makefile @@ -0,0 +1,10 @@ +all: myapp + +myapp: myapp.o + $(CC) $(LDFLAGS) $< -o $@ + +myapp.o: myapp.c + $(CC) $(CFLAGS) -c $< -o $@ + +clean: + rm -rf myapp.o myapp diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdkext/files/myapp/myapp.c b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/files/myapp/myapp.c new file mode 100644 index 000000000..f0b63f03f --- /dev/null +++ b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/files/myapp/myapp.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int +main(int argc, char *argv[]) +{ + printf("Hello world\n"); + + return 0; +} diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdkext/sdk_update.py b/import-layers/yocto-poky/meta/lib/oeqa/sdkext/sdk_update.py new file mode 100644 index 000000000..7a2a6fe7c --- /dev/null +++ b/import-layers/yocto-poky/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) |