[OE-core] [PATCH v1] oeqa/sdk: Updates sanity tests for minimal eSDK
Francisco Pedraza
francisco.j.pedraza.gonzalez at intel.com
Wed Jan 25 17:07:34 UTC 2017
Updates sanity tests to cope with minimal eSDK installer
1. Skips the validation of sanity if packagegroup-cross-canadian is in
host package.
2. Skips if SDK does not include toolchain at cases/devtool.py
This should fix [YOCTO #10794]
Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez at intel.com>
---
meta/lib/oeqa/sdk/cases/buildcvs.py | 5 +++++
meta/lib/oeqa/sdk/cases/buildiptables.py | 7 +++++++
meta/lib/oeqa/sdkext/cases/devtool.py | 7 +++++++
3 files changed, 19 insertions(+)
diff --git a/meta/lib/oeqa/sdk/cases/buildcvs.py b/meta/lib/oeqa/sdk/cases/buildcvs.py
index 6222a8e..8cbbca1 100644
--- a/meta/lib/oeqa/sdk/cases/buildcvs.py
+++ b/meta/lib/oeqa/sdk/cases/buildcvs.py
@@ -1,3 +1,4 @@
+import unittest
from oeqa.sdk.case import OESDKTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
@@ -13,6 +14,10 @@ class BuildCvsTest(OESDKTestCase):
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_cvs(self):
self.assertEqual(self.project.run_configure(), 0,
msg="Running configure failed")
diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildiptables.py
index 532b5de..0bd00d1 100644
--- a/meta/lib/oeqa/sdk/cases/buildiptables.py
+++ b/meta/lib/oeqa/sdk/cases/buildiptables.py
@@ -1,6 +1,8 @@
+import unittest
from oeqa.sdk.case import OESDKTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
+
class BuildIptablesTest(OESDKTestCase):
td_vars = ['DATETIME']
@@ -13,6 +15,11 @@ class BuildIptablesTest(OESDKTestCase):
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_iptables(self):
self.assertEqual(self.project.run_configure(), 0,
msg="Running configure failed")
diff --git a/meta/lib/oeqa/sdkext/cases/devtool.py b/meta/lib/oeqa/sdkext/cases/devtool.py
index da0050c..eda0d81 100644
--- a/meta/lib/oeqa/sdkext/cases/devtool.py
+++ b/meta/lib/oeqa/sdkext/cases/devtool.py
@@ -7,6 +7,7 @@ import subprocess
from oeqa.sdkext.case import OESDKExtTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
+from oeqa.core.decorator.data import skipIfNotDataVar
class DevtoolTest(OESDKExtTestCase):
@classmethod
@@ -51,21 +52,25 @@ class DevtoolTest(OESDKExtTestCase):
@OETestID(1473)
@OETestDepends(['test_devtool_location'])
+ @skipIfNotDataVar('SDK_INCLUDE_TOOLCHAIN', '1', 'SDK does not include toolchain')
def test_devtool_build_make(self):
self._test_devtool_build(self.myapp_dst)
@OETestID(1474)
@OETestDepends(['test_devtool_location'])
+ @skipIfNotDataVar('SDK_INCLUDE_TOOLCHAIN', '1', 'SDK does not include toolchain')
def test_devtool_build_esdk_package(self):
self._test_devtool_build_package(self.myapp_dst)
@OETestID(1479)
@OETestDepends(['test_devtool_location'])
+ @skipIfNotDataVar('SDK_INCLUDE_TOOLCHAIN', '1', 'SDK does not include toolchain')
def test_devtool_build_cmake(self):
self._test_devtool_build(self.myapp_cmake_dst)
@OETestID(1482)
@OETestDepends(['test_devtool_location'])
+ @skipIfNotDataVar('SDK_INCLUDE_TOOLCHAIN', '1', 'SDK does not include toolchain')
def test_extend_autotools_recipe_creation(self):
req = 'https://github.com/rdfa/librdfa'
recipe = "bbexample"
@@ -80,6 +85,7 @@ class DevtoolTest(OESDKExtTestCase):
@OETestID(1484)
@OETestDepends(['test_devtool_location'])
+ @skipIfNotDataVar('SDK_INCLUDE_TOOLCHAIN', '1', 'SDK does not include toolchain')
def test_devtool_kernelmodule(self):
docfile = 'https://github.com/umlaeute/v4l2loopback.git'
recipe = 'v4l2loopback-driver'
@@ -94,6 +100,7 @@ class DevtoolTest(OESDKExtTestCase):
@OETestID(1478)
@OETestDepends(['test_devtool_location'])
+ @skipIfNotDataVar('SDK_INCLUDE_TOOLCHAIN', '1', 'SDK does not include toolchain')
def test_recipes_for_nodejs(self):
package_nodejs = "npm://registry.npmjs.org;name=winston;version=2.2.0"
self._run('devtool add %s ' % package_nodejs)
--
2.5.0
More information about the Openembedded-core
mailing list