|
11 | 11 | # only requirement for USING CException is in the lib folder.
|
12 | 12 |
|
13 | 13 | :project:
|
14 |
| - :use_test_preprocessor: FALSE |
15 |
| - :use_auxiliary_dependencies: FALSE |
| 14 | + # how to use ceedling. If you're not sure, leave this as `gem` and `?` |
| 15 | + :which_ceedling: gem |
| 16 | + :ceedling_version: '1.0.0' |
| 17 | + |
| 18 | + # optional features. If you don't need them, keep them turned off for performance |
| 19 | + :use_mocks: TRUE |
| 20 | + :use_test_preprocessor: :none |
| 21 | + :use_backtrace: :simple |
| 22 | + |
| 23 | + # tweak the way ceedling handles automatic tasks |
16 | 24 | :build_root: build
|
17 | 25 | :test_file_prefix: Test
|
18 |
| - :which_ceedling: gem |
19 |
| - :ceedling_version: 0.29.1 |
20 | 26 | :default_tasks:
|
21 |
| - - clobber test:all |
| 27 | + - clobber |
| 28 | + - test:all |
| 29 | + |
| 30 | + # performance options. If your tools start giving mysterious errors, consider |
| 31 | + # dropping this to 1 to force single-tasking |
| 32 | + :test_threads: 8 |
| 33 | + :compile_threads: 8 |
| 34 | + |
| 35 | + # enable release build (more details in release_build section below) |
| 36 | + :release_build: FALSE |
| 37 | + |
| 38 | +# Specify where to find mixins and any that should be enabled automatically |
| 39 | +:mixins: |
| 40 | + :enabled: [] |
| 41 | + :load_paths: [] |
22 | 42 |
|
| 43 | +# further details to configure the way Ceedling handles test code |
| 44 | +:test_build: |
| 45 | + :use_assembly: FALSE |
| 46 | + |
| 47 | +# Plugins are optional Ceedling features which can be enabled. Ceedling supports |
| 48 | +# a variety of plugins which may effect the way things are compiled, reported, |
| 49 | +# or may provide new command options. Refer to the readme in each plugin for |
| 50 | +# details on how to use it. |
| 51 | +:plugins: |
| 52 | + :load_paths: [] |
| 53 | + :enabled: |
| 54 | + #- beep # beeps when finished, so you don't waste time waiting for ceedling |
| 55 | + - module_generator # handy for quickly creating source, header, and test templates |
| 56 | + #- gcov # test coverage using gcov. Requires gcc, gcov, and a coverage analyzer like gcovr |
| 57 | + #- bullseye # test coverage using bullseye. Requires bullseye for your platform |
| 58 | + #- command_hooks # write custom actions to be called at different points during the build process |
| 59 | + #- compile_commands_json_db # generate a compile_commands.json file |
| 60 | + #- dependencies # automatically fetch 3rd party libraries, etc. |
| 61 | + #- subprojects # managing builds and test for static libraries |
| 62 | + #- fake_function_framework # use FFF instead of CMock |
| 63 | + |
| 64 | + # Report options (You'll want to choose one stdout option, but may choose multiple stored options if desired) |
| 65 | + #- report_build_warnings_log |
| 66 | + #- report_tests_gtestlike_stdout |
| 67 | + #- report_tests_ide_stdout |
| 68 | + #- report_tests_log_factory |
| 69 | + - report_tests_pretty_stdout |
| 70 | + #- report_tests_raw_output_log |
| 71 | + #- report_tests_teamcity_stdout |
| 72 | + |
| 73 | +# Specify which reports you'd like from the log factory |
| 74 | +:report_tests_log_factory: |
| 75 | + :reports: |
| 76 | + - json |
| 77 | + - junit |
| 78 | + - cppunit |
| 79 | + - html |
| 80 | + |
| 81 | +# override the default extensions for your system and toolchain |
23 | 82 | :extension:
|
| 83 | + #:header: .h |
| 84 | + #:source: .c |
| 85 | + #:assembly: .s |
| 86 | + #:dependencies: .d |
| 87 | + #:object: .o |
24 | 88 | :executable: .out
|
| 89 | + #:testpass: .pass |
| 90 | + #:testfail: .fail |
| 91 | + #:subprojects: .a |
25 | 92 |
|
| 93 | +# This is where Ceedling should look for your source and test files. |
| 94 | +# see documentation for the many options for specifying this. |
26 | 95 | :paths:
|
27 | 96 | :test:
|
28 | 97 | - +:test/**
|
29 | 98 | - -:test/support
|
30 | 99 | :source:
|
31 | 100 | - lib/**
|
| 101 | + :include: |
| 102 | + - lib/** # In simple projects, this entry often duplicates :source |
32 | 103 | :support:
|
33 | 104 | - test/support
|
| 105 | + :libraries: [] |
| 106 | + |
| 107 | +# You can even specify specific files to add or remove from your test |
| 108 | +# and release collections. Usually it's better to use paths and let |
| 109 | +# Ceedling do the work for you! |
| 110 | +:files: |
| 111 | + :test: [] |
| 112 | + :source: [] |
34 | 113 |
|
| 114 | +# Compilation symbols to be injected into builds |
| 115 | +# See documentation for advanced options: |
| 116 | +# - Test name matchers for different symbols per test executable build |
| 117 | +# - Referencing symbols in multiple lists using advanced YAML |
| 118 | +# - Specifiying symbols used during test preprocessing |
35 | 119 | :defines:
|
36 | 120 | :test:
|
37 | 121 | - TEST
|
|
40 | 124 | - TEST
|
41 | 125 | - CEXCEPTION_USE_CONFIG_FILE
|
42 | 126 |
|
| 127 | + # Enable to inject name of a test as a unique compilation symbol into its respective executable build. |
| 128 | + :use_test_definition: FALSE |
| 129 | + |
| 130 | +# Configure additional command line flags provided to tools used in each build step |
| 131 | +# :flags: |
| 132 | +# :release: |
| 133 | +# :compile: # Add '-Wall' and '--02' to compilation of all files in release target |
| 134 | +# - -Wall |
| 135 | +# - --O2 |
| 136 | +# :test: |
| 137 | +# :compile: |
| 138 | +# '(_|-)special': # Add '-pedantic' to compilation of all files in all test executables with '_special' or '-special' in their names |
| 139 | +# - -pedantic |
| 140 | +# '*': # Add '-foo' to compilation of all files in all test executables |
| 141 | +# - -foo |
| 142 | + |
| 143 | +# Configuration Options specific to CMock. See CMock docs for details |
| 144 | +:cmock: |
| 145 | + # Core conffiguration |
| 146 | + :plugins: # What plugins should be used by CMock? |
| 147 | + - :ignore |
| 148 | + - :callback |
| 149 | + :verbosity: 2 # the options being 0 errors only, 1 warnings and errors, 2 normal info, 3 verbose |
| 150 | + :when_no_prototypes: :warn # the options being :ignore, :warn, or :erro |
| 151 | + |
| 152 | + # File configuration |
| 153 | + :skeleton_path: '' # Subdirectory to store stubs when generated (default: '') |
| 154 | + :mock_prefix: 'mock_' # Prefix to append to filenames for mocks |
| 155 | + :mock_suffix: '' # Suffix to append to filenames for mocks |
| 156 | + |
| 157 | + # Parser configuration |
| 158 | + :strippables: ['(?:__attribute__\s*\([ (]*.*?[ )]*\)+)'] |
| 159 | + :attributes: |
| 160 | + - __ramfunc |
| 161 | + - __irq |
| 162 | + - __fiq |
| 163 | + - register |
| 164 | + - extern |
| 165 | + :c_calling_conventions: |
| 166 | + - __stdcall |
| 167 | + - __cdecl |
| 168 | + - __fastcall |
| 169 | + :treat_externs: :exclude # the options being :include or :exclud |
| 170 | + :treat_inlines: :exclude # the options being :include or :exclud |
| 171 | + |
| 172 | + # Type handling configuration |
| 173 | + #:unity_helper_path: '' # specify a string of where to find a unity_helper.h file to discover custom type assertions |
| 174 | + :treat_as: # optionally add additional types to map custom types |
| 175 | + uint8: HEX8 |
| 176 | + uint16: HEX16 |
| 177 | + uint32: UINT32 |
| 178 | + int8: INT8 |
| 179 | + bool: UINT8 |
| 180 | + #:treat_as_array: {} # hint to cmock that these types are pointers to something |
| 181 | + #:treat_as_void: [] # hint to cmock that these types are actually aliases of void |
| 182 | + :memcmp_if_unknown: true # allow cmock to use the memory comparison assertions for unknown types |
| 183 | + :when_ptr: :compare_data # hint to cmock how to handle pointers in general, the options being :compare_ptr, :compare_data, or :smart |
| 184 | + |
| 185 | + # Mock generation configuration |
| 186 | + :weak: '' # Symbol to use to declare weak functions |
| 187 | + :enforce_strict_ordering: true # Do we want cmock to enforce ordering of all function calls? |
| 188 | + :fail_on_unexpected_calls: true # Do we want cmock to fail when it encounters a function call that wasn't expected? |
| 189 | + :callback_include_count: true # Do we want cmock to include the number of calls to this callback, when using callbacks? |
| 190 | + :callback_after_arg_check: false # Do we want cmock to enforce an argument check first when using a callback? |
| 191 | + #:includes: [] # You can add additional includes here, or specify the location with the options below |
| 192 | + #:includes_h_pre_orig_header: [] |
| 193 | + #:includes_h_post_orig_header: [] |
| 194 | + #:includes_c_pre_header: [] |
| 195 | + #:includes_c_post_header: [] |
| 196 | + #:array_size_type: [] # Specify a type or types that should be used for array lengths |
| 197 | + #:array_size_name: 'size|len' # Specify a name or names that CMock might automatically recognize as the length of an array |
| 198 | + :exclude_setjmp_h: false # Don't use setjmp when running CMock. Note that this might result in late reporting or out-of-order failures. |
| 199 | + |
| 200 | +# Configuration options specific to Unity. |
| 201 | +:unity: |
| 202 | + :defines: |
| 203 | + - UNITY_EXCLUDE_FLOAT |
| 204 | + |
| 205 | +# You can optionally have ceedling create environment variables for you before |
| 206 | +# performing the rest of its tasks. |
| 207 | +:environment: [] |
| 208 | + |
| 209 | +# LIBRARIES |
| 210 | +# These libraries are automatically injected into the build process. Those specified as |
| 211 | +# common will be used in all types of builds. Otherwise, libraries can be injected in just |
| 212 | +# tests or releases. These options are MERGED with the options in supplemental yaml files. |
| 213 | +:libraries: |
| 214 | + :placement: :end |
| 215 | + :flag: "-l${1}" |
| 216 | + :path_flag: "-L ${1}" |
| 217 | + :system: [] # for example, you might list 'm' to grab the math library |
| 218 | + :test: [] |
| 219 | + :release: [] |
| 220 | + |
| 221 | +################################################################ |
| 222 | +# PLUGIN CONFIGURATION |
| 223 | +################################################################ |
| 224 | + |
| 225 | +# Add -gcov to the plugins list to make sure of the gcov plugin |
| 226 | +# You will need to have gcov and gcovr both installed to make it work. |
| 227 | +# For more information on these options, see docs in plugins/gcov |
| 228 | +:gcov: |
| 229 | + :utilities: |
| 230 | + - gcovr # Use gcovr to create the specified reports (default). |
| 231 | + #- ReportGenerator # Use ReportGenerator to create the specified reports. |
| 232 | + :reports: # Specify one or more reports to generate. |
| 233 | + # Make an HTML summary report. |
| 234 | + - HtmlBasic |
| 235 | + # - HtmlDetailed |
| 236 | + # - Text |
| 237 | + # - Cobertura |
| 238 | + # - SonarQube |
| 239 | + # - JSON |
| 240 | + # - HtmlInline |
| 241 | + # - HtmlInlineAzure |
| 242 | + # - HtmlInlineAzureDark |
| 243 | + # - HtmlChart |
| 244 | + # - MHtml |
| 245 | + # - Badges |
| 246 | + # - CsvSummary |
| 247 | + # - Latex |
| 248 | + # - LatexSummary |
| 249 | + # - PngChart |
| 250 | + # - TeamCitySummary |
| 251 | + # - lcov |
| 252 | + # - Xml |
| 253 | + # - XmlSummary |
| 254 | + :gcovr: |
| 255 | + # :html_artifact_filename: TestCoverageReport.html |
| 256 | + # :html_title: Test Coverage Report |
| 257 | + :html_medium_threshold: 75 |
| 258 | + :html_high_threshold: 90 |
| 259 | + # :html_absolute_paths: TRUE |
| 260 | + # :html_encoding: UTF-8 |
| 261 | + |
| 262 | + |
43 | 263 | ...
|
0 commit comments