ceedling 1.1.2 → 1.1.4

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.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/GIT_COMMIT_SHA +1 -1
  3. data/README.md +1 -1
  4. data/assets/fake_crash_test_fixture.rb +14 -0
  5. data/assets/partial_all_module.h +11 -0
  6. data/assets/run_with_ubsan.rb +15 -0
  7. data/assets/same_dir_pairing_module.c +4 -0
  8. data/assets/same_dir_pairing_module.h +8 -0
  9. data/assets/same_dir_pairing_module_func.h +6 -0
  10. data/assets/same_dir_pairing_other.c +4 -0
  11. data/assets/same_dir_pairing_other.h +8 -0
  12. data/assets/test_example_file_crash_sigsegv_with_param.c +32 -0
  13. data/assets/test_example_file_ub_shift_overflow.c +22 -0
  14. data/assets/test_partial_all_module.c +16 -0
  15. data/assets/test_same_dir_pairing.c +23 -0
  16. data/bin/actions_wrapper.rb +7 -6
  17. data/docs/Changelog.md +29 -1
  18. data/docs/mkdocs/configuration/reference/index.md +8 -0
  19. data/docs/mkdocs/configuration/reference/partials.md +38 -0
  20. data/examples/wondrous_forest/src/LightSensor.c +21 -4
  21. data/examples/wondrous_forest/src/LightSensor.h +12 -4
  22. data/examples/wondrous_forest/test/TestLightSensor.c +34 -4
  23. data/lib/ceedling/c_extractor/c_extractor.rb +37 -11
  24. data/lib/ceedling/c_extractor/c_extractor_constants.rb +0 -3
  25. data/lib/ceedling/c_extractor/c_extractor_declarations.rb +26 -25
  26. data/lib/ceedling/c_extractor/c_extractor_functions.rb +5 -12
  27. data/lib/ceedling/config/configurator.rb +8 -1
  28. data/lib/ceedling/config/configurator_setup.rb +26 -0
  29. data/lib/ceedling/defaults.rb +16 -2
  30. data/lib/ceedling/file_path_utils.rb +7 -0
  31. data/lib/ceedling/file_wrapper.rb +8 -0
  32. data/lib/ceedling/generators/generator.rb +15 -0
  33. data/lib/ceedling/generators/generator_helper.rb +25 -6
  34. data/lib/ceedling/generators/generator_partials.rb +84 -3
  35. data/lib/ceedling/generators/generator_test_results_backtrace.rb +268 -100
  36. data/lib/ceedling/generators/generator_test_runner.rb +20 -2
  37. data/lib/ceedling/includes/includes.rb +66 -11
  38. data/lib/ceedling/objects.yml +5 -0
  39. data/lib/ceedling/partials/partializer.rb +18 -3
  40. data/lib/ceedling/partials/partializer_utils.rb +6 -1
  41. data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +43 -16
  42. data/lib/ceedling/test_invoker/test_build_executor.rb +19 -8
  43. data/lib/version.rb +1 -1
  44. data/mkdocs.yml +1 -0
  45. data/plugins/gcov/lib/gcov.rb +2 -2
  46. data/site-local/404.html +30 -0
  47. data/site-local/configuration/environment-vars.html +30 -0
  48. data/site-local/configuration/global-collections.html +30 -0
  49. data/site-local/configuration/index.html +30 -0
  50. data/site-local/configuration/loading.html +30 -0
  51. data/site-local/configuration/mixins.html +30 -0
  52. data/site-local/configuration/parallel-builds.html +30 -0
  53. data/site-local/configuration/project-file.html +30 -0
  54. data/site-local/configuration/reference/cexception.html +30 -0
  55. data/site-local/configuration/reference/cmock.html +30 -0
  56. data/site-local/configuration/reference/defines.html +30 -0
  57. data/site-local/configuration/reference/environment.html +30 -0
  58. data/site-local/configuration/reference/extension.html +30 -0
  59. data/site-local/configuration/reference/files.html +30 -0
  60. data/site-local/configuration/reference/flags.html +30 -0
  61. data/site-local/configuration/reference/index.html +36 -0
  62. data/site-local/configuration/reference/libraries.html +30 -0
  63. data/site-local/configuration/reference/mixins.html +30 -0
  64. data/site-local/configuration/reference/partials.html +4257 -0
  65. data/site-local/configuration/reference/paths.html +30 -0
  66. data/site-local/configuration/reference/plugins.html +30 -0
  67. data/site-local/configuration/reference/project.html +30 -0
  68. data/site-local/configuration/reference/release-build.html +31 -1
  69. data/site-local/configuration/reference/test-build.html +31 -1
  70. data/site-local/configuration/reference/test-runner.html +30 -0
  71. data/site-local/configuration/reference/tools.html +30 -0
  72. data/site-local/configuration/reference/unity.html +30 -0
  73. data/site-local/configuration/which-ceedling.html +30 -0
  74. data/site-local/development/index.html +30 -0
  75. data/site-local/development/plugins/configuration.html +30 -0
  76. data/site-local/development/plugins/index.html +30 -0
  77. data/site-local/development/plugins/plugin-subclass.html +30 -0
  78. data/site-local/development/plugins/rake-tasks.html +30 -0
  79. data/site-local/development/workflow.html +30 -0
  80. data/site-local/getting-started/command-line.html +30 -0
  81. data/site-local/getting-started/example-projects/cipher-quest.html +30 -0
  82. data/site-local/getting-started/example-projects/index.html +30 -0
  83. data/site-local/getting-started/example-projects/temp-sensor.html +30 -0
  84. data/site-local/getting-started/example-projects/wondrous-forest.html +30 -0
  85. data/site-local/getting-started/index.html +30 -0
  86. data/site-local/getting-started/installation.html +30 -0
  87. data/site-local/getting-started/quick-start.html +30 -0
  88. data/site-local/help.html +30 -0
  89. data/site-local/index.html +30 -0
  90. data/site-local/overview/build-system.html +30 -0
  91. data/site-local/overview/index.html +30 -0
  92. data/site-local/overview/test-environments.html +30 -0
  93. data/site-local/overview/tools-and-frameworks.html +30 -0
  94. data/site-local/plugins/beep.html +30 -0
  95. data/site-local/plugins/bullseye.html +30 -0
  96. data/site-local/plugins/command-hooks.html +30 -0
  97. data/site-local/plugins/compile-commands-json-db.html +30 -0
  98. data/site-local/plugins/cppcheck.html +30 -0
  99. data/site-local/plugins/dependencies.html +30 -0
  100. data/site-local/plugins/fff.html +30 -0
  101. data/site-local/plugins/gcov/examples.html +30 -0
  102. data/site-local/plugins/gcov/gcovr.html +30 -0
  103. data/site-local/plugins/gcov/index.html +30 -0
  104. data/site-local/plugins/gcov/overview.html +30 -0
  105. data/site-local/plugins/gcov/reportgenerator.html +30 -0
  106. data/site-local/plugins/gcov/reporting.html +30 -0
  107. data/site-local/plugins/gcov/setup.html +30 -0
  108. data/site-local/plugins/gcov/tool-versions.html +30 -0
  109. data/site-local/plugins/gcov/troubleshooting.html +30 -0
  110. data/site-local/plugins/index.html +30 -0
  111. data/site-local/plugins/module-generator.html +30 -0
  112. data/site-local/plugins/report-build-warnings-log.html +30 -0
  113. data/site-local/plugins/report-tests-gtestlike-stdout.html +30 -0
  114. data/site-local/plugins/report-tests-ide-stdout.html +30 -0
  115. data/site-local/plugins/report-tests-log-factory.html +30 -0
  116. data/site-local/plugins/report-tests-pretty-stdout.html +30 -0
  117. data/site-local/plugins/report-tests-raw-output-log.html +30 -0
  118. data/site-local/plugins/report-tests-teamcity-stdout.html +30 -0
  119. data/site-local/plugins/valgrind.html +30 -0
  120. data/site-local/project/release-history.html +30 -0
  121. data/site-local/project/upgrade.html +30 -0
  122. data/site-local/reference/build-directives.html +30 -0
  123. data/site-local/reference/command-line.html +30 -0
  124. data/site-local/reference/environment-vars.html +30 -0
  125. data/site-local/reference/gcov-plugin.html +30 -0
  126. data/site-local/reference/global-collections.html +30 -0
  127. data/site-local/reference/index.html +30 -0
  128. data/site-local/reference/partials-macros.html +30 -0
  129. data/site-local/reference/project-configuration.html +30 -0
  130. data/site-local/sitemap.xml.gz +0 -0
  131. data/site-local/snapshot/examples/cipher_quest/index.html +30 -0
  132. data/site-local/snapshot/examples/temp_sensor/index.html +30 -0
  133. data/site-local/snapshot/examples/wondrous_forest/index.html +30 -0
  134. data/site-local/testing-guide/build-directives.html +30 -0
  135. data/site-local/testing-guide/conventions.html +30 -0
  136. data/site-local/testing-guide/frameworks.html +30 -0
  137. data/site-local/testing-guide/index.html +30 -0
  138. data/site-local/testing-guide/partials/configuration.html +30 -0
  139. data/site-local/testing-guide/partials/conventions.html +30 -0
  140. data/site-local/testing-guide/partials/directives.html +30 -0
  141. data/site-local/testing-guide/partials/example.html +30 -0
  142. data/site-local/testing-guide/partials/index.html +30 -0
  143. data/site-local/testing-guide/partials/overview.html +30 -0
  144. data/site-local/testing-guide/partials/variables.html +30 -0
  145. data/site-local/testing-guide/test-cases.html +30 -0
  146. data/site-local/testing-guide/test-sample.html +30 -0
  147. data/site-local/testing-guide/test-suite-anatomy.html +30 -0
  148. data/spec/support/system/spec_system_helper.rb +25 -0
  149. data/spec/support/system/system_context.rb +15 -0
  150. data/spec/system/deployment_as_gem_spec.rb +14 -0
  151. data/spec/system/deployment_as_vendor_spec.rb +19 -0
  152. data/spec/system/encoding_stress_spec.rb +4 -4
  153. data/spec/system/example_wondrous_forest_spec.rb +2 -2
  154. data/spec/system/support/common_test_cases.rb +227 -0
  155. data/spec/units/c_extractor/c_extractor_declarations_spec.rb +27 -4
  156. data/spec/units/c_extractor/c_extractor_functions_spec.rb +1 -11
  157. data/spec/units/c_extractor/c_extractor_integration_spec.rb +18 -11
  158. data/spec/units/c_extractor/c_extractor_spec.rb +57 -1
  159. data/spec/units/config/configurator_setup_spec.rb +61 -0
  160. data/spec/units/configurator_spec.rb +45 -0
  161. data/spec/units/file_path_utils_spec.rb +17 -0
  162. data/spec/units/generators/generator_helper_spec.rb +34 -7
  163. data/spec/units/generators/generator_partials_spec.rb +120 -12
  164. data/spec/units/generators/generator_test_results_backtrace_spec.rb +248 -41
  165. data/spec/units/generators/generator_test_runner_spec.rb +26 -2
  166. data/spec/units/includes/include_spec.rb +30 -18
  167. data/spec/units/includes/includes_spec.rb +100 -10
  168. data/spec/units/partials/partializer_spec.rb +113 -1
  169. data/spec/units/partials/partializer_utils_spec.rb +11 -0
  170. data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +96 -7
  171. data/spec/units/system_wrapper_spec.rb +72 -0
  172. data/spec/units/test_context_extractor_spec.rb +3 -3
  173. metadata +20 -2
@@ -1795,6 +1795,8 @@
1795
1795
 
1796
1796
 
1797
1797
 
1798
+
1799
+
1798
1800
 
1799
1801
 
1800
1802
 
@@ -1945,6 +1947,34 @@
1945
1947
 
1946
1948
 
1947
1949
 
1950
+ <li class="md-nav__item">
1951
+ <a href="partials.html" class="md-nav__link">
1952
+
1953
+
1954
+
1955
+ <span class="md-ellipsis">
1956
+
1957
+
1958
+ Partials Settings
1959
+
1960
+
1961
+
1962
+ </span>
1963
+
1964
+
1965
+
1966
+ </a>
1967
+ </li>
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1948
1978
  <li class="md-nav__item">
1949
1979
  <a href="release-build.html" class="md-nav__link">
1950
1980
 
@@ -1795,6 +1795,8 @@
1795
1795
 
1796
1796
 
1797
1797
 
1798
+
1799
+
1798
1800
 
1799
1801
 
1800
1802
 
@@ -1945,6 +1947,34 @@
1945
1947
 
1946
1948
 
1947
1949
 
1950
+ <li class="md-nav__item">
1951
+ <a href="partials.html" class="md-nav__link">
1952
+
1953
+
1954
+
1955
+ <span class="md-ellipsis">
1956
+
1957
+
1958
+ Partials Settings
1959
+
1960
+
1961
+
1962
+ </span>
1963
+
1964
+
1965
+
1966
+ </a>
1967
+ </li>
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1948
1978
  <li class="md-nav__item">
1949
1979
  <a href="release-build.html" class="md-nav__link">
1950
1980
 
@@ -1795,6 +1795,8 @@
1795
1795
 
1796
1796
 
1797
1797
 
1798
+
1799
+
1798
1800
 
1799
1801
 
1800
1802
 
@@ -1945,6 +1947,34 @@
1945
1947
 
1946
1948
 
1947
1949
 
1950
+ <li class="md-nav__item">
1951
+ <a href="partials.html" class="md-nav__link">
1952
+
1953
+
1954
+
1955
+ <span class="md-ellipsis">
1956
+
1957
+
1958
+ Partials Settings
1959
+
1960
+
1961
+
1962
+ </span>
1963
+
1964
+
1965
+
1966
+ </a>
1967
+ </li>
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1948
1978
  <li class="md-nav__item">
1949
1979
  <a href="release-build.html" class="md-nav__link">
1950
1980
 
@@ -1795,6 +1795,8 @@
1795
1795
 
1796
1796
 
1797
1797
 
1798
+
1799
+
1798
1800
 
1799
1801
 
1800
1802
 
@@ -1945,6 +1947,34 @@
1945
1947
 
1946
1948
 
1947
1949
 
1950
+ <li class="md-nav__item">
1951
+ <a href="partials.html" class="md-nav__link">
1952
+
1953
+
1954
+
1955
+ <span class="md-ellipsis">
1956
+
1957
+
1958
+ Partials Settings
1959
+
1960
+
1961
+
1962
+ </span>
1963
+
1964
+
1965
+
1966
+ </a>
1967
+ </li>
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1948
1978
  <li class="md-nav__item">
1949
1979
  <a href="release-build.html" class="md-nav__link">
1950
1980
 
@@ -1795,6 +1795,8 @@
1795
1795
 
1796
1796
 
1797
1797
 
1798
+
1799
+
1798
1800
 
1799
1801
 
1800
1802
 
@@ -1945,6 +1947,34 @@
1945
1947
 
1946
1948
 
1947
1949
 
1950
+ <li class="md-nav__item">
1951
+ <a href="partials.html" class="md-nav__link">
1952
+
1953
+
1954
+
1955
+ <span class="md-ellipsis">
1956
+
1957
+
1958
+ Partials Settings
1959
+
1960
+
1961
+
1962
+ </span>
1963
+
1964
+
1965
+
1966
+ </a>
1967
+ </li>
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1948
1978
  <li class="md-nav__item">
1949
1979
  <a href="release-build.html" class="md-nav__link">
1950
1980
 
@@ -1795,6 +1795,8 @@
1795
1795
 
1796
1796
 
1797
1797
 
1798
+
1799
+
1798
1800
 
1799
1801
 
1800
1802
 
@@ -1945,6 +1947,34 @@
1945
1947
 
1946
1948
 
1947
1949
 
1950
+ <li class="md-nav__item">
1951
+ <a href="partials.html" class="md-nav__link">
1952
+
1953
+
1954
+
1955
+ <span class="md-ellipsis">
1956
+
1957
+
1958
+ Partials Settings
1959
+
1960
+
1961
+
1962
+ </span>
1963
+
1964
+
1965
+
1966
+ </a>
1967
+ </li>
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1948
1978
  <li class="md-nav__item">
1949
1979
  <a href="release-build.html" class="md-nav__link">
1950
1980
 
@@ -4110,6 +4140,12 @@ configuration for flexible, composable builds.</p>
4110
4140
  <p>Assembly file support for test suite builds.</p>
4111
4141
  </li>
4112
4142
  <li>
4143
+ <p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 21.5c-1.35-.85-3.8-1.5-5.5-1.5-1.65 0-3.35.3-4.75 1.05-.1.05-.15.05-.25.05-.25 0-.5-.25-.5-.5V6c.6-.45 1.25-.75 2-1 1.11-.35 2.33-.5 3.5-.5 1.95 0 4.05.4 5.5 1.5 1.45-1.1 3.55-1.5 5.5-1.5 1.17 0 2.39.15 3.5.5.75.25 1.4.55 2 1v14.6c0 .25-.25.5-.5.5-.1 0-.15 0-.25-.05-1.4-.75-3.1-1.05-4.75-1.05-1.7 0-4.15.65-5.5 1.5M12 8v11.5c1.35-.85 3.8-1.5 5.5-1.5 1.2 0 2.4.15 3.5.5V7c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5m1 3.5c1.11-.68 2.6-1 4.5-1 .91 0 1.76.09 2.5.28V9.23c-.87-.15-1.71-.23-2.5-.23q-2.655 0-4.5.84zm4.5.17c-1.71 0-3.21.26-4.5.79v1.69c1.11-.65 2.6-.99 4.5-.99 1.04 0 1.88.08 2.5.24v-1.5c-.87-.16-1.71-.23-2.5-.23m2.5 2.9c-.87-.16-1.71-.24-2.5-.24-1.83 0-3.33.27-4.5.8v1.69c1.11-.66 2.6-.99 4.5-.99 1.04 0 1.88.08 2.5.24z"/></svg></span> <strong><a href="partials.html"><code>:partials</code> — Partials Settings</a></strong></p>
4144
+ <hr />
4145
+ <p>Bound how large a single C construct may grow during extraction before
4146
+ Partial generation fails outright rather than searching indefinitely.</p>
4147
+ </li>
4148
+ <li>
4113
4149
  <p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 21.5c-1.35-.85-3.8-1.5-5.5-1.5-1.65 0-3.35.3-4.75 1.05-.1.05-.15.05-.25.05-.25 0-.5-.25-.5-.5V6c.6-.45 1.25-.75 2-1 1.11-.35 2.33-.5 3.5-.5 1.95 0 4.05.4 5.5 1.5 1.45-1.1 3.55-1.5 5.5-1.5 1.17 0 2.39.15 3.5.5.75.25 1.4.55 2 1v14.6c0 .25-.25.5-.5.5-.1 0-.15 0-.25-.05-1.4-.75-3.1-1.05-4.75-1.05-1.7 0-4.15.65-5.5 1.5M12 8v11.5c1.35-.85 3.8-1.5 5.5-1.5 1.2 0 2.4.15 3.5.5V7c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5m1 3.5c1.11-.68 2.6-1 4.5-1 .91 0 1.76.09 2.5.28V9.23c-.87-.15-1.71-.23-2.5-.23q-2.655 0-4.5.84zm4.5.17c-1.71 0-3.21.26-4.5.79v1.69c1.11-.65 2.6-.99 4.5-.99 1.04 0 1.88.08 2.5.24v-1.5c-.87-.16-1.71-.23-2.5-.23m2.5 2.9c-.87-.16-1.71-.24-2.5-.24-1.83 0-3.33.27-4.5.8v1.69c1.11-.66 2.6-.99 4.5-.99 1.04 0 1.88.08 2.5.24z"/></svg></span> <strong><a href="release-build.html"><code>:release_build</code> — Release Build Settings</a></strong></p>
4114
4150
  <hr />
4115
4151
  <p>Output artifact name, assembly support, and additional artifact file copying.</p>
@@ -1795,6 +1795,8 @@
1795
1795
 
1796
1796
 
1797
1797
 
1798
+
1799
+
1798
1800
 
1799
1801
 
1800
1802
 
@@ -1945,6 +1947,34 @@
1945
1947
 
1946
1948
 
1947
1949
 
1950
+ <li class="md-nav__item">
1951
+ <a href="partials.html" class="md-nav__link">
1952
+
1953
+
1954
+
1955
+ <span class="md-ellipsis">
1956
+
1957
+
1958
+ Partials Settings
1959
+
1960
+
1961
+
1962
+ </span>
1963
+
1964
+
1965
+
1966
+ </a>
1967
+ </li>
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1948
1978
  <li class="md-nav__item">
1949
1979
  <a href="release-build.html" class="md-nav__link">
1950
1980
 
@@ -1795,6 +1795,8 @@
1795
1795
 
1796
1796
 
1797
1797
 
1798
+
1799
+
1798
1800
 
1799
1801
 
1800
1802
 
@@ -2003,6 +2005,34 @@
2003
2005
 
2004
2006
 
2005
2007
 
2008
+ <li class="md-nav__item">
2009
+ <a href="partials.html" class="md-nav__link">
2010
+
2011
+
2012
+
2013
+ <span class="md-ellipsis">
2014
+
2015
+
2016
+ Partials Settings
2017
+
2018
+
2019
+
2020
+ </span>
2021
+
2022
+
2023
+
2024
+ </a>
2025
+ </li>
2026
+
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+
2006
2036
  <li class="md-nav__item">
2007
2037
  <a href="release-build.html" class="md-nav__link">
2008
2038