ceedling 1.1.5 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/GIT_COMMIT_SHA +1 -1
- data/Gemfile +4 -0
- data/Gemfile.lock +2 -0
- data/README.md +4 -1
- data/assets/tests_with_conditional_includes/src/feature_config.h +13 -0
- data/assets/tests_with_conditional_includes/src/feature_extra.h +13 -0
- data/assets/tests_with_conditional_includes/src/local_flag_extra.h +13 -0
- data/assets/tests_with_conditional_includes/src/nested_extra.h +13 -0
- data/assets/tests_with_conditional_includes/src/nested_wrapper.h +16 -0
- data/assets/tests_with_conditional_includes/src/project_flag_extra.h +13 -0
- data/assets/tests_with_conditional_includes/src/widget.c +48 -0
- data/assets/tests_with_conditional_includes/src/widget.h +15 -0
- data/assets/tests_with_conditional_includes/src/widget_feature.c +29 -0
- data/assets/tests_with_conditional_includes/src/widget_feature.h +13 -0
- data/assets/tests_with_conditional_includes/test/test_widget.c +44 -0
- data/assets/tests_with_conditional_includes/test/test_widget_feature.c +31 -0
- data/docs/Changelog.md +31 -1
- data/docs/KnownIssues.md +1 -0
- data/docs/mkdocs/configuration/project-file.md +25 -7
- data/docs/mkdocs/configuration/reference/cexception.md +1 -1
- data/docs/mkdocs/configuration/reference/cmock.md +1 -1
- data/docs/mkdocs/configuration/reference/unity.md +1 -1
- data/docs/mkdocs/getting-started/quick-start.md +11 -8
- data/docs/mkdocs/plugins/gcov/gcovr.md +324 -189
- data/docs/mkdocs/plugins/gcov/reportgenerator.md +113 -31
- data/docs/mkdocs/reference/gcov-plugin.md +21 -3
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +0 -1
- data/examples/wondrous_forest/src/SensorHal.h +13 -0
- data/examples/wondrous_forest/src/TemperatureSensor.c +12 -5
- data/examples/wondrous_forest/src/TemperatureSensor.h +5 -4
- data/examples/wondrous_forest/test/TestTemperatureSensor.c +32 -3
- data/lib/ceedling/generators/generator_test_results_backtrace.rb +16 -8
- data/lib/ceedling/generators/generator_test_runner.rb +25 -1
- data/lib/ceedling/partials/partializer.rb +8 -1
- data/lib/ceedling/plugins/plugin_reportinator.rb +9 -0
- data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +1 -1
- data/lib/ceedling/preprocess/preprocessinator.rb +22 -0
- data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +33 -0
- data/lib/version.rb +1 -1
- data/plugins/gcov/config/defaults.yml +0 -1
- data/plugins/gcov/lib/gcov.rb +35 -16
- data/plugins/gcov/lib/gcovr_reportinator.rb +31 -1
- data/plugins/valgrind/lib/valgrind.rb +1 -1
- data/site-local/configuration/project-file.html +78 -8
- data/site-local/configuration/reference/cexception.html +5 -5
- data/site-local/configuration/reference/cmock.html +5 -5
- data/site-local/configuration/reference/unity.html +5 -5
- data/site-local/getting-started/quick-start.html +13 -9
- data/site-local/plugins/gcov/gcovr.html +1215 -255
- data/site-local/plugins/gcov/reportgenerator.html +404 -46
- data/site-local/reference/gcov-plugin.html +40 -7
- data/site-local/sitemap.xml.gz +0 -0
- data/site-local/snapshot/plugins/gcov/config/defaults.yml +0 -1
- data/spec/support/system/spec_system_helper.rb +11 -0
- data/spec/support/system/system_context.rb +25 -12
- data/spec/system/conditional_include_macro_visibility_spec.rb +152 -0
- data/spec/system/deployment_as_gem_spec.rb +2 -0
- data/spec/system/deployment_as_vendor_spec.rb +2 -0
- data/spec/system/encoding_stress_spec.rb +4 -4
- data/spec/system/example_wondrous_forest_spec.rb +2 -2
- data/spec/system/gcov_deployment_spec.rb +2 -0
- data/spec/system/support/common_test_cases.rb +47 -1
- data/spec/system/support/gcov_common_test_cases.rb +52 -0
- data/spec/system/test_runner_system_include_spec.rb +90 -0
- data/spec/units/generators/generator_test_results_backtrace_spec.rb +51 -0
- data/spec/units/generators/generator_test_runner_spec.rb +69 -0
- data/spec/units/partials/partializer_spec.rb +69 -0
- data/spec/units/plugin_reportinator_spec.rb +38 -0
- data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +61 -0
- data/spec/units/preprocess/preprocessinator_spec.rb +136 -0
- data/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/c_exception/project.yml +2 -2
- data/vendor/c_exception/test/TestException.c +1 -1
- data/vendor/c_exception/test/support/CExceptionConfig.h +5 -11
- data/vendor/cmock/docs/CMockChangeLog.md +23 -22
- data/vendor/cmock/scripts/create_makefile.rb +4 -3
- data/vendor/cmock/src/cmock.h +1 -1
- data/vendor/cmock/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/cmock/vendor/c_exception/project.yml +2 -2
- data/vendor/cmock/vendor/c_exception/test/TestException.c +1 -1
- data/vendor/cmock/vendor/c_exception/test/support/CExceptionConfig.h +5 -11
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +85 -29
- data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +1 -0
- data/vendor/cmock/vendor/unity/examples/unity_config.h +8 -0
- data/vendor/cmock/vendor/unity/src/unity.c +9 -1
- data/vendor/cmock/vendor/unity/src/unity.h +1 -1
- data/vendor/cmock/vendor/unity/test/rakefile +2 -1
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorEmpty.c +13 -0
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +31 -0
- data/vendor/unity/auto/generate_test_runner.rb +63 -57
- data/vendor/unity/docs/UnityChangeLog.md +1 -0
- data/vendor/unity/examples/unity_config.h +8 -0
- data/vendor/unity/src/unity.c +9 -1
- data/vendor/unity/src/unity.h +1 -1
- data/vendor/unity/test/rakefile +2 -1
- data/vendor/unity/test/tests/test_generate_test_runner.rb +20 -0
- metadata +23 -3
- data/vendor/cmock/vendor/unity/auto/run_test.erb +0 -37
|
@@ -50,6 +50,28 @@ class GcovrReportinator < GcovReportinator
|
|
|
50
50
|
"(found #{@gcovr_version.major}.#{@gcovr_version.minor})"
|
|
51
51
|
)
|
|
52
52
|
end
|
|
53
|
+
|
|
54
|
+
# --decisions requires gcovr 6+; --fail-under-decision (which depends on --decisions)
|
|
55
|
+
# is a distinct, later addition requiring gcovr 7+ -- confirmed directly against real
|
|
56
|
+
# gcovr 6.0, which rejects --fail-under-decision outright as an unrecognized argument.
|
|
57
|
+
# Raised here, upfront, rather than left to surface as gcovr's own opaque CLI error or
|
|
58
|
+
# silently dropped -- either of which would leave a configured coverage threshold
|
|
59
|
+
# quietly never actually checked.
|
|
60
|
+
gcovr_opts = @config[GCOVR_SETTING_PREFIX.to_sym] || {}
|
|
61
|
+
|
|
62
|
+
if !gcovr_opts[:fail_under_decision].nil? && !min_version?( @gcovr_version, 7, 0 )
|
|
63
|
+
raise CeedlingException.new(
|
|
64
|
+
":gcov ↳ :gcovr ↳ :fail_under_decision ➡️ requires gcovr 7 or higher " \
|
|
65
|
+
"(found #{@gcovr_version.major}.#{@gcovr_version.minor})"
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
if gcovr_opts[:decisions] && !min_version?( @gcovr_version, 6, 0 )
|
|
70
|
+
raise CeedlingException.new(
|
|
71
|
+
":gcov ↳ :gcovr ↳ :decisions ➡️ requires gcovr 6 or higher " \
|
|
72
|
+
"(found #{@gcovr_version.major}.#{@gcovr_version.minor})"
|
|
73
|
+
)
|
|
74
|
+
end
|
|
53
75
|
end
|
|
54
76
|
|
|
55
77
|
# Generate the gcovr report(s) specified in the options.
|
|
@@ -112,6 +134,14 @@ class GcovrReportinator < GcovReportinator
|
|
|
112
134
|
args += "--merge-mode-functions \"#{gcovr_opts[:merge_mode_function]}\" " unless gcovr_opts[:merge_mode_function].nil?
|
|
113
135
|
end
|
|
114
136
|
|
|
137
|
+
# --fail-under-decision is a no-op to gcovr without --decisions also present (that's
|
|
138
|
+
# what actually turns decision-coverage analysis on) -- :fail_under_decision implies
|
|
139
|
+
# it automatically so the threshold option can never be configured into silently
|
|
140
|
+
# failing outright. initialize already guarantees gcovr 6+ whenever either is set
|
|
141
|
+
# (7+ specifically whenever :fail_under_decision is set), matching this method's own
|
|
142
|
+
# 6+ gate above.
|
|
143
|
+
args += "--decisions " if gcovr_opts[:decisions] || !gcovr_opts[:fail_under_decision].nil?
|
|
144
|
+
|
|
115
145
|
[:fail_under_line,
|
|
116
146
|
:fail_under_branch,
|
|
117
147
|
:fail_under_decision,
|
|
@@ -327,7 +357,7 @@ class GcovrReportinator < GcovReportinator
|
|
|
327
357
|
# configuration must come from the gcovr configuration file itself.
|
|
328
358
|
IGNORED_WHEN_CONFIG_FILE_SET = [
|
|
329
359
|
:report_include, :report_exclude, :gcov_filter, :gcov_exclude, :exclude_directories,
|
|
330
|
-
:branches, :sort_uncovered, :sort_percentage, :print_summary, :gcov_executable,
|
|
360
|
+
:branches, :decisions, :sort_uncovered, :sort_percentage, :print_summary, :gcov_executable,
|
|
331
361
|
:exclude_unreachable_branches, :exclude_throw_branches, :use_gcov_files, :gcov_ignore_parse_errors,
|
|
332
362
|
:keep, :delete, :threads, :merge_mode_function,
|
|
333
363
|
:fail_under_line, :fail_under_branch, :fail_under_decision, :fail_under_function,
|
|
@@ -101,7 +101,7 @@ class Valgrind < Plugin
|
|
|
101
101
|
results: results
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
verbosity =
|
|
104
|
+
verbosity = @plugin_reportinator.test_results_floor_verbosity
|
|
105
105
|
|
|
106
106
|
# Print unit test suite results
|
|
107
107
|
@plugin_reportinator.run_test_results_report( hash, verbosity )
|
|
@@ -1684,6 +1684,34 @@
|
|
|
1684
1684
|
</span>
|
|
1685
1685
|
</a>
|
|
1686
1686
|
|
|
1687
|
+
<nav class="md-nav" aria-label="Some YAML Learnin’">
|
|
1688
|
+
<ul class="md-nav__list">
|
|
1689
|
+
|
|
1690
|
+
<li class="md-nav__item">
|
|
1691
|
+
<a href="#yaml-highlights-overview" class="md-nav__link">
|
|
1692
|
+
<span class="md-ellipsis">
|
|
1693
|
+
|
|
1694
|
+
YAML highlights & overview
|
|
1695
|
+
|
|
1696
|
+
</span>
|
|
1697
|
+
</a>
|
|
1698
|
+
|
|
1699
|
+
</li>
|
|
1700
|
+
|
|
1701
|
+
<li class="md-nav__item">
|
|
1702
|
+
<a href="#yaml-anchors-aliases-and-extensions" class="md-nav__link">
|
|
1703
|
+
<span class="md-ellipsis">
|
|
1704
|
+
|
|
1705
|
+
YAML anchors, aliases, and extensions
|
|
1706
|
+
|
|
1707
|
+
</span>
|
|
1708
|
+
</a>
|
|
1709
|
+
|
|
1710
|
+
</li>
|
|
1711
|
+
|
|
1712
|
+
</ul>
|
|
1713
|
+
</nav>
|
|
1714
|
+
|
|
1687
1715
|
</li>
|
|
1688
1716
|
|
|
1689
1717
|
<li class="md-nav__item">
|
|
@@ -4102,6 +4130,34 @@
|
|
|
4102
4130
|
</span>
|
|
4103
4131
|
</a>
|
|
4104
4132
|
|
|
4133
|
+
<nav class="md-nav" aria-label="Some YAML Learnin’">
|
|
4134
|
+
<ul class="md-nav__list">
|
|
4135
|
+
|
|
4136
|
+
<li class="md-nav__item">
|
|
4137
|
+
<a href="#yaml-highlights-overview" class="md-nav__link">
|
|
4138
|
+
<span class="md-ellipsis">
|
|
4139
|
+
|
|
4140
|
+
YAML highlights & overview
|
|
4141
|
+
|
|
4142
|
+
</span>
|
|
4143
|
+
</a>
|
|
4144
|
+
|
|
4145
|
+
</li>
|
|
4146
|
+
|
|
4147
|
+
<li class="md-nav__item">
|
|
4148
|
+
<a href="#yaml-anchors-aliases-and-extensions" class="md-nav__link">
|
|
4149
|
+
<span class="md-ellipsis">
|
|
4150
|
+
|
|
4151
|
+
YAML anchors, aliases, and extensions
|
|
4152
|
+
|
|
4153
|
+
</span>
|
|
4154
|
+
</a>
|
|
4155
|
+
|
|
4156
|
+
</li>
|
|
4157
|
+
|
|
4158
|
+
</ul>
|
|
4159
|
+
</nav>
|
|
4160
|
+
|
|
4105
4161
|
</li>
|
|
4106
4162
|
|
|
4107
4163
|
<li class="md-nav__item">
|
|
@@ -4241,10 +4297,20 @@
|
|
|
4241
4297
|
example of a complete project configuration.</p>
|
|
4242
4298
|
</div>
|
|
4243
4299
|
<h2 id="some-yaml-learnin">Some YAML Learnin’</h2>
|
|
4244
|
-
<p>Please consult YAML documentation for the finer points of format
|
|
4245
|
-
and to understand details of our YAML-based configuration file.</p>
|
|
4246
4300
|
<p>We recommend <a href="http://en.wikipedia.org/wiki/Yaml">Wikipedia’s entry on YAML</a>
|
|
4247
|
-
|
|
4301
|
+
and <a href="https://www.educative.io/blog/advanced-yaml-syntax-cheatsheet">educative.io’s advanced YAML cheatsheet</a>
|
|
4302
|
+
for a simple overview of YAML and its syntax sufficient for
|
|
4303
|
+
understanding your Ceedling project configuration.</p>
|
|
4304
|
+
<div class="admonition tip">
|
|
4305
|
+
<p class="admonition-title"><code>ceedling dumpconfig</code> to verify your YAML</p>
|
|
4306
|
+
<p>Ceedling provides a means to export the final result of YAML
|
|
4307
|
+
processing for your inspection via <a href="../getting-started/command-line.html#ceedling-dumpconfig-filepath-sections"><code>dumpconfig</code></a>.
|
|
4308
|
+
Dump output includes the resolution of advanced YAML features and
|
|
4309
|
+
Ceedling’s own manipulations. This is a good way to troubleshoot
|
|
4310
|
+
your project configuration.</p>
|
|
4311
|
+
</div>
|
|
4312
|
+
<h3 id="yaml-highlights-overview">YAML highlights & overview</h3>
|
|
4313
|
+
<p>A few points from the preceding references:</p>
|
|
4248
4314
|
<ul>
|
|
4249
4315
|
<li>
|
|
4250
4316
|
<p>YAML streams are encoded using the set of printable Unicode
|
|
@@ -4279,12 +4345,16 @@ for this. A few highlights from that reference page:</p>
|
|
|
4279
4345
|
punctuation can generally be represented without needing
|
|
4280
4346
|
to be enclosed in quotes.</p>
|
|
4281
4347
|
</li>
|
|
4282
|
-
<li>
|
|
4283
|
-
<p>Repeated nodes are initially denoted by an ampersand (<code>&</code>) and
|
|
4284
|
-
thereafter referenced with an asterisk (<code>*</code>). These are known as
|
|
4285
|
-
anchors and aliases in YAML speak.</p>
|
|
4286
|
-
</li>
|
|
4287
4348
|
</ul>
|
|
4349
|
+
<h3 id="yaml-anchors-aliases-and-extensions">YAML anchors, aliases, and extensions</h3>
|
|
4350
|
+
<p>YAML provides several “shortcuts” for referencing and modifying blocks
|
|
4351
|
+
of YAML so you can avoid duplication. This is advanced YAML and
|
|
4352
|
+
well beyond the scope of Ceedling documentation. However, know that
|
|
4353
|
+
Ceedling’s YAML parser is entirely capable of handling these advanced
|
|
4354
|
+
aspects of YAML.</p>
|
|
4355
|
+
<p>See this <a href="https://www.educative.io/blog/advanced-yaml-syntax-cheatsheet#anchors">cheatsheet entry</a>
|
|
4356
|
+
and <a href="https://blog.daemonl.com/2016/02/yaml.html">this guide</a>
|
|
4357
|
+
for much more on these powerful but finicky features.</p>
|
|
4288
4358
|
<h2 id="notes-on-project-file-structure">Notes on Project File Structure</h2>
|
|
4289
4359
|
<ul>
|
|
4290
4360
|
<li>
|
|
@@ -2344,10 +2344,10 @@
|
|
|
2344
2344
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
2345
2345
|
|
|
2346
2346
|
<li class="md-nav__item">
|
|
2347
|
-
<a href="#
|
|
2347
|
+
<a href="#example-cmock-yaml" class="md-nav__link">
|
|
2348
2348
|
<span class="md-ellipsis">
|
|
2349
2349
|
|
|
2350
|
-
|
|
2350
|
+
Example :cmock YAML
|
|
2351
2351
|
|
|
2352
2352
|
</span>
|
|
2353
2353
|
</a>
|
|
@@ -4046,10 +4046,10 @@
|
|
|
4046
4046
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
4047
4047
|
|
|
4048
4048
|
<li class="md-nav__item">
|
|
4049
|
-
<a href="#
|
|
4049
|
+
<a href="#example-cmock-yaml" class="md-nav__link">
|
|
4050
4050
|
<span class="md-ellipsis">
|
|
4051
4051
|
|
|
4052
|
-
|
|
4052
|
+
Example :cmock YAML
|
|
4053
4053
|
|
|
4054
4054
|
</span>
|
|
4055
4055
|
</a>
|
|
@@ -4155,7 +4155,7 @@
|
|
|
4155
4155
|
|
|
4156
4156
|
<h1 id="cexception"><code>:cexception</code></h1>
|
|
4157
4157
|
<p><strong>Configure CException’s features</strong></p>
|
|
4158
|
-
<h2 id="
|
|
4158
|
+
<h2 id="example-cmock-yaml">Example <code>:cmock</code> YAML</h2>
|
|
4159
4159
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:cexception</span><span class="p">:</span>
|
|
4160
4160
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:defines</span><span class="p">:</span>
|
|
4161
4161
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="c1"># Enables CException `#include`ing CExceptionConfig.h</span>
|
|
@@ -2288,10 +2288,10 @@
|
|
|
2288
2288
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
2289
2289
|
|
|
2290
2290
|
<li class="md-nav__item">
|
|
2291
|
-
<a href="#
|
|
2291
|
+
<a href="#example-cmock-yaml" class="md-nav__link">
|
|
2292
2292
|
<span class="md-ellipsis">
|
|
2293
2293
|
|
|
2294
|
-
|
|
2294
|
+
Example :cmock YAML
|
|
2295
2295
|
|
|
2296
2296
|
</span>
|
|
2297
2297
|
</a>
|
|
@@ -4112,10 +4112,10 @@
|
|
|
4112
4112
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
4113
4113
|
|
|
4114
4114
|
<li class="md-nav__item">
|
|
4115
|
-
<a href="#
|
|
4115
|
+
<a href="#example-cmock-yaml" class="md-nav__link">
|
|
4116
4116
|
<span class="md-ellipsis">
|
|
4117
4117
|
|
|
4118
|
-
|
|
4118
|
+
Example :cmock YAML
|
|
4119
4119
|
|
|
4120
4120
|
</span>
|
|
4121
4121
|
</a>
|
|
@@ -4290,7 +4290,7 @@
|
|
|
4290
4290
|
<p>Ceedling sets values for a subset of CMock settings. All CMock options are
|
|
4291
4291
|
available to be set, but only those options set by Ceedling in an automated
|
|
4292
4292
|
fashion are documented below. See <a href="https://github.com/ThrowTheSwitch/CMock/blob/master/docs/CMock_Summary.md">CMock documentation</a>.</p>
|
|
4293
|
-
<h2 id="
|
|
4293
|
+
<h2 id="example-cmock-yaml">Example <code>:cmock</code> YAML</h2>
|
|
4294
4294
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:cmock</span><span class="p">:</span>
|
|
4295
4295
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:when_no_prototypes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:warn</span>
|
|
4296
4296
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="nt">:enforce_strict_ordering</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TRUE</span>
|
|
@@ -2260,10 +2260,10 @@
|
|
|
2260
2260
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
2261
2261
|
|
|
2262
2262
|
<li class="md-nav__item">
|
|
2263
|
-
<a href="#
|
|
2263
|
+
<a href="#example-unity-yaml" class="md-nav__link">
|
|
2264
2264
|
<span class="md-ellipsis">
|
|
2265
2265
|
|
|
2266
|
-
|
|
2266
|
+
Example :unity YAML
|
|
2267
2267
|
|
|
2268
2268
|
</span>
|
|
2269
2269
|
</a>
|
|
@@ -4057,10 +4057,10 @@
|
|
|
4057
4057
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
4058
4058
|
|
|
4059
4059
|
<li class="md-nav__item">
|
|
4060
|
-
<a href="#
|
|
4060
|
+
<a href="#example-unity-yaml" class="md-nav__link">
|
|
4061
4061
|
<span class="md-ellipsis">
|
|
4062
4062
|
|
|
4063
|
-
|
|
4063
|
+
Example :unity YAML
|
|
4064
4064
|
|
|
4065
4065
|
</span>
|
|
4066
4066
|
</a>
|
|
@@ -4177,7 +4177,7 @@
|
|
|
4177
4177
|
|
|
4178
4178
|
<h1 id="unity"><code>:unity</code></h1>
|
|
4179
4179
|
<p><strong>Configure Unity’s features</strong></p>
|
|
4180
|
-
<h2 id="
|
|
4180
|
+
<h2 id="example-unity-yaml">Example <code>:unity</code> YAML</h2>
|
|
4181
4181
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:unity</span><span class="p">:</span>
|
|
4182
4182
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:defines</span><span class="p">:</span>
|
|
4183
4183
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">UNITY_INT_WIDTH=16</span><span class="w"> </span><span class="c1"># 16 bit processor without support for 32 bit instructions</span>
|
|
@@ -4185,6 +4185,12 @@ configuration file could be as simple as this:</p>
|
|
|
4185
4185
|
through running build tasks. Jump down just a teeny bit to see what the Ceedling
|
|
4186
4186
|
command line looks like and navigate to all the documentation for the steps
|
|
4187
4187
|
listed immediately below.</p>
|
|
4188
|
+
<div class="admonition warning">
|
|
4189
|
+
<p class="admonition-title">C toolchain requirement</p>
|
|
4190
|
+
<p>Ceedling requires a command line C toolchain be available in your path and is
|
|
4191
|
+
flexible enough to work with most anything. By default, Ceedling is ready to
|
|
4192
|
+
work with <a href="https://gcc.gnu.org">GCC</a> out of the box (we recommend <a href="http://www.mingw.org/">MinGW</a> on Windows).</p>
|
|
4193
|
+
</div>
|
|
4188
4194
|
<ol>
|
|
4189
4195
|
<li><a href="installation.html">Install Ceedling</a></li>
|
|
4190
4196
|
<li>Create a project<ul>
|
|
@@ -4200,16 +4206,14 @@ listed immediately below.</p>
|
|
|
4200
4206
|
</li>
|
|
4201
4207
|
<li>Run Ceedling tasks (see next section) from the working directory of your project.</li>
|
|
4202
4208
|
</ol>
|
|
4203
|
-
<
|
|
4204
|
-
|
|
4205
|
-
<
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
+
<p>A common build strategy is to use your target toolchain for release builds—with or
|
|
4210
|
+
without Ceedling—but rely on Ceedling + GCC for test builds (more on this
|
|
4211
|
+
<a href="../overview/index.html">here</a>).</p>
|
|
4212
|
+
<div class="admonition tip">
|
|
4213
|
+
<p class="admonition-title">Ceedling VS Code extension</p>
|
|
4214
|
+
<p>If you are a Visual Studio Code user, you may want to install the
|
|
4215
|
+
<a href="https://marketplace.visualstudio.com/items?itemName=throw-the-switch.vscode-ceedling">Ceedling extension</a>.</p>
|
|
4209
4216
|
</div>
|
|
4210
|
-
<p>A common build strategy with tooling other than GCC is to use your target
|
|
4211
|
-
toolchain for release builds—with or without Ceedling—but rely on Ceedling +
|
|
4212
|
-
GCC for test builds (more on all this <a href="../overview/index.html">here</a>).</p>
|
|
4213
4217
|
<h2 id="command-line-build-tasks">Command Line & Build Tasks</h2>
|
|
4214
4218
|
<p>Once you have Ceedling installed, you always have access to <code>ceedling help</code>.</p>
|
|
4215
4219
|
<p>Once you have Ceedling installed, you have options for project creation
|