# Copyright (C) 2013 - 2016 Intel Corporation # # Released under the MIT license (see COPYING.MIT) # testsdk.bbclass enables testing for SDK and Extensible SDK # # To run SDK tests, run the commands: # $ bitbake -c populate_sdk # $ bitbake -c testsdk # # To run eSDK tests, run the commands: # $ bitbake -c populate_sdk_ext # $ bitbake -c testsdkext # # where "" is an image like core-image-sato. TESTSDK_CLASS_NAME ?= "oeqa.sdk.testsdk.TestSDK" TESTSDKEXT_CLASS_NAME ?= "oeqa.sdkext.testsdk.TestSDKExt" def import_and_run(name, d): import importlib class_name = d.getVar(name) if class_name: module, cls = class_name.rsplit('.', 1) m = importlib.import_module(module) c = getattr(m, cls)() c.run(d) else: bb.warn('No tests were run because %s did not define a class' % name) import_and_run[vardepsexclude] = "DATETIME BB_ORIGENV" python do_testsdk() { import_and_run('TESTSDK_CLASS_NAME', d) } addtask testsdk do_testsdk[nostamp] = "1" python do_testsdkext() { import_and_run('TESTSDKEXT_CLASS_NAME', d) } addtask testsdkext do_testsdkext[nostamp] = "1" python () { if oe.types.boolean(d.getVar("TESTIMAGE_AUTO") or "False"): bb.build.addtask("testsdk", None, "do_populate_sdk", d) bb.build.addtask("testsdkext", None, "do_populate_sdk_ext", d) }