mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #2712 from bridadan/test-building-and-config
Fixing constant cleaning when compiling testspull/2813/head
commit
93e9b486aa
|
@ -10,6 +10,7 @@ The way tests are run and compiled in mbed OS 5 is substantially different from
|
||||||
- [Test names](#test-names)
|
- [Test names](#test-names)
|
||||||
- [Building tests](#building-tests)
|
- [Building tests](#building-tests)
|
||||||
- [Building process](#building-process)
|
- [Building process](#building-process)
|
||||||
|
- [App config](#app-config)
|
||||||
- [Running tests](#running-tests)
|
- [Running tests](#running-tests)
|
||||||
- [Writing tests](#writing-tests)
|
- [Writing tests](#writing-tests)
|
||||||
- [Debugging tests](#debugging-tests)
|
- [Debugging tests](#debugging-tests)
|
||||||
|
@ -73,6 +74,12 @@ The full build process is:
|
||||||
1. For each discovered test, build all of its source files and link it with the non-test code that was built in step 1.
|
1. For each discovered test, build all of its source files and link it with the non-test code that was built in step 1.
|
||||||
1. If specified, create a test specification file and place it in the given directory for use by testing tools. This is placed in the build directory by default when using mbed CLI.
|
1. If specified, create a test specification file and place it in the given directory for use by testing tools. This is placed in the build directory by default when using mbed CLI.
|
||||||
|
|
||||||
|
#### App config
|
||||||
|
|
||||||
|
When building an mbed application, the presence of a `mbed_app.json` file allows you to set or override different config settings from libraries and targets. However, because the tests share a common build, this can cause issues when tests have different configurations that affect the OS.
|
||||||
|
|
||||||
|
If you need to use app config, this must be set via the `--app-config` option when calling `mbed test`. **If this option is not specified, the build system will ignore all `mbed_app.json` files and use the default config values.**
|
||||||
|
|
||||||
### Running tests
|
### Running tests
|
||||||
|
|
||||||
Automated tests can be run easily through mbed CLI. For information on using mbed CLI, please see its documentation.
|
Automated tests can be run easily through mbed CLI. For information on using mbed CLI, please see its documentation.
|
||||||
|
|
|
@ -121,6 +121,15 @@ if __name__ == '__main__':
|
||||||
"Currently set search path: %s"
|
"Currently set search path: %s"
|
||||||
% (toolchain, search_path))
|
% (toolchain, search_path))
|
||||||
|
|
||||||
|
# App config
|
||||||
|
# Disable finding `mbed_app.json` files in the source tree if not
|
||||||
|
# explicitly defined on the command line. Config system searches for
|
||||||
|
# `mbed_app.json` files if `app_config` is None, but will set the
|
||||||
|
# app config data to an empty dictionary if the path value is another
|
||||||
|
# falsey value besides None.
|
||||||
|
if options.app_config is None:
|
||||||
|
options.app_config = ''
|
||||||
|
|
||||||
# Find all tests in the relevant paths
|
# Find all tests in the relevant paths
|
||||||
for path in all_paths:
|
for path in all_paths:
|
||||||
all_tests.update(find_tests(path, mcu, toolchain, options.options,
|
all_tests.update(find_tests(path, mcu, toolchain, options.options,
|
||||||
|
@ -184,7 +193,6 @@ if __name__ == '__main__':
|
||||||
verbose=options.verbose,
|
verbose=options.verbose,
|
||||||
notify=notify,
|
notify=notify,
|
||||||
archive=False,
|
archive=False,
|
||||||
remove_config_header_file=True,
|
|
||||||
app_config=options.app_config)
|
app_config=options.app_config)
|
||||||
|
|
||||||
library_build_success = True
|
library_build_success = True
|
||||||
|
|
Loading…
Reference in New Issue