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)
|
||||
- [Building tests](#building-tests)
|
||||
- [Building process](#building-process)
|
||||
- [App config](#app-config)
|
||||
- [Running tests](#running-tests)
|
||||
- [Writing tests](#writing-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. 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
|
||||
|
||||
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"
|
||||
% (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
|
||||
for path in all_paths:
|
||||
all_tests.update(find_tests(path, mcu, toolchain, options.options,
|
||||
|
@ -184,7 +193,6 @@ if __name__ == '__main__':
|
|||
verbose=options.verbose,
|
||||
notify=notify,
|
||||
archive=False,
|
||||
remove_config_header_file=True,
|
||||
app_config=options.app_config)
|
||||
|
||||
library_build_success = True
|
||||
|
|
Loading…
Reference in New Issue