summaryrefslogtreecommitdiff
path: root/test/unit-test/project.yml
diff options
context:
space:
mode:
authorHiFiPhile <[email protected]>2024-04-01 12:35:57 +0200
committerHiFiPhile <[email protected]>2024-04-01 12:35:57 +0200
commita1f01fcbe0fecb8d1783a105d7f22cba032dfced (patch)
treec8174923ef0bdd1016f55ed731df4c2df3257940 /test/unit-test/project.yml
parentdd0350f5499de586a3405fdcec632f059fd7534e (diff)
parent82dfe95655c7b7564363a2d5cb2f5e32d431b223 (diff)
Merge remote-tracking branch 'upstream/master' into pr/1702
Diffstat (limited to 'test/unit-test/project.yml')
-rw-r--r--test/unit-test/project.yml122
1 files changed, 122 insertions, 0 deletions
diff --git a/test/unit-test/project.yml b/test/unit-test/project.yml
new file mode 100644
index 000000000..82528f68c
--- /dev/null
+++ b/test/unit-test/project.yml
@@ -0,0 +1,122 @@
+---
+
+# 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:
+ :use_exceptions: TRUE
+ :use_mocks: TRUE
+ :use_test_preprocessor: TRUE
+ :use_auxiliary_dependencies: TRUE
+ :use_deep_dependencies: TRUE
+ :build_root: _build
+# :release_build: TRUE
+ :test_file_prefix: test_
+ :which_ceedling: vendor/ceedling
+ :ceedling_version: 0.31.1
+ :default_tasks:
+ - test:all
+
+#:test_build:
+# :use_assembly: TRUE
+
+#:release_build:
+# :output: MyApp.out
+# :use_assembly: FALSE
+
+:environment:
+
+:extension:
+ :executable: .out
+
+:paths:
+ :test:
+ - +:test/**
+ - -:test/support
+ :source:
+ - ../../src/**
+ :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)
+ :common: &common_defines []
+ :test:
+ - _UNITY_TEST_
+ #- *common_defines
+ :test_preprocess:
+ - _UNITY_TEST_
+ #- *common_defines
+
+:cmock:
+ :mock_prefix: mock_
+ :when_no_prototypes: :warn
+ :enforce_strict_ordering: TRUE
+ :plugins:
+ - :ignore
+ - :ignore_arg
+ - :return_thru_ptr
+ - :callback
+ - :array
+ :treat_as:
+ uint8: HEX8
+ uint16: HEX16
+ uint32: UINT32
+ int8: INT8
+ bool: UINT8
+
+# 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
+:gcov:
+ :html_report: TRUE
+ :html_report_type: detailed
+ :html_medium_threshold: 75
+ :html_high_threshold: 90
+ :xml_report: FALSE
+
+: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)
+
+# 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
+ - colour_report
+...