2019-06-10 16:18:27 +07: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 17:42:00 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  :use_exceptions: TRUE
							 | 
						
					
						
							
								
									
										
										
										
											2019-11-01 13:42:41 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  :use_mocks: TRUE
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :use_test_preprocessor: TRUE
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :use_auxiliary_dependencies: TRUE
							 | 
						
					
						
							
								
									
										
										
										
											2019-10-30 12:24:07 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  :use_deep_dependencies: TRUE
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 17:42:00 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  :build_root: _build
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#  :release_build: TRUE
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :test_file_prefix: test_
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :which_ceedling: vendor/ceedling
							 | 
						
					
						
							
								
									
										
										
										
											2022-12-08 09:14:38 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  :ceedling_version: 0.31.1
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :default_tasks:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - test:all
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2019-11-01 17:49:46 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								#:test_build:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#  :use_assembly: TRUE
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#:release_build:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#  :output: MyApp.out
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#  :use_assembly: FALSE
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								:environment:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								:extension:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :executable: .out
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								:paths:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :test:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - +:test/**
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - -:test/support
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :source:
							 | 
						
					
						
							
								
									
										
										
										
											2022-12-08 09:59:02 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    - ../../src/**
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07: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)
							 | 
						
					
						
							
								
									
										
										
										
											2024-03-01 17:34:14 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  :common: &common_defines []
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :test:
							 | 
						
					
						
							
								
									
										
										
										
											2024-03-01 17:34:14 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    - _UNITY_TEST_
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    #- *common_defines
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :test_preprocess:
							 | 
						
					
						
							
								
									
										
										
										
											2024-03-01 17:34:14 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    - _UNITY_TEST_
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    #- *common_defines
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								:cmock:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :mock_prefix: mock_
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :when_no_prototypes: :warn
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :enforce_strict_ordering: TRUE
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :plugins:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - :ignore
							 | 
						
					
						
							
								
									
										
										
										
											2019-11-01 15:25:54 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    - :ignore_arg
							 | 
						
					
						
							
								
									
										
										
										
											2019-11-01 17:53:37 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    - :return_thru_ptr
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - :callback
							 | 
						
					
						
							
								
									
										
										
										
											2019-10-30 16:19:47 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    - :array
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :treat_as:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    uint8:    HEX8
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    uint16:   HEX16
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    uint32:   UINT32
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    int8:     INT8
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    bool:     UINT8
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2019-11-01 17:49:46 +07: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 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								:gcov:
							 | 
						
					
						
							
								
									
										
										
										
											2019-11-01 17:49:46 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    :html_report: TRUE
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    :html_report_type: detailed
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    :html_medium_threshold: 75
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    :html_high_threshold: 90
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    :xml_report: FALSE
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2023-01-07 16:24:05 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								:tools:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :test_compiler:
							 | 
						
					
						
							
								
									
										
										
										
											2024-04-17 20:06:13 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								     :executable: gcc
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								     :name: 'gcc compiler'
							 | 
						
					
						
							
								
									
										
										
										
											2023-01-07 16:24:05 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								     :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
							 | 
						
					
						
							
								
									
										
										
										
											2024-04-17 20:06:13 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								        #- -fsanitize=address
							 | 
						
					
						
							
								
									
										
										
										
											2023-01-07 16:24:05 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								        - -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:
							 | 
						
					
						
							
								
									
										
										
										
											2024-04-17 20:06:13 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								     :executable: gcc
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								     :name: 'gcc linker'
							 | 
						
					
						
							
								
									
										
										
										
											2023-01-07 16:24:05 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								     :arguments:
							 | 
						
					
						
							
								
									
										
										
										
											2024-04-17 20:06:13 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								        #- -fsanitize=address
							 | 
						
					
						
							
								
									
										
										
										
											2023-01-07 16:24:05 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								        - ${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 16:18:27 +07: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:
							 | 
						
					
						
							
								
									
										
										
										
											2024-03-01 17:34:14 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    #- *common_libraries
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :release:
							 | 
						
					
						
							
								
									
										
										
										
											2024-03-01 17:34:14 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    #- *common_libraries
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								:plugins:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :load_paths:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - vendor/ceedling/plugins
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  :enabled:
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - stdout_pretty_tests_report
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - module_generator
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    - raw_output_report
							 | 
						
					
						
							
								
									
										
										
										
											2019-11-01 17:49:46 +07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								    - colour_report
							 | 
						
					
						
							
								
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								...
							 |