summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/meta/lib/oeqa/sdk
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/meta/lib/oeqa/sdk')
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/__init__.py0
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/case.py12
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildcpio.py33
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildgalculator.py35
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildlzip.py36
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/gcc.py43
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/perl.py28
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/python.py32
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/context.py134
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/files/testsdkmakefile5
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/utils/__init__.py0
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py45
12 files changed, 0 insertions, 403 deletions
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/__init__.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/__init__.py
+++ /dev/null
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/case.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/case.py
deleted file mode 100644
index 963aa8d35..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/case.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-import subprocess
-
-from oeqa.core.case import OETestCase
-
-class OESDKTestCase(OETestCase):
- def _run(self, cmd):
- return subprocess.check_output(". %s > /dev/null; %s;" % \
- (self.tc.sdk_env, cmd), shell=True,
- stderr=subprocess.STDOUT, universal_newlines=True)
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildcpio.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildcpio.py
deleted file mode 100644
index 333dc7c22..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildcpio.py
+++ /dev/null
@@ -1,33 +0,0 @@
-import unittest
-from oeqa.sdk.case import OESDKTestCase
-from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
-
-class BuildCpioTest(OESDKTestCase):
- td_vars = ['DATETIME']
-
- @classmethod
- def setUpClass(self):
- dl_dir = self.td.get('DL_DIR', None)
-
- self.project = SDKBuildProject(self.tc.sdk_dir + "/cpio/", self.tc.sdk_env,
- "https://ftp.gnu.org/gnu/cpio/cpio-2.12.tar.gz",
- self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
- self.project.download_archive()
-
- machine = self.td.get("MACHINE")
- if not self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine):
- raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain")
-
- def test_cpio(self):
- self.assertEqual(self.project.run_configure(), 0,
- msg="Running configure failed")
-
- self.assertEqual(self.project.run_make(), 0,
- msg="Running make failed")
-
- self.assertEqual(self.project.run_install(), 0,
- msg="Running make install failed")
-
- @classmethod
- def tearDownClass(self):
- self.project.clean()
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildgalculator.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
deleted file mode 100644
index 780afccc7..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ /dev/null
@@ -1,35 +0,0 @@
-import unittest
-
-from oeqa.sdk.case import OESDKTestCase
-from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
-
-class GalculatorTest(OESDKTestCase):
- td_vars = ['DATETIME']
-
- @classmethod
- def setUpClass(self):
- if not (self.tc.hasTargetPackage("gtk\+3") or\
- self.tc.hasTargetPackage("libgtk-3.0")):
- raise unittest.SkipTest("GalculatorTest class: SDK don't support gtk+3")
-
- def test_galculator(self):
- dl_dir = self.td.get('DL_DIR', None)
- project = None
- try:
- project = SDKBuildProject(self.tc.sdk_dir + "/galculator/",
- self.tc.sdk_env,
- "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
- self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
-
- project.download_archive()
-
- # regenerate configure to get support for --with-libtool-sysroot
- legacy_preconf=("autoreconf -i -f -I ${OECORE_TARGET_SYSROOT}/usr/share/aclocal -I m4;")
-
- self.assertEqual(project.run_configure(extra_cmds=legacy_preconf),
- 0, msg="Running configure failed")
-
- self.assertEqual(project.run_make(), 0,
- msg="Running make failed")
- finally:
- project.clean()
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildlzip.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildlzip.py
deleted file mode 100644
index 3a89ce862..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/buildlzip.py
+++ /dev/null
@@ -1,36 +0,0 @@
-import unittest
-from oeqa.sdk.case import OESDKTestCase
-from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
-
-
-class BuildLzipTest(OESDKTestCase):
- td_vars = ['DATETIME']
-
- @classmethod
- def setUpClass(self):
- dl_dir = self.td.get('DL_DIR', None)
-
- self.project = SDKBuildProject(self.tc.sdk_dir + "/lzip/", self.tc.sdk_env,
- "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz",
- self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
- self.project.download_archive()
-
- machine = self.td.get("MACHINE")
-
- if not (self.tc.hasTargetPackage("packagegroup-cross-canadian-%s" % machine) or
- self.tc.hasTargetPackage("gcc")):
- raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain")
-
- def test_lzip(self):
- self.assertEqual(self.project.run_configure(), 0,
- msg="Running configure failed")
-
- self.assertEqual(self.project.run_make(), 0,
- msg="Running make failed")
-
- self.assertEqual(self.project.run_install(), 0,
- msg="Running make install failed")
-
- @classmethod
- def tearDownClass(self):
- self.project.clean()
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/gcc.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/gcc.py
deleted file mode 100644
index d11f4b63f..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/gcc.py
+++ /dev/null
@@ -1,43 +0,0 @@
-import os
-import shutil
-import unittest
-
-from oeqa.core.utils.path import remove_safe
-from oeqa.sdk.case import OESDKTestCase
-
-class GccCompileTest(OESDKTestCase):
- td_vars = ['MACHINE']
-
- @classmethod
- def setUpClass(self):
- files = {'test.c' : self.tc.files_dir, 'test.cpp' : self.tc.files_dir,
- 'testsdkmakefile' : self.tc.sdk_files_dir}
- for f in files:
- shutil.copyfile(os.path.join(files[f], f),
- os.path.join(self.tc.sdk_dir, f))
-
- def setUp(self):
- machine = self.td.get("MACHINE")
- if not (self.tc.hasTargetPackage("packagegroup-cross-canadian-%s" % machine) or
- self.tc.hasTargetPackage("gcc")):
- raise unittest.SkipTest("GccCompileTest class: SDK doesn't contain a cross-canadian toolchain")
-
- def test_gcc_compile(self):
- self._run('$CC %s/test.c -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
-
- def test_gpp_compile(self):
- self._run('$CXX %s/test.c -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
-
- def test_gpp2_compile(self):
- self._run('$CXX %s/test.cpp -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
-
- def test_make(self):
- self._run('cd %s; make -f testsdkmakefile' % self.tc.sdk_dir)
-
- @classmethod
- def tearDownClass(self):
- files = [os.path.join(self.tc.sdk_dir, f) \
- for f in ['test.c', 'test.cpp', 'test.o', 'test',
- 'testsdkmakefile']]
- for f in files:
- remove_safe(f)
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/perl.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/perl.py
deleted file mode 100644
index 808567811..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/perl.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import os
-import shutil
-import unittest
-
-from oeqa.core.utils.path import remove_safe
-from oeqa.sdk.case import OESDKTestCase
-
-class PerlTest(OESDKTestCase):
- @classmethod
- def setUpClass(self):
- if not (self.tc.hasHostPackage("nativesdk-perl") or
- self.tc.hasHostPackage("perl-native")):
- raise unittest.SkipTest("No perl package in the SDK")
-
- for f in ['test.pl']:
- shutil.copyfile(os.path.join(self.tc.files_dir, f),
- os.path.join(self.tc.sdk_dir, f))
- self.testfile = os.path.join(self.tc.sdk_dir, "test.pl")
-
- def test_perl_exists(self):
- self._run('which perl')
-
- def test_perl_works(self):
- self._run('perl %s' % self.testfile)
-
- @classmethod
- def tearDownClass(self):
- remove_safe(self.testfile)
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/python.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/python.py
deleted file mode 100644
index 72dfcc72b..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/cases/python.py
+++ /dev/null
@@ -1,32 +0,0 @@
-import os
-import shutil
-import unittest
-
-from oeqa.core.utils.path import remove_safe
-from oeqa.sdk.case import OESDKTestCase
-
-class PythonTest(OESDKTestCase):
- @classmethod
- def setUpClass(self):
- if not (self.tc.hasHostPackage("nativesdk-python") or
- self.tc.hasHostPackage("python-native")):
- raise unittest.SkipTest("No python package in the SDK")
-
- for f in ['test.py']:
- shutil.copyfile(os.path.join(self.tc.files_dir, f),
- os.path.join(self.tc.sdk_dir, f))
-
- def test_python_exists(self):
- self._run('which python')
-
- def test_python_stdout(self):
- output = self._run('python %s/test.py' % self.tc.sdk_dir)
- self.assertEqual(output.strip(), "the value of a is 0.01", msg="Incorrect output: %s" % output)
-
- def test_python_testfile(self):
- self._run('ls /tmp/testfile.python')
-
- @classmethod
- def tearDownClass(self):
- remove_safe("%s/test.py" % self.tc.sdk_dir)
- remove_safe("/tmp/testfile.python")
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/context.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/context.py
deleted file mode 100644
index b3d7c7518..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/context.py
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-import os
-import sys
-import glob
-import re
-
-from oeqa.core.context import OETestContextExecutor
-from oeqa.core.threaded import OETestContextThreaded
-
-class OESDKTestContext(OETestContextThreaded):
- sdk_files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files")
-
- def __init__(self, td=None, logger=None, sdk_dir=None, sdk_env=None,
- target_pkg_manifest=None, host_pkg_manifest=None):
- super(OESDKTestContext, self).__init__(td, logger)
-
- self.sdk_dir = sdk_dir
- self.sdk_env = sdk_env
- self.target_pkg_manifest = target_pkg_manifest
- self.host_pkg_manifest = host_pkg_manifest
-
- def _hasPackage(self, manifest, pkg):
- for host_pkg in manifest.keys():
- if re.search(pkg, host_pkg):
- return True
- return False
-
- def hasHostPackage(self, pkg):
- return self._hasPackage(self.host_pkg_manifest, pkg)
-
- def hasTargetPackage(self, pkg):
- return self._hasPackage(self.target_pkg_manifest, pkg)
-
-class OESDKTestContextExecutor(OETestContextExecutor):
- _context_class = OESDKTestContext
-
- name = 'sdk'
- help = 'sdk test component'
- description = 'executes sdk tests'
-
- default_cases = [os.path.join(os.path.abspath(os.path.dirname(__file__)),
- 'cases')]
- default_test_data = None
-
- def register_commands(self, logger, subparsers):
- super(OESDKTestContextExecutor, self).register_commands(logger, subparsers)
-
- sdk_group = self.parser.add_argument_group('sdk options')
- sdk_group.add_argument('--sdk-env', action='store',
- help='sdk environment')
- sdk_group.add_argument('--target-manifest', action='store',
- help='sdk target manifest')
- sdk_group.add_argument('--host-manifest', action='store',
- help='sdk host manifest')
-
- sdk_dgroup = self.parser.add_argument_group('sdk display options')
- sdk_dgroup.add_argument('--list-sdk-env', action='store_true',
- default=False, help='sdk list available environment')
-
- # XXX this option is required but argparse_oe has a bug handling
- # required options, seems that don't keep track of already parsed
- # options
- sdk_rgroup = self.parser.add_argument_group('sdk required options')
- sdk_rgroup.add_argument('--sdk-dir', required=False, action='store',
- help='sdk installed directory')
-
- @staticmethod
- def _load_manifest(manifest):
- pkg_manifest = {}
- if manifest:
- with open(manifest) as f:
- for line in f:
- (pkg, arch, version) = line.strip().split()
- pkg_manifest[pkg] = (version, arch)
-
- return pkg_manifest
-
- def _process_args(self, logger, args):
- super(OESDKTestContextExecutor, self)._process_args(logger, args)
-
- self.tc_kwargs['init']['sdk_dir'] = args.sdk_dir
- self.tc_kwargs['init']['sdk_env'] = self.sdk_env
- self.tc_kwargs['init']['target_pkg_manifest'] = \
- OESDKTestContextExecutor._load_manifest(args.target_manifest)
- self.tc_kwargs['init']['host_pkg_manifest'] = \
- OESDKTestContextExecutor._load_manifest(args.host_manifest)
-
- @staticmethod
- def _get_sdk_environs(sdk_dir):
- sdk_env = {}
-
- environ_pattern = sdk_dir + '/environment-setup-*'
- full_sdk_env = glob.glob(sdk_dir + '/environment-setup-*')
- for env in full_sdk_env:
- m = re.search('environment-setup-(.*)', env)
- if m:
- sdk_env[m.group(1)] = env
-
- return sdk_env
-
- def _display_sdk_envs(self, log, args, sdk_envs):
- log("Available SDK environments at directory %s:" \
- % args.sdk_dir)
- log("")
- for env in sdk_envs:
- log(env)
-
- def run(self, logger, args):
- import argparse_oe
-
- if not args.sdk_dir:
- raise argparse_oe.ArgumentUsageError("No SDK directory "\
- "specified please do, --sdk-dir SDK_DIR", self.name)
-
- sdk_envs = OESDKTestContextExecutor._get_sdk_environs(args.sdk_dir)
- if not sdk_envs:
- raise argparse_oe.ArgumentUsageError("No available SDK "\
- "enviroments found at %s" % args.sdk_dir, self.name)
-
- if args.list_sdk_env:
- self._display_sdk_envs(logger.info, args, sdk_envs)
- sys.exit(0)
-
- if not args.sdk_env in sdk_envs:
- self._display_sdk_envs(logger.error, args, sdk_envs)
- raise argparse_oe.ArgumentUsageError("No valid SDK "\
- "environment (%s) specified" % args.sdk_env, self.name)
-
- self.sdk_env = sdk_envs[args.sdk_env]
- return super(OESDKTestContextExecutor, self).run(logger, args)
-
-_executor_class = OESDKTestContextExecutor
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/files/testsdkmakefile b/import-layers/yocto-poky/meta/lib/oeqa/sdk/files/testsdkmakefile
deleted file mode 100644
index fb05f822f..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/files/testsdkmakefile
+++ /dev/null
@@ -1,5 +0,0 @@
-test: test.o
- $(CC) -o test test.o -lm
-test.o: test.c
- $(CC) -c test.c
-
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/utils/__init__.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/utils/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/utils/__init__.py
+++ /dev/null
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py b/import-layers/yocto-poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
deleted file mode 100644
index 4e251142d..000000000
--- a/import-layers/yocto-poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-import os
-import subprocess
-
-from oeqa.utils.buildproject import BuildProject
-
-class SDKBuildProject(BuildProject):
- def __init__(self, testpath, sdkenv, uri, testlogdir, builddatetime,
- foldername=None, dl_dir=None):
- self.sdkenv = sdkenv
- self.testdir = testpath
- self.targetdir = testpath
- os.makedirs(testpath, exist_ok=True)
- self.datetime = builddatetime
- self.testlogdir = testlogdir
- os.makedirs(self.testlogdir, exist_ok=True)
- self.logfile = os.path.join(self.testlogdir, "sdk_target_log.%s" % self.datetime)
- BuildProject.__init__(self, uri, foldername, tmpdir=testpath, dl_dir=dl_dir)
-
- def download_archive(self):
-
- self._download_archive()
-
- cmd = 'tar xf %s%s -C %s' % (self.targetdir, self.archive, self.targetdir)
- subprocess.check_output(cmd, shell=True)
-
- #Change targetdir to project folder
- self.targetdir = os.path.join(self.targetdir, self.fname)
-
- def run_configure(self, configure_args='', extra_cmds=''):
- return super(SDKBuildProject, self).run_configure(configure_args=(configure_args or '$CONFIGURE_FLAGS'), extra_cmds=extra_cmds)
-
- def run_install(self, install_args=''):
- return super(SDKBuildProject, self).run_install(install_args=(install_args or "DESTDIR=%s/../install" % self.targetdir))
-
- def log(self, msg):
- if self.logfile:
- with open(self.logfile, "a") as f:
- f.write("%s\n" % msg)
-
- def _run(self, cmd):
- self.log("Running . %s; " % self.sdkenv + cmd)
- return subprocess.call(". %s; " % self.sdkenv + cmd, shell=True)
OpenPOWER on IntegriCloud