From 59a99cd8661af594ee0c33e086578d29d50a6268 Mon Sep 17 00:00:00 2001 From: Francisco Pedraza Date: Wed, 25 Jan 2017 11:07:34 -0600 Subject: oeqa/sdk: Updates sanity tests for minimal eSDK 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 Signed-off-by: Ross Burton --- 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(+) (limited to 'meta/lib') diff --git a/meta/lib/oeqa/sdk/cases/buildcvs.py b/meta/lib/oeqa/sdk/cases/buildcvs.py index 6222a8e2bf..8cbbca12a1 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 532b5de8e6..0bd00d125a 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 da0050c606..eda0d8122b 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) -- cgit 1.2.3-korg