mbed-os/workspace_tools
Przemek Wirkus 4c45ed1cb1 Parallel functionality, marge conflicts resolved (v2)
Description
===========

Added thread model for function SingleTest::execute where for each target we
have separate thread.

Added new experimental feature. Currently we are only building in parallel
mbed SDK and libraries with dependencies.
Each MUT is flashed separately, but with this new feature we are able to
flash multiple boards at the same time and get results in parallel.

Test execution time is reduced by n where n is number of MUTs (MUT: mbed under
test).

using --parallel means that:
* separate thread will be spawned to build mbed SDK and dependencies (libraries)
    for each unique target with all declared toolchains.
    E.g:
            Thread(n==1):   LPC1768:        ARM, uARM, GCC_ARM
            Thread(n==2):   K64F:           ARM, GCC_ARM
            Thread(n==3):   NUCLEO_X:       uARM
    .
    .
    .
    Thread(4): for toolchain in NUCLEO_Z[toolchains]
               -> build mbed SDK
                            -> build libs
                             -> build project
                              -> run MUT testrunner
                                    return test results for NUCLEO_Z[toolchain]

Done:
1. Added option --parallel.
2. Decoupled execute function so it can be run in parallel with other execute
    functions.
3. Thread join via Queue, not Thread::Join() to avoid deadlocks or waits for
    particular thread to finish.
4. All builds are in parallel, but because each target and library for each
    toolchain have different directory we do not worry about building in
    parallel and compiler collisions.

Missing:
1. No sync for 'print' (TODO).
2. No sync on test result structures - not needed because we only append to
    them (?).

Experimental --parallel bugfix: self.test_suite_properties_ext dict was not
populated with target name.
2015-03-12 09:55:11 +00:00
..
buildbot Main change: added cleaner HTML report to test sumary 2014-03-10 14:54:33 +00:00
data spaces removal - workspace tools (not tmpl) 2014-05-29 15:42:03 +02:00
dev spaces removal - workspace tools (not tmpl) 2014-05-29 15:42:03 +02:00
export removed unnecessary libs 2015-03-05 16:13:58 +01:00
host_tests Merge pull request #929 from PrzemekWirkus/mbed_assert_3 2015-02-26 08:53:35 +00:00
toolchains Merge pull request #941 from GustavWi/iar_mbed 2015-03-04 10:48:42 +01:00
__init__.py Add license to workspace_tools files 2013-08-06 14:38:00 +01:00
build.py Modified make.py so now parameter --silent suppreses Copy / Compile messages leaaving only Warning / Errors / build product info 2014-12-03 10:53:50 +00:00
build_api.py Merge pull request #900 from PrzemekWirkus/host_test_autodetection 2015-02-16 09:37:56 +00:00
build_release.py Merge pull request #949 from GustavWi/iar_mbed 2015-03-05 14:05:06 +01:00
build_travis.py Travis - NRF51822 addition 2015-02-12 10:33:06 +00:00
export_test.py Modify to support GCC. (tools files) 2015-02-26 16:28:58 +09:00
hooks.py Added command line hooking option 2013-12-05 13:48:42 +02:00
libraries.py Added extra includes for CPPUTEST library - in CppUTest library structure we only include from include/CppUTest and we do not use other functionality 2014-11-11 15:31:18 +00:00
make.py Add to GCC_CR 2015-01-04 12:02:01 +09:00
options.py [MAKE.py] [BUILD.py] some minor 2014-10-31 13:59:26 +01:00
patch.py spaces removal - workspace tools (not tmpl) 2014-05-29 15:42:03 +02:00
paths.py Added extra includes for CPPUTEST library - in CppUTest library structure we only include from include/CppUTest and we do not use other functionality 2014-11-11 15:31:18 +00:00
project.py [workspace_tools] project.py - some more changes ... 2015-01-27 10:50:51 +01:00
settings.py fix a minor typo in an error message 2014-11-15 08:47:35 +00:00
singletest.py Parallel functionality, marge conflicts resolved (v2) 2015-03-12 09:55:11 +00:00
size.py spaces removal - workspace tools (not tmpl) 2014-05-29 15:42:03 +02:00
synch.py Fixed case for FATFileSystem 2014-08-28 13:14:38 +01:00
targets.py Add BOOT and OTA for Seeed Tiny BLE target 2015-03-06 20:31:28 +02:00
test_api.py Parallel functionality, marge conflicts resolved (v2) 2015-03-12 09:55:11 +00:00
test_db.py Added test output to test_entry in database so users can browse between results and see console output 2014-09-01 08:43:45 +01:00
test_exporters.py Refactoring of report exporter to support HTML and JUNIT. Changed HTML result report. 2014-10-15 17:02:33 +01:00
test_mysql.py Added test output to test_entry in database so users can browse between results and see console output 2014-09-01 08:43:45 +01:00
test_webapi.py Small comment indent in test web api file 2014-08-13 10:27:07 +01:00
tests.py Add AnalogIn potentiometer test for A0, A1 as present on the mbed application shield and automate MMA7660 test. 2015-02-20 04:15:26 +02:00
utils.py Removed exit(-1) when checking for missing modules. Instead now it will be prompted to used when singletest starts 2014-10-16 14:34:37 +01:00