passkey_fw/test/unit-test/project.yml

122 lines
3.2 KiB
YAML
Raw Normal View History

2019-06-10 11:18:27 +02:00
---
# Notes:
# Sample project C code is not presently written to produce a release artifact.
# As such, release build options are disabled.
# This sample, therefore, only demonstrates running a collection of unit tests.
:project:
2019-06-10 12:42:00 +02:00
:use_exceptions: TRUE
2019-11-01 07:42:41 +01:00
:use_mocks: TRUE
2019-06-10 11:18:27 +02:00
:use_test_preprocessor: TRUE
:use_auxiliary_dependencies: TRUE
2019-10-30 06:24:07 +01:00
:use_deep_dependencies: TRUE
2019-06-10 12:42:00 +02:00
:build_root: _build
2019-06-10 11:18:27 +02:00
# :release_build: TRUE
:test_file_prefix: test_
:which_ceedling: vendor/ceedling
2022-12-08 03:14:38 +01:00
:ceedling_version: 0.31.1
2019-06-10 11:18:27 +02:00
:default_tasks:
- test:all
2019-11-01 11:49:46 +01:00
#:test_build:
# :use_assembly: TRUE
2019-06-10 11:18:27 +02:00
#:release_build:
# :output: MyApp.out
# :use_assembly: FALSE
:environment:
:extension:
:executable: .out
:paths:
:test:
- +:test/**
- -:test/support
:source:
2022-12-08 03:59:02 +01:00
- ../../src/**
2019-06-10 11:18:27 +02:00
:support:
- test/support
:defines:
# in order to add common defines:
# 1) remove the trailing [] from the :common: section
# 2) add entries to the :common: section (e.g. :test: has TEST defined)
2019-11-01 11:49:46 +01:00
:common: &common_defines
- _UNITY_TEST_
2019-06-10 11:18:27 +02:00
:test:
- *common_defines
:test_preprocess:
- *common_defines
:cmock:
:mock_prefix: mock_
:when_no_prototypes: :warn
:enforce_strict_ordering: TRUE
:plugins:
- :ignore
2019-11-01 09:25:54 +01:00
- :ignore_arg
2019-11-01 11:53:37 +01:00
- :return_thru_ptr
2019-06-10 11:18:27 +02:00
- :callback
- :array
2019-06-10 11:18:27 +02:00
:treat_as:
uint8: HEX8
uint16: HEX16
uint32: UINT32
int8: INT8
bool: UINT8
2019-11-01 11:49:46 +01:00
# Add -gcov to the plugins list to make sure of the gcov plugin
# You will need to have gcov and gcovr both installed to make it work.
# For more information on these options, see docs in plugins/gcov
2019-06-10 11:18:27 +02:00
:gcov:
2019-11-01 11:49:46 +01:00
:html_report: TRUE
:html_report_type: detailed
:html_medium_threshold: 75
:html_high_threshold: 90
:xml_report: FALSE
2019-06-10 11:18:27 +02:00
:tools:
:test_compiler:
:executable: clang
:name: 'clang compiler'
:arguments:
- -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE #expands to -I search paths
- -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR #expands to -I search paths
- -D$: COLLECTION_DEFINES_TEST_AND_VENDOR #expands to all -D defined symbols
- -fsanitize=address
- -c ${1} #source code input file (Ruby method call param list sub)
- -o ${2} #object file output (Ruby method call param list sub)
:test_linker:
:executable: clang
:name: 'clang linker'
:arguments:
- -fsanitize=address
- ${1} #list of object files to link (Ruby method call param list sub)
- -o ${2} #executable file output (Ruby method call param list sub)
2019-06-10 11:18:27 +02:00
# LIBRARIES
# These libraries are automatically injected into the build process. Those specified as
# common will be used in all types of builds. Otherwise, libraries can be injected in just
# tests or releases. These options are MERGED with the options in supplemental yaml files.
:libraries:
:placement: :end
:flag: "${1}" # or "-L ${1}" for example
:common: &common_libraries []
:test:
- *common_libraries
:release:
- *common_libraries
:plugins:
:load_paths:
- vendor/ceedling/plugins
:enabled:
- stdout_pretty_tests_report
- module_generator
- raw_output_report
2019-11-01 11:49:46 +01:00
- colour_report
2019-06-10 11:18:27 +02:00
...