Skip to content

Commit 849abef

Browse files
committed
2 parents 661f8fb + be54d74 commit 849abef

File tree

1 file changed

+225
-5
lines changed

1 file changed

+225
-5
lines changed

project.yml

+225-5
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,111 @@
1111
# only requirement for USING CException is in the lib folder.
1212

1313
: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
1624
:build_root: build
1725
:test_file_prefix: Test
18-
:which_ceedling: gem
19-
:ceedling_version: 0.29.1
2026
: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: []
2242

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
2382
:extension:
83+
#:header: .h
84+
#:source: .c
85+
#:assembly: .s
86+
#:dependencies: .d
87+
#:object: .o
2488
:executable: .out
89+
#:testpass: .pass
90+
#:testfail: .fail
91+
#:subprojects: .a
2592

93+
# This is where Ceedling should look for your source and test files.
94+
# see documentation for the many options for specifying this.
2695
:paths:
2796
:test:
2897
- +:test/**
2998
- -:test/support
3099
:source:
31100
- lib/**
101+
:include:
102+
- lib/** # In simple projects, this entry often duplicates :source
32103
:support:
33104
- 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: []
34113

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
35119
:defines:
36120
:test:
37121
- TEST
@@ -40,4 +124,140 @@
40124
- TEST
41125
- CEXCEPTION_USE_CONFIG_FILE
42126

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

0 commit comments

Comments
 (0)