[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