| 
									
										
										
										
											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
										 |  |  | ...
 |