[oe-commits] [openembedded-core] 04/14: testsdk: Handle minimal eSDK and avoid download costs

git at git.openembedded.org git at git.openembedded.org
Wed Mar 1 16:12:03 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 866b55905eabf93f45c10a08d5b53c459ac4c056
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Wed Mar 1 01:12:10 2017 +0000

    testsdk: Handle minimal eSDK and avoid download costs
    
    When using a minimal eSDK, testing currently fails as the sdk isn't
    populated. We therefore setup the eSDK under test to point at local
    sstate and execute a command to ensure the toolchain is populated
    since most of the tests depend on this being present.
    
    At the same time, add in a link to DL_DIR through own-mirrors so
    that tests which fetch source (e.g. the kernel module one) can
    use the local stash. This cuts test execution of the kernel module
    test from 2000s to 120s.
    
    We did try using DL_DIR directly but that causes uninative issues
    requiring other workarounds so own-mirrors is neater.
    
    Together these fixes unbreak eSDK testing on the autobuilder.
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/testsdk.bbclass | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 75b4027..802e57f 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -149,6 +149,17 @@ def testsdkext_main(d):
         bb.plain("Extensible SDK testing environment: %s" % s)
 
         sdk_env = sdk_envs[s]
+
+        # Use our own SSTATE_DIR and DL_DIR so that updates to the eSDK come from our sstate cache
+        # and we don't spend hours downloading kernels for the kernel module test
+        with open(os.path.join(sdk_dir, 'conf', 'local.conf'), 'a+') as f:
+            f.write('SSTATE_MIRRORS = "file://.* file://%s/PATH"\n' % test_data.get('SSTATE_DIR'))
+            f.write('SOURCE_MIRROR_URL = "file://%s"\n' % test_data.get('DL_DIR'))
+            f.write('INHERIT += "own-mirrors"')
+
+        # We need to do this in case we have a minimal SDK
+        subprocess.check_output(". %s > /dev/null; devtool sdk-install meta-extsdk-toolchain" % sdk_env, cwd=sdk_dir, shell=True)
+
         tc = OESDKExtTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
             sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
             host_pkg_manifest=host_pkg_manifest)

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list