easybuild.tools.testing module

Module for doing parallel builds. This uses a PBS-like cluster. You should be able to submit jobs (which can have dependencies)

Support for PBS is provided via the PbsJob class. If you want you could create other job classes and use them here.

author:Toon Willems (Ghent University)
author:Kenneth Hoste (Ghent University)
author:Stijn De Weirdt (Ghent University)
author:Ward Poelmans (Ghent University)
easybuild.tools.testing.create_test_report(msg, ecs_with_res, init_session_state, pr_nr=None, gist_log=False)

Create test report for easyconfigs PR, in Markdown format.

easybuild.tools.testing.overall_test_report(ecs_with_res, orig_cnt, success, msg, init_session_state)

Upload/dump overall test report :param ecs_with_res: processed easyconfigs with build result (success/failure) :param orig_cnt: number of original easyconfig paths :param success: boolean indicating whether all builds were successful :param msg: message to be included in test report :param init_session_state: initial session state info to include in test report

easybuild.tools.testing.post_easyconfigs_pr_test_report(pr_nr, test_report, msg, init_session_state, success)

Post test report in a gist, and submit comment in easyconfigs PR.

easybuild.tools.testing.regtest(easyconfig_paths, modtool, build_specs=None)

Run regression test, using easyconfigs available in given path :param easyconfig_paths: path of easyconfigs to run regtest on :param modtool: ModulesTool instance to use :param build_specs: dictionary specifying build specifications (e.g. version, toolchain, ...)


Get session state: timestamp, dump of environment, system info.

easybuild.tools.testing.upload_test_report_as_gist(test_report, descr=None, fn=None)

Upload test report as a gist.