--- # 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: FALSE :use_test_preprocessor: TRUE :use_auxiliary_dependencies: TRUE :build_root: build # :release_build: TRUE :test_file_prefix: test_ :which_ceedling: gem :ceedling_version: 0.31.0 :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: - Core/** - Drivers/** :support: - test/support :libraries: [] :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 - STM32F303xE # - CMOCK_MEM_PTR_AS_INT=uint32_t :test: - *common_defines - TEST :test_preprocess: - *common_defines - TEST :cmock: :includes: # - Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h - /home/bartool/Public/c_test/test2/Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h :mock_prefix: mock_ :when_no_prototypes: :warn :enforce_strict_ordering: TRUE :plugins: - :ignore - :callback :treat_as: # uint8: HEX8 # uint16: HEX16 # uint32: UINT32 # int8: INT8 bool: UINT8 char: HEX8 int8_t: INT8 int16_t: INT16 int32_t: INT INT8_T: INT8 INT16_T: INT16 INT32_T: INT unsigned int: HEX32 unsigned long': HEX32 uint32: HEX32 uint32_t: HEX32 UINT32: HEX32 UINT32_T: HEX32 void*: HEX8_ARRAY unsigned short: HEX16 uint16: HEX16 uint16_t: HEX16 UINT16: HEX16 UINT16_T: HEX16 unsigned char: HEX8 uint8: HEX8 uint8_t: HEX8 UINT8: HEX8 UINT8_T: HEX8 # char*: STRING # pCHAR: STRING # cstring: STRING # CSTRING: STRING # float: FLOAT # double: FLOAT # 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: :reports: - HtmlDetailed :gcovr: :html_medium_threshold: 75 :html_high_threshold: 90 #:tools: # Ceedling defaults to using gcc for compiling, linking, etc. # As [:tools] is blank, gcc will be used (so long as it's in your system path) # See documentation to configure a given toolchain for use # 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: "-l${1}" :path_flag: "-L ${1}" :system: [] # for example, you might list 'm' to grab the math library :test: [] :release: [] :plugins: :load_paths: - "#{Ceedling.load_path}" :enabled: - stdout_pretty_tests_report - module_generator - raw_output_report - xml_tests_report ...