ceedling 0.31.1 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/GIT_COMMIT_SHA +1 -0
- data/Gemfile +19 -11
- data/Gemfile.lock +31 -24
- data/README.md +716 -75
- data/Rakefile +15 -0
- data/assets/ceedling +6 -0
- data/assets/default_gitignore +7 -5
- data/assets/example_file.c +11 -0
- data/assets/example_file.h +9 -0
- data/assets/example_file_call.c +7 -0
- data/assets/example_file_call.h +7 -0
- data/assets/project.yml +402 -0
- data/assets/test_example_file.c +9 -2
- data/assets/test_example_file_boom.c +9 -2
- data/assets/test_example_file_crash.c +25 -0
- data/assets/test_example_file_success.c +9 -2
- data/assets/test_example_file_unity_printf.c +8 -1
- data/assets/test_example_file_verbose.c +8 -1
- data/assets/test_example_file_with_mock.c +8 -1
- data/assets/test_example_with_parameterized_tests.c +12 -3
- data/assets/tests_with_defines/src/adc_hardware.c +8 -1
- data/assets/tests_with_defines/src/adc_hardware.h +7 -0
- data/assets/tests_with_defines/src/adc_hardware_configurator.c +8 -1
- data/assets/tests_with_defines/src/adc_hardware_configurator.h +8 -1
- data/assets/tests_with_defines/test/test_adc_hardware.c +7 -0
- data/assets/tests_with_defines/test/test_adc_hardware_special.c +7 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareA.c +17 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareA.h +13 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareB.c +14 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareB.h +13 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareC.c +14 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareC.h +13 -0
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +13 -0
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +15 -0
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +15 -0
- data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +41 -0
- data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +25 -0
- data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +29 -0
- data/assets/uncovered_example_file.c +7 -0
- data/bin/actions_wrapper.rb +50 -0
- data/bin/app_cfg.rb +134 -0
- data/bin/ceedling +139 -329
- data/bin/cli.rb +542 -0
- data/bin/cli_handler.rb +480 -0
- data/bin/cli_helper.rb +512 -0
- data/bin/configinator.rb +111 -0
- data/bin/mixinator.rb +136 -0
- data/bin/mixins.rb +12 -0
- data/bin/objects.yml +80 -0
- data/bin/path_validator.rb +54 -0
- data/bin/projectinator.rb +244 -0
- data/bin/versionator.rb +81 -0
- data/ceedling.gemspec +20 -9
- data/config/test_environment.rb +6 -2
- data/docs/BreakingChanges.md +260 -0
- data/docs/CODE_OF_CONDUCT.md +138 -0
- data/docs/CONTRIBUTING.md +240 -0
- data/docs/CeedlingPacket.md +4999 -1614
- data/docs/CeedlingPullRequestChecklist.md +24 -0
- data/docs/CeedlingUpgrade.md +1 -1
- data/docs/Changelog.md +493 -0
- data/docs/PluginDevelopmentGuide.md +764 -0
- data/docs/ReleaseNotes.md +353 -0
- data/docs/SECURITY.md +41 -0
- data/examples/temp_sensor/README.md +18 -0
- data/examples/temp_sensor/mixin/add_gcov.yml +51 -0
- data/examples/temp_sensor/mixin/add_unity_helper.yml +26 -0
- data/examples/temp_sensor/project.yml +315 -28
- data/examples/temp_sensor/src/AdcConductor.c +7 -0
- data/examples/temp_sensor/src/AdcConductor.h +7 -0
- data/examples/temp_sensor/src/AdcHardware.c +7 -0
- data/examples/temp_sensor/src/AdcHardware.h +7 -0
- data/examples/temp_sensor/src/AdcHardwareConfigurator.c +7 -0
- data/examples/temp_sensor/src/AdcHardwareConfigurator.h +7 -0
- data/examples/temp_sensor/src/AdcModel.c +7 -0
- data/examples/temp_sensor/src/AdcModel.h +7 -0
- data/examples/temp_sensor/src/AdcTemperatureSensor.c +7 -0
- data/examples/temp_sensor/src/AdcTemperatureSensor.h +7 -0
- data/examples/temp_sensor/src/Executor.c +7 -0
- data/examples/temp_sensor/src/Executor.h +7 -0
- data/examples/temp_sensor/src/IntrinsicsWrapper.c +7 -0
- data/examples/temp_sensor/src/IntrinsicsWrapper.h +7 -0
- data/examples/temp_sensor/src/Main.c +7 -0
- data/examples/temp_sensor/src/Main.h +7 -0
- data/examples/temp_sensor/src/Model.c +7 -0
- data/examples/temp_sensor/src/Model.h +7 -0
- data/examples/temp_sensor/src/ModelConfig.h +7 -0
- data/examples/temp_sensor/src/TaskScheduler.c +7 -0
- data/examples/temp_sensor/src/TaskScheduler.h +7 -0
- data/examples/temp_sensor/src/TemperatureCalculator.c +12 -1
- data/examples/temp_sensor/src/TemperatureCalculator.h +7 -0
- data/examples/temp_sensor/src/TemperatureFilter.c +7 -0
- data/examples/temp_sensor/src/TemperatureFilter.h +7 -0
- data/examples/temp_sensor/src/TimerConductor.c +7 -0
- data/examples/temp_sensor/src/TimerConductor.h +7 -0
- data/examples/temp_sensor/src/TimerConfigurator.c +7 -0
- data/examples/temp_sensor/src/TimerConfigurator.h +7 -0
- data/examples/temp_sensor/src/TimerHardware.c +7 -0
- data/examples/temp_sensor/src/TimerHardware.h +7 -0
- data/examples/temp_sensor/src/TimerInterruptConfigurator.c +7 -0
- data/examples/temp_sensor/src/TimerInterruptConfigurator.h +7 -0
- data/examples/temp_sensor/src/TimerInterruptHandler.c +7 -0
- data/examples/temp_sensor/src/TimerInterruptHandler.h +7 -0
- data/examples/temp_sensor/src/TimerModel.c +7 -0
- data/examples/temp_sensor/src/TimerModel.h +7 -0
- data/examples/temp_sensor/src/Types.h +7 -0
- data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +7 -0
- data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +7 -0
- data/examples/temp_sensor/src/UsartConductor.c +7 -0
- data/examples/temp_sensor/src/UsartConductor.h +7 -0
- data/examples/temp_sensor/src/UsartConfigurator.c +7 -0
- data/examples/temp_sensor/src/UsartConfigurator.h +7 -0
- data/examples/temp_sensor/src/UsartHardware.c +7 -0
- data/examples/temp_sensor/src/UsartHardware.h +7 -0
- data/examples/temp_sensor/src/UsartModel.c +7 -0
- data/examples/temp_sensor/src/UsartModel.h +7 -0
- data/examples/temp_sensor/src/UsartPutChar.c +7 -0
- data/examples/temp_sensor/src/UsartPutChar.h +7 -0
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +7 -0
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +7 -0
- data/examples/temp_sensor/test/TestExecutor.c +8 -1
- data/examples/temp_sensor/test/TestMain.c +7 -0
- data/examples/temp_sensor/test/TestModel.c +7 -0
- data/examples/temp_sensor/test/TestTaskScheduler.c +37 -30
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +8 -1
- data/examples/temp_sensor/test/TestTemperatureFilter.c +7 -0
- data/examples/temp_sensor/test/TestTimerConductor.c +7 -0
- data/examples/temp_sensor/test/TestTimerHardware.c +7 -0
- data/examples/temp_sensor/test/TestTimerIntegrated.c +53 -0
- data/examples/temp_sensor/test/TestTimerModel.c +7 -0
- data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +12 -5
- data/examples/temp_sensor/test/TestUsartConductor.c +7 -0
- data/examples/temp_sensor/test/TestUsartHardware.c +7 -0
- data/examples/temp_sensor/test/TestUsartIntegrated.c +63 -0
- data/examples/temp_sensor/test/TestUsartModel.c +8 -1
- data/examples/temp_sensor/test/{TestAdcConductor.c → adc/TestAdcConductor.c} +7 -0
- data/examples/temp_sensor/test/{TestAdcHardware.c → adc/TestAdcHardware.c} +8 -1
- data/examples/temp_sensor/test/{TestAdcModel.c → adc/TestAdcModel.c} +9 -2
- data/examples/temp_sensor/test/support/UnityHelper.c +11 -4
- data/examples/temp_sensor/test/support/UnityHelper.h +11 -6
- data/lib/ceedling/application.rb +26 -0
- data/lib/ceedling/backtrace.gdb +5 -0
- data/lib/ceedling/build_batchinator.rb +113 -0
- data/lib/ceedling/cacheinator.rb +6 -0
- data/lib/ceedling/cacheinator_helper.rb +6 -0
- data/lib/ceedling/config_matchinator.rb +192 -0
- data/lib/ceedling/config_walkinator.rb +35 -0
- data/lib/ceedling/configurator.rb +544 -191
- data/lib/ceedling/configurator_builder.rb +262 -179
- data/lib/ceedling/configurator_plugins.rb +71 -37
- data/lib/ceedling/configurator_setup.rb +726 -55
- data/lib/ceedling/configurator_validator.rb +152 -142
- data/lib/ceedling/constants.rb +97 -36
- data/lib/ceedling/defaults.rb +231 -225
- data/lib/ceedling/defineinator.rb +90 -0
- data/lib/ceedling/dependinator.rb +9 -75
- data/lib/ceedling/encodinator.rb +26 -0
- data/lib/ceedling/erb_wrapper.rb +8 -1
- data/lib/ceedling/exceptions.rb +47 -0
- data/lib/ceedling/file_finder.rb +136 -102
- data/lib/ceedling/file_finder_helper.rb +93 -33
- data/lib/ceedling/file_path_collection_utils.rb +137 -0
- data/lib/ceedling/file_path_utils.rb +72 -84
- data/lib/ceedling/file_system_wrapper.rb +6 -0
- data/lib/ceedling/file_wrapper.rb +42 -3
- data/lib/ceedling/flaginator.rb +43 -52
- data/lib/ceedling/generator.rb +283 -104
- data/lib/ceedling/generator_helper.rb +63 -25
- data/lib/ceedling/generator_mocks.rb +41 -0
- data/lib/ceedling/generator_test_results.rb +200 -30
- data/lib/ceedling/generator_test_results_backtrace.rb +215 -0
- data/lib/ceedling/generator_test_results_sanity_checker.rb +13 -8
- data/lib/ceedling/generator_test_runner.rb +62 -36
- data/lib/ceedling/include_pathinator.rb +83 -0
- data/lib/ceedling/loginator.rb +314 -19
- data/lib/ceedling/makefile.rb +6 -0
- data/lib/ceedling/objects.yml +120 -81
- data/lib/ceedling/parsing_parcels.rb +77 -0
- data/lib/ceedling/plugin.rb +14 -64
- data/lib/ceedling/plugin_manager.rb +45 -19
- data/lib/ceedling/plugin_manager_helper.rb +8 -2
- data/lib/ceedling/plugin_reportinator.rb +93 -30
- data/lib/ceedling/plugin_reportinator_helper.rb +60 -27
- data/lib/ceedling/preprocessinator.rb +213 -30
- data/lib/ceedling/preprocessinator_extractor.rb +238 -36
- data/lib/ceedling/preprocessinator_file_handler.rb +210 -15
- data/lib/ceedling/preprocessinator_includes_handler.rb +353 -160
- data/lib/ceedling/rake_utils.rb +6 -0
- data/lib/ceedling/rake_wrapper.rb +7 -0
- data/lib/ceedling/rakefile.rb +125 -65
- data/lib/ceedling/release_invoker.rb +11 -41
- data/lib/ceedling/release_invoker_helper.rb +6 -13
- data/lib/ceedling/reportinator.rb +99 -1
- data/lib/ceedling/rules_release.rake +45 -37
- data/lib/ceedling/rules_tests.rake +48 -59
- data/lib/ceedling/setupinator.rb +181 -35
- data/lib/ceedling/stream_wrapper.rb +38 -15
- data/lib/ceedling/system_utils.rb +8 -2
- data/lib/ceedling/system_wrapper.rb +83 -13
- data/lib/ceedling/task_invoker.rb +15 -67
- data/lib/ceedling/tasks_base.rake +15 -92
- data/lib/ceedling/tasks_filesystem.rake +35 -49
- data/lib/ceedling/tasks_release.rake +25 -12
- data/lib/ceedling/tasks_tests.rake +31 -22
- data/lib/ceedling/test_context_extractor.rb +379 -0
- data/lib/ceedling/test_invoker.rb +452 -111
- data/lib/ceedling/test_invoker_helper.rb +332 -17
- data/lib/ceedling/test_runner_manager.rb +47 -0
- data/lib/ceedling/tool_executor.rb +92 -88
- data/lib/ceedling/tool_executor_helper.rb +49 -106
- data/lib/ceedling/tool_validator.rb +149 -0
- data/lib/ceedling/verbosinator.rb +15 -3
- data/lib/ceedling/yaml_wrapper.rb +21 -1
- data/lib/ceedling.rb +12 -97
- data/lib/version.rb +24 -0
- data/license.txt +20 -27
- data/plugins/beep/README.md +124 -13
- data/plugins/beep/config/defaults.yml +12 -0
- data/plugins/beep/config/defaults_beep.rb +67 -0
- data/plugins/beep/lib/beep.rb +71 -26
- data/plugins/bullseye/README.md +9 -4
- data/plugins/bullseye/bullseye.rake +43 -36
- data/plugins/bullseye/config/defaults.yml +55 -46
- data/plugins/bullseye/lib/bullseye.rb +25 -16
- data/plugins/command_hooks/README.md +230 -42
- data/plugins/command_hooks/lib/command_hooks.rb +198 -59
- data/plugins/compile_commands_json_db/README.md +40 -0
- data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +51 -0
- data/plugins/dependencies/README.md +113 -46
- data/plugins/dependencies/Rakefile +188 -0
- data/plugins/dependencies/config/defaults.yml +74 -1
- data/plugins/dependencies/dependencies.rake +28 -18
- data/plugins/dependencies/example/boss/project.yml +231 -0
- data/plugins/dependencies/example/boss/src/boss.c +80 -0
- data/plugins/dependencies/example/boss/src/boss.h +16 -0
- data/plugins/dependencies/example/boss/src/main.c +45 -0
- data/plugins/dependencies/example/boss/test/test_boss.c +118 -0
- data/plugins/dependencies/example/supervisor/project.yml +165 -0
- data/plugins/dependencies/example/supervisor/src/supervisor.c +45 -0
- data/plugins/dependencies/example/supervisor/src/supervisor.h +14 -0
- data/plugins/dependencies/example/supervisor/test/test_supervisor.c +58 -0
- data/plugins/dependencies/example/version.tar.gzip +0 -0
- data/plugins/dependencies/example/workerbees.zip +0 -0
- data/plugins/dependencies/lib/dependencies.rb +372 -78
- data/plugins/{fake_function_framework → fff}/README.md +9 -17
- data/plugins/fff/Rakefile +26 -0
- data/plugins/fff/config/fff.yml +13 -0
- data/plugins/fff/examples/fff_example/project.yml +145 -0
- data/plugins/fff/examples/fff_example/src/bar.c +8 -0
- data/plugins/{fake_function_framework → fff}/examples/fff_example/src/bar.h +7 -0
- data/plugins/fff/examples/fff_example/src/custom_types.h +13 -0
- data/plugins/fff/examples/fff_example/src/display.c +14 -0
- data/plugins/{fake_function_framework → fff}/examples/fff_example/src/display.h +7 -0
- data/plugins/{fake_function_framework → fff}/examples/fff_example/src/event_processor.c +7 -0
- data/plugins/{fake_function_framework → fff}/examples/fff_example/src/event_processor.h +7 -0
- data/plugins/fff/examples/fff_example/src/foo.c +23 -0
- data/plugins/fff/examples/fff_example/src/foo.h +15 -0
- data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +8 -0
- data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +13 -0
- data/plugins/{fake_function_framework → fff}/examples/fff_example/test/test_event_processor.c +24 -19
- data/plugins/{fake_function_framework → fff}/examples/fff_example/test/test_foo.c +7 -0
- data/plugins/{fake_function_framework/lib/fake_function_framework.rb → fff/lib/fff.rb} +22 -19
- data/plugins/{fake_function_framework → fff}/lib/fff_mock_generator.rb +9 -0
- data/plugins/{fake_function_framework → fff}/spec/fff_mock_header_generator_spec.rb +7 -0
- data/plugins/{fake_function_framework → fff}/spec/fff_mock_source_generator_spec.rb +7 -0
- data/plugins/{fake_function_framework → fff}/spec/header_generator.rb +7 -0
- data/plugins/{fake_function_framework → fff}/spec/spec_helper.rb +7 -0
- data/plugins/{fake_function_framework → fff}/src/fff_unity_helper.h +7 -0
- data/plugins/fff/vendor/fff/LICENSE +25 -0
- data/plugins/fff/vendor/fff/Makefile +10 -0
- data/plugins/fff/vendor/fff/README.md +454 -0
- data/plugins/fff/vendor/fff/buildandtest +15 -0
- data/plugins/fff/vendor/fff/examples/Makefile +7 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/Makefile +64 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.c +32 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.h +21 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +58 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.fff.cpp +70 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/hardware_abstraction.h +25 -0
- data/plugins/fff/vendor/fff/examples/driver_testing/registers.h +23 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/DISPLAY.h +27 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +25 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +67 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/SYSTEM.h +31 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI.c +56 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI.h +22 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_ansic.c +191 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +144 -0
- data/plugins/fff/vendor/fff/examples/embedded_ui/test_suite_template.c +42 -0
- data/plugins/fff/vendor/fff/fakegen.rb +428 -0
- data/plugins/fff/vendor/fff/fff.h +5122 -0
- data/plugins/fff/vendor/fff/gtest/Makefile +22 -0
- data/plugins/fff/vendor/fff/gtest/gtest-all.cc +9118 -0
- data/plugins/fff/vendor/fff/gtest/gtest-main.cc +6 -0
- data/plugins/fff/vendor/fff/gtest/gtest.h +19547 -0
- data/plugins/fff/vendor/fff/test/Makefile +81 -0
- data/plugins/fff/vendor/fff/test/c_test_framework.h +25 -0
- data/plugins/fff/vendor/fff/test/fff_test_c.c +116 -0
- data/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +53 -0
- data/plugins/fff/vendor/fff/test/fff_test_global_c.c +84 -0
- data/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +31 -0
- data/plugins/fff/vendor/fff/test/global_fakes.c +21 -0
- data/plugins/fff/vendor/fff/test/global_fakes.h +47 -0
- data/plugins/fff/vendor/fff/test/test_cases.include +276 -0
- data/plugins/gcov/README.md +631 -171
- data/plugins/gcov/config/defaults.yml +30 -0
- data/plugins/gcov/config/defaults_gcov.rb +96 -105
- data/plugins/gcov/gcov.rake +43 -152
- data/plugins/gcov/lib/gcov.rb +234 -88
- data/plugins/gcov/lib/gcov_constants.rb +25 -10
- data/plugins/gcov/lib/gcovr_reportinator.rb +245 -151
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +93 -68
- data/plugins/gcov/lib/reportinator_helper.rb +23 -8
- data/plugins/module_generator/README.md +163 -15
- data/plugins/module_generator/Rakefile +232 -0
- data/plugins/module_generator/assets/stubby1.h +13 -0
- data/plugins/module_generator/assets/stubby2.h +15 -0
- data/plugins/module_generator/config/module_generator.yml +12 -3
- data/plugins/module_generator/example/project.yml +174 -0
- data/plugins/module_generator/lib/module_generator.rb +63 -21
- data/plugins/module_generator/module_generator.rake +7 -0
- data/plugins/report_build_warnings_log/README.md +40 -0
- data/plugins/report_build_warnings_log/config/defaults.yml +12 -0
- data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +143 -0
- data/plugins/report_tests_gtestlike_stdout/README.md +96 -0
- data/plugins/{stdout_gtestlike_tests_report → report_tests_gtestlike_stdout}/assets/template.erb +6 -7
- data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +11 -0
- data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +69 -0
- data/plugins/report_tests_ide_stdout/README.md +62 -0
- data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +11 -0
- data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +72 -0
- data/plugins/report_tests_log_factory/README.md +446 -0
- data/plugins/report_tests_log_factory/config/defaults.yml +11 -0
- data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +100 -0
- data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +181 -0
- data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +72 -0
- data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +197 -0
- data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +135 -0
- data/plugins/report_tests_log_factory/lib/tests_reporter.rb +70 -0
- data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
- data/plugins/report_tests_pretty_stdout/README.md +54 -0
- data/plugins/{stdout_pretty_tests_report → report_tests_pretty_stdout}/assets/template.erb +13 -9
- data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +11 -0
- data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +73 -0
- data/plugins/report_tests_raw_output_log/README.md +50 -0
- data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +129 -0
- data/plugins/report_tests_teamcity_stdout/README.md +94 -0
- data/plugins/report_tests_teamcity_stdout/config/defaults.yml +12 -0
- data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +11 -0
- data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +163 -0
- data/spec/config_walkinator_spec.rb +62 -0
- data/spec/configurator_builder_spec.rb +9 -0
- data/spec/configurator_helper_spec.rb +7 -0
- data/spec/configurator_spec.rb +8 -0
- data/spec/file_finder_helper_spec.rb +30 -10
- data/spec/gcov/gcov_deployment_spec.rb +82 -20
- data/spec/gcov/gcov_test_cases_spec.rb +211 -64
- data/spec/generator_test_results_sanity_checker_spec.rb +26 -10
- data/spec/generator_test_results_spec.rb +44 -20
- data/spec/manual/stress_test.rb +31 -0
- data/spec/parsing_parcels_spec.rb +66 -0
- data/spec/preprocessinator_extractor_spec.rb +379 -52
- data/spec/preprocessinator_includes_handler_spec.rb +268 -262
- data/spec/reportinator_spec.rb +7 -0
- data/spec/spec_helper.rb +8 -3
- data/spec/spec_system_helper.rb +504 -185
- data/spec/support/other_target.yml +7 -0
- data/spec/support/target.yml +7 -0
- data/spec/support/test_example.fail +3 -2
- data/spec/support/test_example.pass +3 -2
- data/spec/support/test_example_empty.pass +3 -2
- data/spec/support/test_example_ignore.pass +3 -2
- data/spec/support/test_example_mangled.pass +3 -2
- data/spec/support/test_example_with_time.pass +3 -2
- data/spec/system/deployment_as_gem_spec.rb +76 -0
- data/spec/system/deployment_as_vendor_spec.rb +123 -0
- data/spec/system/example_temp_sensor_spec.rb +264 -0
- data/spec/system/upgrade_as_vendor_spec.rb +68 -0
- data/spec/system_utils_spec.rb +15 -6
- data/spec/test_context_extractor_spec.rb +328 -0
- data/spec/tool_executor_helper_spec.rb +116 -207
- data/spec/uncategorized_specs_spec.rb +15 -0
- data/vendor/c_exception/README.md +1 -12
- data/vendor/c_exception/docs/CException.md +4 -47
- data/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
- data/vendor/c_exception/lib/CException.c +13 -0
- data/vendor/c_exception/lib/CException.h +8 -1
- data/vendor/c_exception/license.txt +22 -0
- data/vendor/c_exception/project.yml +232 -6
- data/vendor/c_exception/test/TestException.c +10 -3
- data/vendor/c_exception/test/support/CExceptionConfig.h +7 -0
- data/vendor/cmock/Gemfile +0 -7
- data/vendor/cmock/LICENSE.txt +3 -1
- data/vendor/cmock/README.md +27 -11
- data/vendor/cmock/cmock.gemspec +34 -0
- data/vendor/cmock/config/production_environment.rb +7 -6
- data/vendor/cmock/config/test_environment.rb +7 -6
- data/vendor/cmock/docs/CMockChangeLog.md +166 -0
- data/vendor/cmock/docs/CMockKnownIssues.md +13 -0
- data/vendor/cmock/docs/CMock_ArgumentValidation.md +274 -0
- data/vendor/cmock/docs/CMock_Summary.md +43 -8
- data/vendor/cmock/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/cmock/docs/CONTRIBUTING.md +238 -0
- data/vendor/cmock/examples/make_example/Makefile +1 -1
- data/vendor/cmock/examples/make_example/src/foo.c +7 -0
- data/vendor/cmock/examples/make_example/src/foo.h +7 -0
- data/vendor/cmock/examples/make_example/src/main.c +7 -0
- data/vendor/cmock/examples/make_example/test/test_foo.c +8 -1
- data/vendor/cmock/examples/make_example/test/test_main.c +7 -0
- data/vendor/cmock/examples/temp_sensor/rakefile.rb +8 -1
- data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +33 -21
- data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +20 -12
- data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/Executor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/Executor.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/Main.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/Main.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/Model.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/Model.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +15 -5
- data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +8 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/Types.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +7 -0
- data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +7 -0
- data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +97 -0
- data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +143 -0
- data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +132 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestMain.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestModel.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +9 -2
- data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +7 -0
- data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +7 -0
- data/vendor/cmock/lib/cmock.rb +27 -11
- data/vendor/cmock/lib/cmock_config.rb +22 -12
- data/vendor/cmock/lib/cmock_file_writer.rb +10 -9
- data/vendor/cmock/lib/cmock_generator.rb +29 -18
- data/vendor/cmock/lib/cmock_generator_plugin_array.rb +15 -10
- data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +7 -7
- data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +7 -7
- data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +14 -9
- data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +11 -9
- data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +10 -8
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +7 -0
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +10 -8
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +31 -8
- data/vendor/cmock/lib/cmock_generator_utils.rb +11 -10
- data/vendor/cmock/lib/cmock_header_parser.rb +43 -37
- data/vendor/cmock/lib/cmock_plugin_manager.rb +8 -7
- data/vendor/cmock/lib/cmock_unityhelper_parser.rb +13 -8
- data/vendor/cmock/lib/cmock_version.rb +29 -0
- data/vendor/cmock/scripts/create_makefile.rb +13 -6
- data/vendor/cmock/scripts/create_mock.rb +7 -0
- data/vendor/cmock/scripts/create_runner.rb +7 -0
- data/vendor/cmock/scripts/test_summary.rb +7 -0
- data/vendor/cmock/src/cmock.c +24 -2
- data/vendor/cmock/src/cmock.h +9 -2
- data/vendor/cmock/src/cmock_internals.h +7 -0
- data/vendor/cmock/test/c/TestCMockC.c +8 -1
- data/vendor/cmock/test/c/TestCMockC.yml +7 -0
- data/vendor/cmock/test/c/TestCMockCDynamic.c +7 -0
- data/vendor/cmock/test/c/TestCMockCDynamic.yml +7 -0
- data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +7 -0
- data/vendor/cmock/test/c/TestCMockC_Runner.c +7 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +7 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +7 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +7 -0
- data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +7 -0
- data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +7 -0
- data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +7 -0
- data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +7 -0
- data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +7 -0
- data/vendor/cmock/test/rakefile +6 -3
- data/vendor/cmock/test/rakefile_helper.rb +25 -11
- data/vendor/cmock/test/system/systest_generator.rb +6 -5
- data/vendor/cmock/test/system/test_compilation/callingconv.h +7 -0
- data/vendor/cmock/test/system/test_compilation/config.yml +7 -0
- data/vendor/cmock/test/system/test_compilation/const.h +7 -0
- data/vendor/cmock/test/system/test_compilation/inline.h +7 -0
- data/vendor/cmock/test/system/test_compilation/osek.h +8 -1
- data/vendor/cmock/test/system/test_compilation/parsing.h +12 -2
- data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_and_expect_any_args.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/skeleton.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +8 -1
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +7 -0
- data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +149 -0
- data/vendor/cmock/test/targets/clang_strict.yml +7 -0
- data/vendor/cmock/test/targets/gcc.yml +7 -0
- data/vendor/cmock/test/targets/gcc_64.yml +7 -0
- data/vendor/cmock/test/targets/gcc_tiny.yml +7 -0
- data/vendor/cmock/test/targets/iar_arm_v4.yml +7 -0
- data/vendor/cmock/test/targets/iar_arm_v5.yml +7 -0
- data/vendor/cmock/test/test_helper.rb +6 -5
- data/vendor/cmock/test/unit/cmock_config_test.rb +6 -5
- data/vendor/cmock/test/unit/cmock_config_test.yml +7 -0
- data/vendor/cmock/test/unit/cmock_file_writer_test.rb +6 -5
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +29 -17
- data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +12 -8
- data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +6 -5
- data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +6 -5
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +12 -8
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +11 -7
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +12 -8
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +6 -5
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +13 -8
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +13 -8
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +87 -14
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +6 -5
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +54 -17
- data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +6 -5
- data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +6 -5
- data/vendor/cmock/vendor/c_exception/README.md +4 -17
- data/vendor/cmock/vendor/c_exception/docs/CException.md +5 -48
- data/vendor/cmock/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/cmock/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.c +13 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.h +8 -1
- data/vendor/cmock/vendor/c_exception/lib/meson.build +2 -2
- data/vendor/cmock/vendor/c_exception/license.txt +22 -0
- data/vendor/cmock/vendor/c_exception/meson.build +2 -36
- data/vendor/cmock/vendor/c_exception/project.yml +232 -6
- data/vendor/cmock/vendor/c_exception/test/TestException.c +10 -3
- data/vendor/cmock/vendor/c_exception/test/support/CExceptionConfig.h +7 -0
- data/vendor/cmock/vendor/unity/CMakeLists.txt +46 -33
- data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
- data/vendor/cmock/vendor/unity/README.md +33 -5
- data/vendor/cmock/vendor/unity/auto/__init__.py +7 -0
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +6 -5
- data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +7 -6
- data/vendor/cmock/vendor/unity/auto/extract_version.py +22 -0
- data/vendor/cmock/vendor/unity/auto/generate_config.yml +7 -0
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +32 -27
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +71 -35
- data/vendor/cmock/vendor/unity/auto/parse_output.rb +90 -22
- data/vendor/cmock/vendor/unity/auto/run_test.erb +2 -2
- data/vendor/cmock/vendor/unity/auto/{unity_to_junit.py → stylize_as_junit.py} +54 -39
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +8 -6
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +11 -8
- data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +8 -1
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +7 -6
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +13 -8
- data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +23 -0
- data/vendor/cmock/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/cmock/vendor/unity/docs/CONTRIBUTING.md +238 -0
- data/vendor/cmock/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +133 -60
- data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +110 -0
- data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +151 -2
- data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +289 -1
- data/vendor/cmock/vendor/unity/docs/UnityKnownIssues.md +13 -0
- data/vendor/cmock/vendor/unity/examples/example_1/makefile +6 -5
- data/vendor/cmock/vendor/unity/examples/example_1/meson.build +48 -0
- data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +8 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +6 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +6 -0
- data/vendor/cmock/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_2/makefile +6 -5
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +6 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +6 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +7 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +7 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +7 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +7 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +7 -0
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +7 -0
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +7 -0
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +7 -0
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +26 -21
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +6 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +6 -0
- data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +7 -0
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_4/meson.build +2 -2
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +6 -0
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +6 -0
- data/vendor/cmock/vendor/unity/examples/example_4/subprojects/unity.wrap +3 -1
- data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +6 -0
- data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/meson.build +3 -3
- data/vendor/cmock/vendor/unity/examples/unity_config.h +8 -1
- data/vendor/cmock/vendor/unity/extras/bdd/readme.md +40 -0
- data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
- data/vendor/cmock/vendor/unity/extras/bdd/test/meson.build +9 -0
- data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
- data/vendor/cmock/vendor/unity/extras/fixture/readme.md +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/src/meson.build +10 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +18 -7
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
- data/vendor/cmock/vendor/unity/extras/memory/src/meson.build +9 -0
- data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +6 -5
- data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +6 -5
- data/vendor/cmock/vendor/unity/extras/memory/test/Makefile +7 -0
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +6 -5
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +6 -5
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +6 -5
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +6 -5
- data/vendor/cmock/vendor/unity/library.json +25 -0
- data/vendor/cmock/vendor/unity/meson.build +71 -5
- data/vendor/cmock/vendor/unity/meson_options.txt +3 -0
- data/vendor/cmock/vendor/unity/platformio-build.py +24 -0
- data/vendor/cmock/vendor/unity/src/meson.build +11 -5
- data/vendor/cmock/vendor/unity/src/unity.c +534 -143
- data/vendor/cmock/vendor/unity/src/unity.h +50 -13
- data/vendor/cmock/vendor/unity/src/unity_internals.h +188 -58
- data/vendor/cmock/vendor/unity/test/Makefile +7 -0
- data/vendor/cmock/vendor/unity/test/rakefile +6 -5
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +9 -8
- data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +6 -0
- data/vendor/cmock/vendor/unity/test/targets/ansi.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +8 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +7 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +7 -0
- data/vendor/cmock/vendor/unity/test/testdata/CException.h +7 -0
- data/vendor/cmock/vendor/unity/test/testdata/Defs.h +8 -0
- data/vendor/cmock/vendor/unity/test/testdata/cmock.h +7 -0
- data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +7 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +18 -3
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +8 -5
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +7 -4
- data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +12 -5
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +107 -26
- data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +73 -6
- data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +12 -8
- data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +517 -5
- data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +516 -5
- data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +21 -5
- data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +16 -6
- data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +6 -5
- data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +146 -8
- data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +6 -5
- data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +21 -0
- data/vendor/diy/LICENSE.txt +7 -0
- data/vendor/diy/README.rdoc +21 -39
- data/vendor/diy/lib/diy/factory.rb +8 -0
- data/vendor/diy/lib/diy.rb +8 -0
- data/vendor/diy/sample_code/car.rb +8 -0
- data/vendor/diy/sample_code/chassis.rb +8 -0
- data/vendor/diy/sample_code/diy_example.rb +8 -0
- data/vendor/diy/sample_code/engine.rb +8 -0
- data/vendor/diy/sample_code/objects.yml +8 -0
- data/vendor/diy/test/constructor.rb +8 -0
- data/vendor/diy/test/diy_test.rb +8 -0
- data/vendor/diy/test/factory_test.rb +8 -0
- data/vendor/diy/test/files/broken_construction.yml +8 -0
- data/vendor/diy/test/files/cat/cat.rb +8 -0
- data/vendor/diy/test/files/cat/extra_conflict.yml +8 -0
- data/vendor/diy/test/files/cat/heritage.rb +8 -0
- data/vendor/diy/test/files/cat/needs_input.yml +8 -0
- data/vendor/diy/test/files/cat/the_cat_lineage.rb +8 -0
- data/vendor/diy/test/files/dog/dog_model.rb +8 -0
- data/vendor/diy/test/files/dog/dog_presenter.rb +8 -0
- data/vendor/diy/test/files/dog/dog_view.rb +8 -0
- data/vendor/diy/test/files/dog/file_resolver.rb +8 -0
- data/vendor/diy/test/files/dog/other_thing.rb +8 -0
- data/vendor/diy/test/files/dog/simple.yml +8 -0
- data/vendor/diy/test/files/donkey/foo/bar/qux.rb +8 -0
- data/vendor/diy/test/files/donkey/foo.rb +8 -0
- data/vendor/diy/test/files/factory/beef.rb +8 -0
- data/vendor/diy/test/files/factory/dog.rb +8 -0
- data/vendor/diy/test/files/factory/factory.yml +8 -0
- data/vendor/diy/test/files/factory/farm/llama.rb +8 -0
- data/vendor/diy/test/files/factory/farm/pork.rb +8 -0
- data/vendor/diy/test/files/factory/kitten.rb +8 -0
- data/vendor/diy/test/files/fud/objects.yml +8 -0
- data/vendor/diy/test/files/fud/toy.rb +8 -0
- data/vendor/diy/test/files/functions/attached_things_builder.rb +8 -0
- data/vendor/diy/test/files/functions/invalid_method.yml +8 -0
- data/vendor/diy/test/files/functions/method_extractor.rb +8 -0
- data/vendor/diy/test/files/functions/nonsingleton_objects.yml +8 -0
- data/vendor/diy/test/files/functions/objects.yml +8 -0
- data/vendor/diy/test/files/functions/thing.rb +8 -0
- data/vendor/diy/test/files/functions/thing_builder.rb +8 -0
- data/vendor/diy/test/files/functions/things_builder.rb +8 -0
- data/vendor/diy/test/files/gnu/objects.yml +8 -0
- data/vendor/diy/test/files/gnu/thinger.rb +8 -0
- data/vendor/diy/test/files/goat/base.rb +8 -0
- data/vendor/diy/test/files/goat/can.rb +8 -0
- data/vendor/diy/test/files/goat/goat.rb +8 -0
- data/vendor/diy/test/files/goat/objects.yml +8 -0
- data/vendor/diy/test/files/goat/paper.rb +8 -0
- data/vendor/diy/test/files/goat/plane.rb +8 -0
- data/vendor/diy/test/files/goat/shirt.rb +8 -0
- data/vendor/diy/test/files/goat/wings.rb +8 -0
- data/vendor/diy/test/files/horse/holder_thing.rb +8 -0
- data/vendor/diy/test/files/horse/objects.yml +8 -0
- data/vendor/diy/test/files/namespace/animal/bird.rb +8 -0
- data/vendor/diy/test/files/namespace/animal/cat.rb +8 -0
- data/vendor/diy/test/files/namespace/animal/reptile/hardshell/turtle.rb +8 -0
- data/vendor/diy/test/files/namespace/animal/reptile/lizard.rb +8 -0
- data/vendor/diy/test/files/namespace/bad_module_specified.yml +8 -0
- data/vendor/diy/test/files/namespace/class_name_combine.yml +8 -0
- data/vendor/diy/test/files/namespace/no_module_specified.yml +8 -0
- data/vendor/diy/test/files/namespace/objects.yml +8 -0
- data/vendor/diy/test/files/namespace/road.rb +8 -0
- data/vendor/diy/test/files/namespace/sky.rb +8 -0
- data/vendor/diy/test/files/namespace/subcontext.yml +8 -0
- data/vendor/diy/test/files/non_singleton/air.rb +8 -0
- data/vendor/diy/test/files/non_singleton/fat_cat.rb +8 -0
- data/vendor/diy/test/files/non_singleton/objects.yml +8 -0
- data/vendor/diy/test/files/non_singleton/pig.rb +8 -0
- data/vendor/diy/test/files/non_singleton/thread_spinner.rb +8 -0
- data/vendor/diy/test/files/non_singleton/tick.rb +8 -0
- data/vendor/diy/test/files/non_singleton/yard.rb +8 -0
- data/vendor/diy/test/files/yak/core_model.rb +8 -0
- data/vendor/diy/test/files/yak/core_presenter.rb +8 -0
- data/vendor/diy/test/files/yak/core_view.rb +8 -0
- data/vendor/diy/test/files/yak/data_source.rb +8 -0
- data/vendor/diy/test/files/yak/fringe_model.rb +8 -0
- data/vendor/diy/test/files/yak/fringe_presenter.rb +8 -0
- data/vendor/diy/test/files/yak/fringe_view.rb +8 -0
- data/vendor/diy/test/files/yak/giant_squid.rb +8 -0
- data/vendor/diy/test/files/yak/krill.rb +8 -0
- data/vendor/diy/test/files/yak/my_objects.yml +8 -0
- data/vendor/diy/test/files/yak/sub_sub_context_test.yml +8 -0
- data/vendor/diy/test/test_helper.rb +8 -0
- data/vendor/unity/CMakeLists.txt +46 -33
- data/vendor/unity/LICENSE.txt +1 -1
- data/vendor/unity/README.md +33 -5
- data/vendor/unity/auto/__init__.py +7 -0
- data/vendor/unity/auto/colour_prompt.rb +6 -5
- data/vendor/unity/auto/colour_reporter.rb +7 -6
- data/vendor/unity/auto/extract_version.py +22 -0
- data/vendor/unity/auto/generate_config.yml +7 -0
- data/vendor/unity/auto/generate_module.rb +32 -27
- data/vendor/unity/auto/generate_test_runner.rb +71 -35
- data/vendor/unity/auto/parse_output.rb +90 -22
- data/vendor/unity/auto/run_test.erb +2 -2
- data/vendor/unity/auto/{unity_to_junit.py → stylize_as_junit.py} +54 -39
- data/vendor/unity/auto/stylize_as_junit.rb +8 -6
- data/vendor/unity/auto/test_file_filter.rb +11 -8
- data/vendor/unity/auto/type_sanitizer.rb +8 -1
- data/vendor/unity/auto/unity_test_summary.py +7 -6
- data/vendor/unity/auto/unity_test_summary.rb +13 -8
- data/vendor/unity/auto/yaml_helper.rb +23 -0
- data/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
- data/vendor/unity/docs/CONTRIBUTING.md +238 -0
- data/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
- data/vendor/unity/docs/UnityAssertionsReference.md +133 -60
- data/vendor/unity/docs/UnityChangeLog.md +110 -0
- data/vendor/unity/docs/UnityConfigurationGuide.md +151 -2
- data/vendor/unity/docs/UnityHelperScriptsGuide.md +289 -1
- data/vendor/unity/docs/UnityKnownIssues.md +13 -0
- data/vendor/unity/examples/example_1/makefile +6 -5
- data/vendor/unity/examples/example_1/meson.build +48 -0
- data/vendor/unity/examples/example_1/readme.txt +8 -1
- data/vendor/unity/examples/example_1/src/ProductionCode.c +6 -0
- data/vendor/unity/examples/example_1/src/ProductionCode.h +6 -0
- data/vendor/unity/examples/example_1/src/ProductionCode2.c +6 -0
- data/vendor/unity/examples/example_1/src/ProductionCode2.h +6 -0
- data/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
- data/vendor/unity/examples/example_1/test/TestProductionCode.c +6 -0
- data/vendor/unity/examples/example_1/test/TestProductionCode2.c +6 -0
- data/vendor/unity/examples/example_2/makefile +6 -5
- data/vendor/unity/examples/example_2/src/ProductionCode.c +6 -0
- data/vendor/unity/examples/example_2/src/ProductionCode.h +6 -0
- data/vendor/unity/examples/example_2/src/ProductionCode2.c +6 -0
- data/vendor/unity/examples/example_2/src/ProductionCode2.h +6 -0
- data/vendor/unity/examples/example_2/test/TestProductionCode.c +7 -0
- data/vendor/unity/examples/example_2/test/TestProductionCode2.c +7 -0
- data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +7 -0
- data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +7 -0
- data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +7 -0
- data/vendor/unity/examples/example_3/helper/UnityHelper.c +7 -0
- data/vendor/unity/examples/example_3/helper/UnityHelper.h +7 -0
- data/vendor/unity/examples/example_3/rakefile.rb +7 -0
- data/vendor/unity/examples/example_3/rakefile_helper.rb +26 -21
- data/vendor/unity/examples/example_3/src/ProductionCode.c +6 -0
- data/vendor/unity/examples/example_3/src/ProductionCode.h +6 -0
- data/vendor/unity/examples/example_3/src/ProductionCode2.c +6 -0
- data/vendor/unity/examples/example_3/src/ProductionCode2.h +6 -0
- data/vendor/unity/examples/example_3/target_gcc_32.yml +7 -0
- data/vendor/unity/examples/example_3/test/TestProductionCode.c +6 -0
- data/vendor/unity/examples/example_3/test/TestProductionCode2.c +6 -0
- data/vendor/unity/examples/example_4/meson.build +2 -2
- data/vendor/unity/examples/example_4/src/ProductionCode.c +6 -0
- data/vendor/unity/examples/example_4/src/ProductionCode.h +6 -0
- data/vendor/unity/examples/example_4/src/ProductionCode2.c +6 -0
- data/vendor/unity/examples/example_4/src/ProductionCode2.h +6 -0
- data/vendor/unity/examples/example_4/subprojects/unity.wrap +3 -1
- data/vendor/unity/examples/example_4/test/TestProductionCode.c +6 -0
- data/vendor/unity/examples/example_4/test/TestProductionCode2.c +6 -0
- data/vendor/unity/examples/example_4/test/test_runners/meson.build +3 -3
- data/vendor/unity/examples/unity_config.h +8 -1
- data/vendor/unity/extras/bdd/readme.md +40 -0
- data/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
- data/vendor/unity/extras/bdd/test/meson.build +9 -0
- data/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
- data/vendor/unity/extras/fixture/readme.md +1 -1
- data/vendor/unity/extras/fixture/src/meson.build +10 -0
- data/vendor/unity/extras/fixture/src/unity_fixture.c +6 -6
- data/vendor/unity/extras/fixture/src/unity_fixture.h +18 -7
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +6 -6
- data/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
- data/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -6
- data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
- data/vendor/unity/extras/memory/src/meson.build +9 -0
- data/vendor/unity/extras/memory/src/unity_memory.c +6 -5
- data/vendor/unity/extras/memory/src/unity_memory.h +6 -5
- data/vendor/unity/extras/memory/test/Makefile +7 -0
- data/vendor/unity/extras/memory/test/unity_memory_Test.c +6 -5
- data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +6 -5
- data/vendor/unity/extras/memory/test/unity_output_Spy.c +6 -5
- data/vendor/unity/extras/memory/test/unity_output_Spy.h +6 -5
- data/vendor/unity/library.json +25 -0
- data/vendor/unity/meson.build +71 -5
- data/vendor/unity/meson_options.txt +3 -0
- data/vendor/unity/platformio-build.py +24 -0
- data/vendor/unity/src/meson.build +11 -5
- data/vendor/unity/src/unity.c +534 -143
- data/vendor/unity/src/unity.h +50 -13
- data/vendor/unity/src/unity_internals.h +188 -58
- data/vendor/unity/test/Makefile +7 -0
- data/vendor/unity/test/rakefile +6 -5
- data/vendor/unity/test/rakefile_helper.rb +9 -8
- data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +6 -0
- data/vendor/unity/test/targets/ansi.yml +7 -0
- data/vendor/unity/test/targets/clang_file.yml +7 -0
- data/vendor/unity/test/targets/clang_strict.yml +8 -0
- data/vendor/unity/test/targets/gcc_32.yml +7 -0
- data/vendor/unity/test/targets/gcc_64.yml +7 -0
- data/vendor/unity/test/targets/gcc_auto_limits.yml +7 -0
- data/vendor/unity/test/targets/gcc_auto_stdint.yml +7 -0
- data/vendor/unity/test/targets/gcc_manual_math.yml +7 -0
- data/vendor/unity/test/targets/hitech_picc18.yml +7 -0
- data/vendor/unity/test/targets/iar_arm_v4.yml +7 -0
- data/vendor/unity/test/targets/iar_arm_v5.yml +7 -0
- data/vendor/unity/test/targets/iar_arm_v5_3.yml +7 -0
- data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +7 -0
- data/vendor/unity/test/targets/iar_cortexm3_v5.yml +7 -0
- data/vendor/unity/test/targets/iar_msp430.yml +7 -0
- data/vendor/unity/test/targets/iar_sh2a_v6.yml +7 -0
- data/vendor/unity/test/testdata/CException.h +7 -0
- data/vendor/unity/test/testdata/Defs.h +8 -0
- data/vendor/unity/test/testdata/cmock.h +7 -0
- data/vendor/unity/test/testdata/mockMock.h +7 -0
- data/vendor/unity/test/testdata/testRunnerGenerator.c +18 -3
- data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +8 -5
- data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +7 -4
- data/vendor/unity/test/tests/self_assessment_utils.h +12 -5
- data/vendor/unity/test/tests/test_generate_test_runner.rb +107 -26
- data/vendor/unity/test/tests/test_unity_arrays.c +73 -6
- data/vendor/unity/test/tests/test_unity_core.c +12 -8
- data/vendor/unity/test/tests/test_unity_doubles.c +517 -5
- data/vendor/unity/test/tests/test_unity_floats.c +516 -5
- data/vendor/unity/test/tests/test_unity_integers.c +21 -5
- data/vendor/unity/test/tests/test_unity_integers_64.c +16 -6
- data/vendor/unity/test/tests/test_unity_memory.c +6 -5
- data/vendor/unity/test/tests/test_unity_parameterized.c +146 -8
- data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
- data/vendor/unity/test/tests/test_unity_strings.c +6 -5
- data/vendor/unity/test/tests/types_for_test.h +21 -0
- metadata +315 -570
- data/assets/auto_link_deep_dependencies/src/a.c +0 -7
- data/assets/auto_link_deep_dependencies/src/b.c +0 -7
- data/assets/auto_link_deep_dependencies/src/c.c +0 -8
- data/assets/auto_link_deep_dependencies/src/internal_inc/a.h +0 -6
- data/assets/auto_link_deep_dependencies/src/internal_inc/b.h +0 -6
- data/assets/auto_link_deep_dependencies/src/internal_inc/c.h +0 -6
- data/assets/auto_link_deep_dependencies/src/internal_inc/never_compiled.h +0 -6
- data/assets/auto_link_deep_dependencies/src/never_compiled.c +0 -6
- data/assets/auto_link_deep_dependencies/test/test_a.c +0 -11
- data/assets/auto_link_deep_dependencies/test/test_b.c +0 -11
- data/assets/auto_link_deep_dependencies/test/test_c.c +0 -11
- data/assets/project_as_gem.yml +0 -101
- data/assets/project_with_guts.yml +0 -102
- data/assets/project_with_guts_gcov.yml +0 -102
- data/ceedling.sublime-project +0 -28
- data/ceedling.sublime-workspace +0 -452
- data/docs/Ceedling Powerful Plugins.pdf +0 -0
- data/examples/blinky/project.yml +0 -101
- data/examples/blinky/rakefile.rb +0 -30
- data/examples/blinky/src/BlinkTask.c +0 -21
- data/examples/blinky/src/BlinkTask.h +0 -6
- data/examples/blinky/src/Configure.c +0 -36
- data/examples/blinky/src/Configure.h +0 -6
- data/examples/blinky/src/main.c +0 -51
- data/examples/blinky/src/main.h +0 -9
- data/examples/blinky/test/support/stub_interrupt.h +0 -347
- data/examples/blinky/test/support/stub_io.h +0 -421
- data/examples/blinky/test/support/stub_iom328p.h +0 -883
- data/examples/blinky/test/support/stub_sfr_defs.h +0 -269
- data/examples/blinky/test/test_BlinkTask.c +0 -42
- data/examples/blinky/test/test_Configure.c +0 -29
- data/examples/blinky/test/test_main.c +0 -60
- data/examples/temp_sensor/build/test/cache/AdcConductor.h +0 -20
- data/examples/temp_sensor/build/test/cache/AdcHardware.h +0 -16
- data/examples/temp_sensor/build/test/cache/AdcHardwareConfigurator.h +0 -14
- data/examples/temp_sensor/build/test/cache/AdcModel.h +0 -20
- data/examples/temp_sensor/build/test/cache/AdcTemperatureSensor.h +0 -14
- data/examples/temp_sensor/build/test/cache/Executor.h +0 -12
- data/examples/temp_sensor/build/test/cache/IntrinsicsWrapper.h +0 -9
- data/examples/temp_sensor/build/test/cache/Model.h +0 -10
- data/examples/temp_sensor/build/test/cache/TaskScheduler.h +0 -16
- data/examples/temp_sensor/build/test/cache/TemperatureCalculator.h +0 -10
- data/examples/temp_sensor/build/test/cache/TemperatureFilter.h +0 -14
- data/examples/temp_sensor/build/test/cache/TestAdcConductor.c +0 -169
- data/examples/temp_sensor/build/test/cache/TestAdcHardware.c +0 -82
- data/examples/temp_sensor/build/test/cache/TestAdcModel.c +0 -59
- data/examples/temp_sensor/build/test/cache/TestExecutor.c +0 -63
- data/examples/temp_sensor/build/test/cache/TestMain.c +0 -43
- data/examples/temp_sensor/build/test/cache/TestModel.c +0 -34
- data/examples/temp_sensor/build/test/cache/TestTaskScheduler.c +0 -204
- data/examples/temp_sensor/build/test/cache/TestTemperatureCalculator.c +0 -70
- data/examples/temp_sensor/build/test/cache/TestTemperatureFilter.c +0 -154
- data/examples/temp_sensor/build/test/cache/TestTimerConductor.c +0 -57
- data/examples/temp_sensor/build/test/cache/TestTimerHardware.c +0 -47
- data/examples/temp_sensor/build/test/cache/TestTimerModel.c +0 -31
- data/examples/temp_sensor/build/test/cache/TestUsartBaudRateRegisterCalculator.c +0 -38
- data/examples/temp_sensor/build/test/cache/TestUsartConductor.c +0 -73
- data/examples/temp_sensor/build/test/cache/TestUsartHardware.c +0 -66
- data/examples/temp_sensor/build/test/cache/TestUsartModel.c +0 -73
- data/examples/temp_sensor/build/test/cache/TimerConductor.h +0 -12
- data/examples/temp_sensor/build/test/cache/TimerConfigurator.h +0 -24
- data/examples/temp_sensor/build/test/cache/TimerHardware.h +0 -10
- data/examples/temp_sensor/build/test/cache/TimerInterruptHandler.h +0 -14
- data/examples/temp_sensor/build/test/cache/TimerModel.h +0 -10
- data/examples/temp_sensor/build/test/cache/UsartBaudRateRegisterCalculator.h +0 -10
- data/examples/temp_sensor/build/test/cache/UsartConductor.h +0 -9
- data/examples/temp_sensor/build/test/cache/UsartConfigurator.h +0 -20
- data/examples/temp_sensor/build/test/cache/UsartHardware.h +0 -12
- data/examples/temp_sensor/build/test/cache/UsartModel.h +0 -14
- data/examples/temp_sensor/build/test/cache/UsartPutChar.h +0 -10
- data/examples/temp_sensor/build/test/cache/defines_dependency.yml +0 -77
- data/examples/temp_sensor/build/test/cache/input.yml +0 -310
- data/examples/temp_sensor/build/test/dependencies/AdcConductor.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/AdcHardware.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/AdcModel.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/Executor.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/Main.d +0 -11
- data/examples/temp_sensor/build/test/dependencies/MockAdcConductor.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/MockAdcHardware.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/MockAdcHardwareConfigurator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockAdcModel.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/MockAdcTemperatureSensor.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockExecutor.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/MockIntrinsicsWrapper.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockModel.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/MockTaskScheduler.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockTemperatureCalculator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockTemperatureFilter.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockTimerConductor.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockTimerConfigurator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockTimerHardware.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockTimerInterruptHandler.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockTimerModel.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/MockUsartBaudRateRegisterCalculator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockUsartConductor.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockUsartConfigurator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockUsartHardware.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockUsartModel.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/MockUsartPutChar.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/Model.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TaskScheduler.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TemperatureCalculator.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TemperatureFilter.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TestAdcConductor.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/TestAdcConductor_runner.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/TestAdcHardware.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestAdcHardware_runner.d +0 -9
- data/examples/temp_sensor/build/test/dependencies/TestAdcModel.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestAdcModel_runner.d +0 -10
- data/examples/temp_sensor/build/test/dependencies/TestExecutor.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/TestExecutor_runner.d +0 -11
- data/examples/temp_sensor/build/test/dependencies/TestMain.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestMain_runner.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/TestModel.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/TestModel_runner.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler_runner.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator.d +0 -5
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator_runner.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter_runner.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTimerConductor.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestTimerConductor_runner.d +0 -10
- data/examples/temp_sensor/build/test/dependencies/TestTimerHardware.d +0 -5
- data/examples/temp_sensor/build/test/dependencies/TestTimerHardware_runner.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/TestTimerModel.d +0 -5
- data/examples/temp_sensor/build/test/dependencies/TestTimerModel_runner.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator.d +0 -5
- data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator_runner.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestUsartConductor.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestUsartConductor_runner.d +0 -9
- data/examples/temp_sensor/build/test/dependencies/TestUsartHardware.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/TestUsartHardware_runner.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/TestUsartModel.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestUsartModel_runner.d +0 -9
- data/examples/temp_sensor/build/test/dependencies/TimerConductor.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/TimerHardware.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TimerModel.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/UnityHelper.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/UsartBaudRateRegisterCalculator.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/UsartConductor.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/UsartHardware.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/UsartModel.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/cmock.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/unity.d +0 -4
- data/examples/temp_sensor/build/test/mocks/MockAdcConductor.c +0 -391
- data/examples/temp_sensor/build/test/mocks/MockAdcConductor.h +0 -64
- data/examples/temp_sensor/build/test/mocks/MockAdcHardware.c +0 -313
- data/examples/temp_sensor/build/test/mocks/MockAdcHardware.h +0 -58
- data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.c +0 -218
- data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.h +0 -52
- data/examples/temp_sensor/build/test/mocks/MockAdcModel.c +0 -453
- data/examples/temp_sensor/build/test/mocks/MockAdcModel.h +0 -64
- data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.c +0 -252
- data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.h +0 -52
- data/examples/temp_sensor/build/test/mocks/MockExecutor.c +0 -174
- data/examples/temp_sensor/build/test/mocks/MockExecutor.h +0 -46
- data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.c +0 -157
- data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.h +0 -46
- data/examples/temp_sensor/build/test/mocks/MockModel.c +0 -96
- data/examples/temp_sensor/build/test/mocks/MockModel.h +0 -40
- data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.c +0 -326
- data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.h +0 -58
- data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.c +0 -126
- data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.h +0 -40
- data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.c +0 -248
- data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.h +0 -52
- data/examples/temp_sensor/build/test/mocks/MockTimerConductor.c +0 -157
- data/examples/temp_sensor/build/test/mocks/MockTimerConductor.h +0 -46
- data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.c +0 -523
- data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.h +0 -82
- data/examples/temp_sensor/build/test/mocks/MockTimerHardware.c +0 -96
- data/examples/temp_sensor/build/test/mocks/MockTimerHardware.h +0 -40
- data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.c +0 -248
- data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.h +0 -52
- data/examples/temp_sensor/build/test/mocks/MockTimerModel.c +0 -109
- data/examples/temp_sensor/build/test/mocks/MockTimerModel.h +0 -40
- data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.c +0 -133
- data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.h +0 -40
- data/examples/temp_sensor/build/test/mocks/MockUsartConductor.c +0 -157
- data/examples/temp_sensor/build/test/mocks/MockUsartConductor.h +0 -46
- data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.c +0 -414
- data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.h +0 -70
- data/examples/temp_sensor/build/test/mocks/MockUsartHardware.c +0 -183
- data/examples/temp_sensor/build/test/mocks/MockUsartHardware.h +0 -46
- data/examples/temp_sensor/build/test/mocks/MockUsartModel.c +0 -269
- data/examples/temp_sensor/build/test/mocks/MockUsartModel.h +0 -52
- data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.c +0 -109
- data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.h +0 -40
- data/examples/temp_sensor/build/test/out/TestAdcConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestMain.out +0 -0
- data/examples/temp_sensor/build/test/out/TestModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTaskScheduler.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureCalculator.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureFilter.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel.out +0 -0
- data/examples/temp_sensor/build/test/out/c/AdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/AdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/AdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/Executor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/Main.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcHardwareConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockAdcTemperatureSensor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockExecutor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockIntrinsicsWrapper.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerInterruptHandler.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockTimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/MockUsartPutChar.o +0 -0
- data/examples/temp_sensor/build/test/out/c/Model.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestAdcModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestExecutor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestExecutor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestMain.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestMain_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTaskScheduler_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestTimerModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TestUsartModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/TimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/c/UsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/c/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/c/unity.o +0 -0
- data/examples/temp_sensor/build/test/preprocess/files/AdcConductor.h +0 -20
- data/examples/temp_sensor/build/test/preprocess/files/AdcHardware.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/AdcHardwareConfigurator.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/AdcModel.h +0 -20
- data/examples/temp_sensor/build/test/preprocess/files/AdcTemperatureSensor.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/Executor.h +0 -12
- data/examples/temp_sensor/build/test/preprocess/files/IntrinsicsWrapper.h +0 -9
- data/examples/temp_sensor/build/test/preprocess/files/Model.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TaskScheduler.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/TemperatureCalculator.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TemperatureFilter.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcConductor.c +0 -169
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcHardware.c +0 -82
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel.c +0 -59
- data/examples/temp_sensor/build/test/preprocess/files/TestExecutor.c +0 -63
- data/examples/temp_sensor/build/test/preprocess/files/TestMain.c +0 -43
- data/examples/temp_sensor/build/test/preprocess/files/TestModel.c +0 -34
- data/examples/temp_sensor/build/test/preprocess/files/TestTaskScheduler.c +0 -204
- data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureCalculator.c +0 -70
- data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureFilter.c +0 -154
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor.c +0 -57
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerHardware.c +0 -47
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerModel.c +0 -31
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartBaudRateRegisterCalculator.c +0 -38
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor.c +0 -73
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartHardware.c +0 -66
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartModel.c +0 -73
- data/examples/temp_sensor/build/test/preprocess/files/TimerConductor.h +0 -12
- data/examples/temp_sensor/build/test/preprocess/files/TimerConfigurator.h +0 -24
- data/examples/temp_sensor/build/test/preprocess/files/TimerHardware.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TimerInterruptHandler.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TimerModel.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/UsartBaudRateRegisterCalculator.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/UsartConductor.h +0 -9
- data/examples/temp_sensor/build/test/preprocess/files/UsartConfigurator.h +0 -20
- data/examples/temp_sensor/build/test/preprocess/files/UsartHardware.h +0 -12
- data/examples/temp_sensor/build/test/preprocess/files/UsartModel.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/UsartPutChar.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/includes/AdcConductor.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/AdcHardware.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/AdcHardwareConfigurator.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/AdcModel.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/AdcTemperatureSensor.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/Executor.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/IntrinsicsWrapper.h +0 -1
- data/examples/temp_sensor/build/test/preprocess/includes/Model.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TaskScheduler.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TemperatureCalculator.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TemperatureFilter.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcConductor.c +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcHardware.c +0 -6
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel.c +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor.c +0 -9
- data/examples/temp_sensor/build/test/preprocess/includes/TestMain.c +0 -5
- data/examples/temp_sensor/build/test/preprocess/includes/TestModel.c +0 -6
- data/examples/temp_sensor/build/test/preprocess/includes/TestTaskScheduler.c +0 -4
- data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureCalculator.c +0 -4
- data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureFilter.c +0 -4
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor.c +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerHardware.c +0 -5
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerModel.c +0 -5
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartBaudRateRegisterCalculator.c +0 -4
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor.c +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartHardware.c +0 -6
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartModel.c +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TimerConductor.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TimerConfigurator.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TimerHardware.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TimerInterruptHandler.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TimerModel.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/UsartBaudRateRegisterCalculator.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/UsartConductor.h +0 -1
- data/examples/temp_sensor/build/test/preprocess/includes/UsartConfigurator.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/UsartHardware.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/UsartModel.h +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/UsartPutChar.h +0 -2
- data/examples/temp_sensor/build/test/results/TestAdcConductor.pass +0 -46
- data/examples/temp_sensor/build/test/results/TestAdcHardware.pass +0 -30
- data/examples/temp_sensor/build/test/results/TestAdcModel.pass +0 -26
- data/examples/temp_sensor/build/test/results/TestExecutor.pass +0 -22
- data/examples/temp_sensor/build/test/results/TestMain.pass +0 -18
- data/examples/temp_sensor/build/test/results/TestModel.pass +0 -18
- data/examples/temp_sensor/build/test/results/TestTaskScheduler.pass +0 -46
- data/examples/temp_sensor/build/test/results/TestTemperatureCalculator.pass +0 -22
- data/examples/temp_sensor/build/test/results/TestTemperatureFilter.pass +0 -30
- data/examples/temp_sensor/build/test/results/TestTimerConductor.pass +0 -22
- data/examples/temp_sensor/build/test/results/TestTimerHardware.pass +0 -18
- data/examples/temp_sensor/build/test/results/TestTimerModel.pass +0 -18
- data/examples/temp_sensor/build/test/results/TestUsartBaudRateRegisterCalculator.pass +0 -18
- data/examples/temp_sensor/build/test/results/TestUsartConductor.pass +0 -26
- data/examples/temp_sensor/build/test/results/TestUsartHardware.pass +0 -22
- data/examples/temp_sensor/build/test/results/TestUsartModel.pass +0 -30
- data/examples/temp_sensor/build/test/runners/TestAdcConductor_runner.c +0 -105
- data/examples/temp_sensor/build/test/runners/TestAdcHardware_runner.c +0 -97
- data/examples/temp_sensor/build/test/runners/TestAdcModel_runner.c +0 -99
- data/examples/temp_sensor/build/test/runners/TestExecutor_runner.c +0 -105
- data/examples/temp_sensor/build/test/runners/TestMain_runner.c +0 -87
- data/examples/temp_sensor/build/test/runners/TestModel_runner.c +0 -91
- data/examples/temp_sensor/build/test/runners/TestTaskScheduler_runner.c +0 -95
- data/examples/temp_sensor/build/test/runners/TestTemperatureCalculator_runner.c +0 -83
- data/examples/temp_sensor/build/test/runners/TestTemperatureFilter_runner.c +0 -87
- data/examples/temp_sensor/build/test/runners/TestTimerConductor_runner.c +0 -97
- data/examples/temp_sensor/build/test/runners/TestTimerHardware_runner.c +0 -87
- data/examples/temp_sensor/build/test/runners/TestTimerModel_runner.c +0 -87
- data/examples/temp_sensor/build/test/runners/TestUsartBaudRateRegisterCalculator_runner.c +0 -81
- data/examples/temp_sensor/build/test/runners/TestUsartConductor_runner.c +0 -99
- data/examples/temp_sensor/build/test/runners/TestUsartHardware_runner.c +0 -93
- data/examples/temp_sensor/build/test/runners/TestUsartModel_runner.c +0 -97
- data/lib/ceedling/build_invoker_utils.rb +0 -39
- data/lib/ceedling/cmock_builder.rb +0 -15
- data/lib/ceedling/file_system_utils.rb +0 -69
- data/lib/ceedling/par_map.rb +0 -19
- data/lib/ceedling/plugin_builder.rb +0 -53
- data/lib/ceedling/preprocessinator_helper.rb +0 -50
- data/lib/ceedling/project_config_manager.rb +0 -52
- data/lib/ceedling/project_file_loader.rb +0 -99
- data/lib/ceedling/rules_cmock.rake +0 -9
- data/lib/ceedling/rules_preprocess.rake +0 -26
- data/lib/ceedling/rules_release_deep_dependencies.rake +0 -15
- data/lib/ceedling/rules_tests_deep_dependencies.rake +0 -15
- data/lib/ceedling/streaminator.rb +0 -40
- data/lib/ceedling/streaminator_helper.rb +0 -15
- data/lib/ceedling/target_loader.rb +0 -38
- data/lib/ceedling/tasks_release_deep_dependencies.rake +0 -9
- data/lib/ceedling/tasks_tests_deep_dependencies.rake +0 -9
- data/lib/ceedling/tasks_vendor.rake +0 -35
- data/lib/ceedling/test_includes_extractor.rb +0 -111
- data/lib/ceedling/version.rb +0 -54
- data/out.fail +0 -24
- data/plugins/colour_report/README.md +0 -20
- data/plugins/colour_report/lib/colour_report.rb +0 -16
- data/plugins/compile_commands_json/README.md +0 -29
- data/plugins/compile_commands_json/lib/compile_commands_json.rb +0 -35
- data/plugins/fake_function_framework/Rakefile +0 -19
- data/plugins/fake_function_framework/examples/fff_example/project.yml +0 -71
- data/plugins/fake_function_framework/examples/fff_example/rakefile.rb +0 -7
- data/plugins/fake_function_framework/examples/fff_example/src/bar.c +0 -1
- data/plugins/fake_function_framework/examples/fff_example/src/custom_types.h +0 -6
- data/plugins/fake_function_framework/examples/fff_example/src/display.c +0 -7
- data/plugins/fake_function_framework/examples/fff_example/src/foo.c +0 -16
- data/plugins/fake_function_framework/examples/fff_example/src/foo.h +0 -8
- data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.c +0 -1
- data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.h +0 -6
- data/plugins/gcov/assets/template.erb +0 -15
- data/plugins/json_tests_report/README.md +0 -36
- data/plugins/json_tests_report/lib/json_tests_report.rb +0 -83
- data/plugins/junit_tests_report/README.md +0 -36
- data/plugins/junit_tests_report/lib/junit_tests_report.rb +0 -134
- data/plugins/raw_output_report/README.md +0 -19
- data/plugins/raw_output_report/lib/raw_output_report.rb +0 -41
- data/plugins/stdout_gtestlike_tests_report/README.md +0 -19
- data/plugins/stdout_gtestlike_tests_report/assets/template.erb copy +0 -59
- data/plugins/stdout_gtestlike_tests_report/config/stdout_gtestlike_tests_report.yml +0 -4
- data/plugins/stdout_gtestlike_tests_report/lib/stdout_gtestlike_tests_report.rb +0 -43
- data/plugins/stdout_ide_tests_report/README.md +0 -18
- data/plugins/stdout_ide_tests_report/config/stdout_ide_tests_report.yml +0 -4
- data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +0 -44
- data/plugins/stdout_pretty_tests_report/README.md +0 -20
- data/plugins/stdout_pretty_tests_report/config/stdout_pretty_tests_report.yml +0 -4
- data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +0 -47
- data/plugins/subprojects/README.md +0 -63
- data/plugins/subprojects/config/defaults.yml +0 -33
- data/plugins/subprojects/lib/subprojects.rb +0 -92
- data/plugins/subprojects/subprojects.rake +0 -78
- data/plugins/teamcity_tests_report/README.md +0 -18
- data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +0 -4
- data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +0 -57
- data/plugins/warnings_report/README.md +0 -19
- data/plugins/warnings_report/lib/warnings_report.rb +0 -69
- data/plugins/xml_tests_report/README.md +0 -36
- data/plugins/xml_tests_report/lib/xml_tests_report.rb +0 -110
- data/spec/build_invoker_utils_spec.rb +0 -54
- data/spec/ceedling_spec.rb +0 -154
- data/spec/par_map_spec.rb +0 -57
- data/spec/system/deployment_spec.rb +0 -256
- data/spec/target_loader_spec.rb +0 -30
- data/spec/uncatagorized_specs_spec.rb +0 -8
- data/vendor/behaviors/Manifest.txt +0 -9
- data/vendor/behaviors/Rakefile +0 -19
- data/vendor/behaviors/lib/behaviors/reporttask.rb +0 -158
- data/vendor/behaviors/lib/behaviors.rb +0 -76
- data/vendor/behaviors/test/behaviors_tasks_test.rb +0 -73
- data/vendor/behaviors/test/behaviors_test.rb +0 -50
- data/vendor/behaviors/test/tasks_test/Rakefile +0 -19
- data/vendor/behaviors/test/tasks_test/lib/user.rb +0 -2
- data/vendor/behaviors/test/tasks_test/test/user_test.rb +0 -17
- data/vendor/c_exception/Gemfile +0 -4
- data/vendor/c_exception/Gemfile.lock +0 -12
- data/vendor/cmock/examples/temp_sensor/gcc.yml +0 -44
- data/vendor/cmock/examples/temp_sensor/iar_v4.yml +0 -92
- data/vendor/cmock/examples/temp_sensor/iar_v5.yml +0 -81
- data/vendor/cmock/vendor/c_exception/Gemfile +0 -4
- data/vendor/cmock/vendor/c_exception/Gemfile.lock +0 -12
- data/vendor/hardmock/CHANGES +0 -78
- data/vendor/hardmock/LICENSE +0 -7
- data/vendor/hardmock/README +0 -70
- data/vendor/hardmock/Rakefile +0 -8
- data/vendor/hardmock/config/environment.rb +0 -12
- data/vendor/hardmock/lib/assert_error.rb +0 -23
- data/vendor/hardmock/lib/extend_test_unit.rb +0 -14
- data/vendor/hardmock/lib/hardmock/errors.rb +0 -22
- data/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
- data/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
- data/vendor/hardmock/lib/hardmock/expector.rb +0 -26
- data/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
- data/vendor/hardmock/lib/hardmock/mock.rb +0 -180
- data/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
- data/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
- data/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
- data/vendor/hardmock/lib/hardmock/utils.rb +0 -9
- data/vendor/hardmock/lib/hardmock.rb +0 -86
- data/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
- data/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
- data/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
- data/vendor/hardmock/rake_tasks/test.rake +0 -22
- data/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
- data/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
- data/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
- data/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
- data/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
- data/vendor/hardmock/test/test_helper.rb +0 -43
- data/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
- data/vendor/hardmock/test/unit/expectation_test.rb +0 -372
- data/vendor/hardmock/test/unit/expector_test.rb +0 -57
- data/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
- data/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
- data/vendor/hardmock/test/unit/mock_test.rb +0 -279
- data/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
- data/vendor/hardmock/test/unit/trapper_test.rb +0 -62
- data/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
@@ -1,40 +1,78 @@
|
|
1
|
+
# =========================================================================
|
2
|
+
# Ceedling - Test-Centered Build System for C
|
3
|
+
# ThrowTheSwitch.org
|
4
|
+
# Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
# SPDX-License-Identifier: MIT
|
6
|
+
# =========================================================================
|
7
|
+
|
1
8
|
require 'ceedling/constants'
|
9
|
+
require 'ceedling/exceptions'
|
2
10
|
|
3
11
|
|
4
12
|
class GeneratorHelper
|
5
13
|
|
6
|
-
constructor :
|
14
|
+
constructor :loginator
|
7
15
|
|
16
|
+
def test_crash?(test_filename, executable, shell_result)
|
17
|
+
runner = File.basename(executable)
|
8
18
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
19
|
+
crash = false
|
20
|
+
|
21
|
+
# Unix Signal 11 ==> SIGSEGV
|
22
|
+
# Applies to Unix-like systems including MSYS on Windows
|
23
|
+
if (shell_result[:status].termsig == 11)
|
24
|
+
@loginator.log( "#{runner} process terminated with SIGSEGV (Unix Signal 11)", Verbosity::DEBUG, LogLabels::CRASH )
|
25
|
+
crash = true
|
26
|
+
end
|
27
|
+
|
28
|
+
# No test results found in test executable output
|
29
|
+
if (shell_result[:output] =~ PATTERNS::TEST_STDOUT_STATISTICS).nil?
|
30
|
+
# No debug logging here because we log this condition in the error log handling below
|
31
|
+
crash = true
|
32
|
+
end
|
33
|
+
|
34
|
+
# Negative lookahead regex that checks all lines in test STDERR output.
|
35
|
+
# (?m) enables multiline mode.
|
36
|
+
# Matches only a line with a 'segfault' variant that does not begin with the test code filename.
|
37
|
+
# Processing STDERR and ignoring lines that look like test case results helps limit false positives.
|
38
|
+
segfault_pattern = 'Seg.*fault'
|
39
|
+
regex = /\A(?!(?m).*^#{Regexp.escape(test_filename)}.*$).*(?:#{segfault_pattern})/mi
|
40
|
+
|
41
|
+
if shell_result[:stderr].match?(regex)
|
42
|
+
@loginator.log( "#{runner} STDERR reports segmentation fault", Verbosity::DEBUG, LogLabels::CRASH )
|
43
|
+
crash = true
|
44
|
+
end
|
45
|
+
|
46
|
+
return crash
|
47
|
+
end
|
48
|
+
|
49
|
+
def log_test_results_crash(executable, shell_result, backtrace)
|
50
|
+
runner = File.basename(executable)
|
51
|
+
|
52
|
+
notice = "Test executable `#{runner}` seems to have crashed -- likely terminating early due to a bad code reference.\n"
|
53
|
+
|
54
|
+
# Check for empty output
|
13
55
|
if (shell_result[:output].nil? or shell_result[:output].strip.empty?)
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
# mirror style of generic tool_executor failure output
|
22
|
-
notice = "\n" +
|
23
|
-
"ERROR: Test executable \"#{File.basename(executable)}\" failed.\n" +
|
24
|
-
"> Produced no final test result counts in $stdout:\n" +
|
25
|
-
"#{shell_result[:output].strip}\n"
|
56
|
+
# Mirror style of generic tool_executor failure output
|
57
|
+
notice += "> Produced no output (including no final test result counts).\n"
|
58
|
+
|
59
|
+
# Check for no test results
|
60
|
+
elsif ((shell_result[:output] =~ PATTERNS::TEST_STDOUT_STATISTICS).nil?)
|
61
|
+
# Mirror style of generic tool_executor failure output
|
62
|
+
notice += "> Produced some output but contains no final test result counts.\n"
|
26
63
|
end
|
27
64
|
|
28
|
-
|
29
|
-
# since we told the tool executor to ignore the exit code, handle it explicitly here
|
30
|
-
notice += "> And exited with status: [#{shell_result[:exit_code]}] (count of failed tests).\n" if (shell_result[:exit_code] != nil)
|
31
|
-
notice += "> And then likely crashed.\n" if (shell_result[:exit_code] == nil)
|
65
|
+
notice += "> Causes can include: bad memory access, stack overflow, heap error, or bad branch in source or test code.\n"
|
32
66
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
67
|
+
# Incorporate knowledge of the backtrace setting into a recommendation
|
68
|
+
case backtrace
|
69
|
+
when :simple
|
70
|
+
notice += "> Consider configuring :project ↳ :use_backtrace to use the :gdb option to find the cause (see documentation).\n"
|
71
|
+
when :none
|
72
|
+
notice += "> Consider configuring :project ↳ :use_backtrace to help find the cause (see documentation).\n"
|
37
73
|
end
|
74
|
+
|
75
|
+
@loginator.log( notice, Verbosity::ERRORS, LogLabels::CRASH )
|
38
76
|
end
|
39
77
|
|
40
78
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# =========================================================================
|
2
|
+
# Ceedling - Test-Centered Build System for C
|
3
|
+
# ThrowTheSwitch.org
|
4
|
+
# Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
# SPDX-License-Identifier: MIT
|
6
|
+
# =========================================================================
|
7
|
+
|
8
|
+
require 'cmock'
|
9
|
+
|
10
|
+
class GeneratorMocks
|
11
|
+
|
12
|
+
constructor :configurator
|
13
|
+
|
14
|
+
def manufacture(config)
|
15
|
+
return CMock.new(config)
|
16
|
+
end
|
17
|
+
|
18
|
+
def build_configuration( output_path )
|
19
|
+
config = @configurator.get_cmock_config
|
20
|
+
config[:mock_path] = output_path
|
21
|
+
|
22
|
+
# Verbosity management for logging messages
|
23
|
+
verbosity = @configurator.project_verbosity
|
24
|
+
|
25
|
+
# Default to errors and warnings only so we can customize messages inside Ceedling
|
26
|
+
config[:verbosity] = 1
|
27
|
+
|
28
|
+
# Extreme ends of verbosity scale case handling
|
29
|
+
if (verbosity == Verbosity::SILENT)
|
30
|
+
# CMock is silent
|
31
|
+
config[:verbosity] = 0
|
32
|
+
|
33
|
+
elsif (verbosity == Verbosity::DEBUG)
|
34
|
+
# CMock max verbosity
|
35
|
+
config[:verbosity] = 3
|
36
|
+
end
|
37
|
+
|
38
|
+
return config
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -1,69 +1,223 @@
|
|
1
|
+
# =========================================================================
|
2
|
+
# Ceedling - Test-Centered Build System for C
|
3
|
+
# ThrowTheSwitch.org
|
4
|
+
# Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
# SPDX-License-Identifier: MIT
|
6
|
+
# =========================================================================
|
7
|
+
|
1
8
|
require 'rubygems'
|
2
9
|
require 'rake' # for .ext()
|
3
10
|
require 'ceedling/constants'
|
11
|
+
require 'ceedling/exceptions'
|
12
|
+
|
13
|
+
|
14
|
+
##
|
15
|
+
## Sample Unity Test Executable Output
|
16
|
+
## ===================================
|
17
|
+
##
|
18
|
+
## - Output is line-oriented. Anything outside the recognized lines is assumed to be from `printf()`
|
19
|
+
## or equivalent calls and collected for presentation as a collection of $stdout lines.
|
20
|
+
## - Multiline output (i.e. failure messages) can be achieved by "encoding" newlines as literal
|
21
|
+
## "\n"s (slash-n). `extract_line_elements()` handles converting newline markers into real newlines.
|
22
|
+
## - :PASS has no trailing message unless Unity's test case execution duration feature is enabled.
|
23
|
+
## If enabled, a numeric value with 'ms' as a units signifier trails, ":PASS 1.2 ms".
|
24
|
+
## - :IGNORE optionally can include a trailing message.
|
25
|
+
## - :FAIL has a trailing message that relays an assertion failure or crash condition.
|
26
|
+
## - The statistics line always has the same format with only the count values varying.
|
27
|
+
## - If there are no failed test cases, the final line is 'OK'. Otherwise, it is 'FAIL'.
|
28
|
+
##
|
29
|
+
## $stdout:
|
30
|
+
## -----------------------------------------------------------------------------------------------------
|
31
|
+
## TestUsartModel.c:24:testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting:PASS
|
32
|
+
## TestUsartModel.c:34:testIgnore:IGNORE
|
33
|
+
## TestUsartModel.c:39:testFail:FAIL: Expected 2 Was 3
|
34
|
+
## TestUsartModel.c:49:testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately:PASS
|
35
|
+
## TestUsartModel.c:55:testShouldReturnErrorMessageUponInvalidTemperatureValue:PASS
|
36
|
+
## TestUsartModel.c:61:testShouldReturnWakeupMessage:PASS
|
37
|
+
##
|
38
|
+
## -----------------------
|
39
|
+
## 6 Tests 1 Failures 1 Ignored
|
40
|
+
## FAIL
|
41
|
+
|
42
|
+
##
|
43
|
+
## Sample Test Results Output File (YAML)
|
44
|
+
## ======================================
|
45
|
+
## The following corresponds to the test executable output above.
|
46
|
+
##
|
47
|
+
## TestUsartModel.fail:
|
48
|
+
## ---
|
49
|
+
## :source:
|
50
|
+
## :file: test/TestUsartModel.c
|
51
|
+
## :dirname: test
|
52
|
+
## :basename: TestUsartModel.c
|
53
|
+
## :successes:
|
54
|
+
## - :test: testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting
|
55
|
+
## :line: 24
|
56
|
+
## :message: ''
|
57
|
+
## :unity_test_time: 0
|
58
|
+
## - :test: testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately
|
59
|
+
## :line: 49
|
60
|
+
## :message: ''
|
61
|
+
## :unity_test_time: 0
|
62
|
+
## - :test: testShouldReturnErrorMessageUponInvalidTemperatureValue
|
63
|
+
## :line: 55
|
64
|
+
## :message: ''
|
65
|
+
## :unity_test_time: 0
|
66
|
+
## - :test: testShouldReturnWakeupMessage
|
67
|
+
## :line: 61
|
68
|
+
## :message: ''
|
69
|
+
## :unity_test_time: 0
|
70
|
+
## :failures:
|
71
|
+
## - :test: testFail
|
72
|
+
## :line: 39
|
73
|
+
## :message: Expected 2 Was 3
|
74
|
+
## :unity_test_time: 0
|
75
|
+
## :ignores:
|
76
|
+
## - :test: testIgnore
|
77
|
+
## :line: 34
|
78
|
+
## :message: ''
|
79
|
+
## :unity_test_time: 0
|
80
|
+
## :counts:
|
81
|
+
## :total: 6
|
82
|
+
## :passed: 4
|
83
|
+
## :failed: 1
|
84
|
+
## :ignored: 1
|
85
|
+
## :stdout: []
|
86
|
+
## :time: 0.006512000225484371
|
4
87
|
|
5
88
|
class GeneratorTestResults
|
6
89
|
|
7
90
|
constructor :configurator, :generator_test_results_sanity_checker, :yaml_wrapper
|
8
91
|
|
9
|
-
def
|
92
|
+
def setup()
|
93
|
+
# Aliases
|
94
|
+
@sanity_checker = @generator_test_results_sanity_checker
|
95
|
+
end
|
96
|
+
|
97
|
+
def process_and_write_results(executable, unity_shell_result, results_file, test_file)
|
10
98
|
output_file = results_file
|
11
99
|
|
12
100
|
results = get_results_structure
|
13
101
|
|
14
|
-
results[:source][:
|
15
|
-
results[:source][:
|
102
|
+
results[:source][:dirname] = File.dirname(test_file)
|
103
|
+
results[:source][:basename] = File.basename(test_file)
|
104
|
+
results[:source][:file] = test_file
|
16
105
|
results[:time] = unity_shell_result[:time] unless unity_shell_result[:time].nil?
|
17
106
|
|
18
|
-
#
|
19
|
-
if (unity_shell_result[:output] =~
|
20
|
-
results[:counts][:total] =
|
21
|
-
results[:counts][:failed] =
|
107
|
+
# Process test statistics
|
108
|
+
if (unity_shell_result[:output] =~ PATTERNS::TEST_STDOUT_STATISTICS)
|
109
|
+
results[:counts][:total] = $1.to_i
|
110
|
+
results[:counts][:failed] = $2.to_i
|
22
111
|
results[:counts][:ignored] = $3.to_i
|
23
112
|
results[:counts][:passed] = (results[:counts][:total] - results[:counts][:failed] - results[:counts][:ignored])
|
113
|
+
else
|
114
|
+
raise CeedlingException.new( "Could not parse output for `#{executable}`: \"#{unity_shell_result[:output]}\"" )
|
24
115
|
end
|
25
116
|
|
26
|
-
#
|
27
|
-
output_string = unity_shell_result[:output].sub(
|
117
|
+
# Remove test statistics lines
|
118
|
+
output_string = unity_shell_result[:output].sub( PATTERNS::TEST_STDOUT_STATISTICS, '' )
|
28
119
|
|
120
|
+
# Process test executable results line-by-line
|
29
121
|
output_string.lines do |line|
|
30
|
-
#
|
31
|
-
case line
|
122
|
+
# Process Unity test executable output
|
123
|
+
case line.chomp
|
32
124
|
when /(:IGNORE)/
|
33
|
-
elements = extract_line_elements(line, results[:source][:file])
|
34
|
-
results[:ignores] << elements[0]
|
125
|
+
elements = extract_line_elements( executable, line, results[:source][:file] )
|
126
|
+
results[:ignores] << elements[0]
|
35
127
|
results[:stdout] << elements[1] if (!elements[1].nil?)
|
128
|
+
|
36
129
|
when /(:PASS$)/
|
37
|
-
elements = extract_line_elements(line, results[:source][:file])
|
38
|
-
results[:successes] << elements[0]
|
130
|
+
elements = extract_line_elements( executable, line, results[:source][:file] )
|
131
|
+
results[:successes] << elements[0]
|
39
132
|
results[:stdout] << elements[1] if (!elements[1].nil?)
|
133
|
+
|
40
134
|
when /(:PASS \(.* ms\)$)/
|
41
|
-
elements = extract_line_elements(line, results[:source][:file])
|
42
|
-
results[:successes] << elements[0]
|
135
|
+
elements = extract_line_elements( executable, line, results[:source][:file] )
|
136
|
+
results[:successes] << elements[0]
|
43
137
|
results[:stdout] << elements[1] if (!elements[1].nil?)
|
138
|
+
|
44
139
|
when /(:FAIL)/
|
45
|
-
elements = extract_line_elements(line, results[:source][:file])
|
140
|
+
elements = extract_line_elements( executable, line, results[:source][:file] )
|
46
141
|
results[:failures] << elements[0]
|
47
142
|
results[:stdout] << elements[1] if (!elements[1].nil?)
|
48
|
-
|
49
|
-
|
143
|
+
|
144
|
+
# Collect up all other output
|
145
|
+
else
|
146
|
+
results[:stdout] << line.chomp # Ignores blank lines
|
50
147
|
end
|
51
148
|
end
|
52
149
|
|
53
|
-
@
|
150
|
+
@sanity_checker.verify( results, unity_shell_result[:exit_code] )
|
54
151
|
|
55
|
-
output_file = results_file.ext(@configurator.extension_testfail) if (results[:counts][:failed] > 0)
|
152
|
+
output_file = results_file.ext( @configurator.extension_testfail ) if (results[:counts][:failed] > 0)
|
56
153
|
|
57
154
|
@yaml_wrapper.dump(output_file, results)
|
58
155
|
|
59
156
|
return { :result_file => output_file, :result => results }
|
60
157
|
end
|
61
158
|
|
159
|
+
# Filter list of test cases:
|
160
|
+
# --test_case
|
161
|
+
# --exclude_test_case
|
162
|
+
#
|
163
|
+
# @return Array - list of the test_case hashses {:test, :line_number}
|
164
|
+
def filter_test_cases(test_cases)
|
165
|
+
_test_cases = test_cases.clone
|
166
|
+
|
167
|
+
# Filter tests which contain test_case_name passed by `--test_case` argument
|
168
|
+
if !@configurator.include_test_case.empty?
|
169
|
+
_test_cases.delete_if { |i| !(i[:test] =~ /#{@configurator.include_test_case}/) }
|
170
|
+
end
|
171
|
+
|
172
|
+
# Filter tests which contain test_case_name passed by `--exclude_test_case` argument
|
173
|
+
if !@configurator.exclude_test_case.empty?
|
174
|
+
_test_cases.delete_if { |i| i[:test] =~ /#{@configurator.exclude_test_case}/ }
|
175
|
+
end
|
176
|
+
|
177
|
+
return _test_cases
|
178
|
+
end
|
179
|
+
|
180
|
+
def create_crash_failure(source, shell_result, test_cases)
|
181
|
+
count = test_cases.size()
|
182
|
+
|
183
|
+
output = []
|
184
|
+
test_cases.each do |test_case|
|
185
|
+
output << "#{source}:#{test_case[:line_number]}:#{test_case[:test]}:FAIL: Test executable crashed"
|
186
|
+
end
|
187
|
+
|
188
|
+
shell_result[:output] =
|
189
|
+
regenerate_test_executable_stdout(
|
190
|
+
total: count,
|
191
|
+
failed: count,
|
192
|
+
ignored: 0,
|
193
|
+
output: output
|
194
|
+
)
|
195
|
+
|
196
|
+
shell_result[:exit_code] = count
|
197
|
+
|
198
|
+
return shell_result
|
199
|
+
end
|
200
|
+
|
201
|
+
# Fill out a template to mimic Unity's test executable output
|
202
|
+
def regenerate_test_executable_stdout(total:, failed:, ignored:, output:[])
|
203
|
+
values = {
|
204
|
+
:total => total,
|
205
|
+
:failed => failed,
|
206
|
+
:ignored => ignored,
|
207
|
+
:output => output.map {|line| line.strip()}.join("\n"),
|
208
|
+
:result => (failed > 0) ? 'FAIL' : 'OK'
|
209
|
+
}
|
210
|
+
|
211
|
+
return UNITY_TEST_RESULTS_TEMPLATE % values
|
212
|
+
end
|
213
|
+
|
214
|
+
### Private ###
|
215
|
+
|
62
216
|
private
|
63
217
|
|
64
218
|
def get_results_structure
|
65
219
|
return {
|
66
|
-
:source => {:
|
220
|
+
:source => {:file => '', :dirname => '', :basename => '' },
|
67
221
|
:successes => [],
|
68
222
|
:failures => [],
|
69
223
|
:ignores => [],
|
@@ -73,10 +227,10 @@ class GeneratorTestResults
|
|
73
227
|
}
|
74
228
|
end
|
75
229
|
|
76
|
-
def extract_line_elements(line, filename)
|
77
|
-
#
|
230
|
+
def extract_line_elements(executable, line, filename)
|
231
|
+
# Handle anything preceding filename in line as extra output to be collected
|
78
232
|
stdout = nil
|
79
|
-
stdout_regex = /(.+)#{Regexp.escape(filename)}.+/i
|
233
|
+
stdout_regex = /(.+)#{Regexp.escape(filename)}:[0-9]+:(PASS|IGNORE|FAIL).+/i
|
80
234
|
unity_test_time = 0
|
81
235
|
|
82
236
|
if (line =~ stdout_regex)
|
@@ -84,17 +238,33 @@ class GeneratorTestResults
|
|
84
238
|
line.sub!(/#{Regexp.escape(stdout)}/, '')
|
85
239
|
end
|
86
240
|
|
87
|
-
#
|
241
|
+
# Collect up test results minus any extra output
|
88
242
|
elements = (line.strip.split(':'))[1..-1]
|
89
243
|
|
90
|
-
#
|
244
|
+
# Find timestamp if available
|
91
245
|
if (elements[-1] =~ / \((\d*(?:\.\d*)?) ms\)/)
|
92
246
|
unity_test_time = $1.to_f / 1000
|
93
247
|
elements[-1].sub!(/ \((\d*(?:\.\d*)?) ms\)/, '')
|
94
248
|
end
|
95
249
|
|
96
|
-
|
97
|
-
|
250
|
+
if elements[3..-1]
|
251
|
+
message = (elements[3..-1].join(':')).strip
|
252
|
+
else
|
253
|
+
message = nil
|
254
|
+
end
|
255
|
+
|
256
|
+
components = {
|
257
|
+
:test => elements[1],
|
258
|
+
:line => elements[0].to_i,
|
259
|
+
# Decode any multline strings
|
260
|
+
:message => message.nil? ? nil : message.gsub( NEWLINE_TOKEN, "\n" ),
|
261
|
+
:unity_test_time => unity_test_time
|
262
|
+
}
|
263
|
+
|
264
|
+
return components, stdout if elements.size >= 3
|
265
|
+
|
266
|
+
# Fall through failure case
|
267
|
+
raise CeedlingException.new( "Could not parse results output line \"line\" for `#{executable}`" )
|
98
268
|
end
|
99
269
|
|
100
270
|
end
|
@@ -0,0 +1,215 @@
|
|
1
|
+
# =========================================================================
|
2
|
+
# Ceedling - Test-Centered Build System for C
|
3
|
+
# ThrowTheSwitch.org
|
4
|
+
# Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
# SPDX-License-Identifier: MIT
|
6
|
+
# =========================================================================
|
7
|
+
|
8
|
+
class GeneratorTestResultsBacktrace
|
9
|
+
|
10
|
+
constructor :configurator, :tool_executor, :generator_test_results
|
11
|
+
|
12
|
+
def setup()
|
13
|
+
@RESULTS_COLLECTOR = Struct.new( :passed, :failed, :ignored, :output, keyword_init:true )
|
14
|
+
end
|
15
|
+
|
16
|
+
def do_simple(filename, executable, shell_result, test_cases)
|
17
|
+
# Clean stats tracker
|
18
|
+
test_case_results = @RESULTS_COLLECTOR.new( passed:0, failed:0, ignored:0, output:[] )
|
19
|
+
|
20
|
+
# Reset time
|
21
|
+
shell_result[:time] = 0
|
22
|
+
|
23
|
+
# Iterate on test cases
|
24
|
+
test_cases.each do |test_case|
|
25
|
+
# Build the test fixture to run with our test case of interest
|
26
|
+
command = @tool_executor.build_command_line(
|
27
|
+
@configurator.tools_test_fixture_simple_backtrace, [],
|
28
|
+
executable,
|
29
|
+
test_case[:test]
|
30
|
+
)
|
31
|
+
# Things are gonna go boom, so ignore booms to get output
|
32
|
+
command[:options][:boom] = false
|
33
|
+
|
34
|
+
crash_result = @tool_executor.exec( command )
|
35
|
+
|
36
|
+
# Sum execution time for each test case
|
37
|
+
# Note: Running tests serpatately increases total execution time)
|
38
|
+
shell_result[:time] += crash_result[:time].to_f()
|
39
|
+
|
40
|
+
# Process single test case stats
|
41
|
+
case crash_result[:output]
|
42
|
+
# Success test case
|
43
|
+
when /(^#{filename}.+:PASS\s*$)/
|
44
|
+
test_case_results[:passed] += 1
|
45
|
+
test_output = $1 # Grab regex match
|
46
|
+
|
47
|
+
# Ignored test case
|
48
|
+
when /(^#{filename}.+:IGNORE\s*$)/
|
49
|
+
test_case_results[:ignored] += 1
|
50
|
+
test_output = $1 # Grab regex match
|
51
|
+
|
52
|
+
when /(^#{filename}.+:FAIL(:.+)?\s*$)/
|
53
|
+
test_case_results[:failed] += 1
|
54
|
+
test_output = $1 # Grab regex match
|
55
|
+
|
56
|
+
else # Crash failure case
|
57
|
+
test_case_results[:failed] += 1
|
58
|
+
test_output = "#{filename}}:#{test_case[:line_number]}:#{test_case[:test]}:FAIL: Test case crashed"
|
59
|
+
end
|
60
|
+
|
61
|
+
# Collect up real and stand-in test results output
|
62
|
+
test_case_results[:output] << test_output
|
63
|
+
end
|
64
|
+
|
65
|
+
# Reset shell result exit code and output
|
66
|
+
shell_result[:exit_code] = test_case_results[:failed]
|
67
|
+
shell_result[:output] =
|
68
|
+
@generator_test_results.regenerate_test_executable_stdout(
|
69
|
+
total: test_cases.size(),
|
70
|
+
ignored: test_case_results[:ignored],
|
71
|
+
failed: test_case_results[:failed],
|
72
|
+
output: test_case_results[:output]
|
73
|
+
)
|
74
|
+
|
75
|
+
return shell_result
|
76
|
+
end
|
77
|
+
|
78
|
+
def do_gdb(filename, executable, shell_result, test_cases)
|
79
|
+
gdb_script_filepath = File.join( @configurator.project_build_tests_root, BACKTRACE_GDB_SCRIPT_FILE )
|
80
|
+
|
81
|
+
# Clean stats tracker
|
82
|
+
test_case_results = @RESULTS_COLLECTOR.new( passed:0, failed:0, ignored:0, output:[] )
|
83
|
+
|
84
|
+
# Reset time
|
85
|
+
shell_result[:time] = 0
|
86
|
+
|
87
|
+
# Iterate on test cases
|
88
|
+
test_cases.each do |test_case|
|
89
|
+
# Build the test fixture to run with our test case of interest
|
90
|
+
command = @tool_executor.build_command_line(
|
91
|
+
@configurator.tools_test_backtrace_gdb, [],
|
92
|
+
gdb_script_filepath,
|
93
|
+
executable,
|
94
|
+
test_case[:test]
|
95
|
+
)
|
96
|
+
# Things are gonna go boom, so ignore booms to get output
|
97
|
+
command[:options][:boom] = false
|
98
|
+
|
99
|
+
crash_result = @tool_executor.exec( command )
|
100
|
+
|
101
|
+
# Sum execution time for each test case
|
102
|
+
# Note: Running tests serpatately increases total execution time)
|
103
|
+
shell_result[:time] += crash_result[:time].to_f()
|
104
|
+
|
105
|
+
test_output = ''
|
106
|
+
|
107
|
+
# Process single test case stats
|
108
|
+
case crash_result[:output]
|
109
|
+
# Success test case
|
110
|
+
when /(^#{filename}.+:PASS\s*$)/
|
111
|
+
test_case_results[:passed] += 1
|
112
|
+
test_output = $1 # Grab regex match
|
113
|
+
|
114
|
+
# Ignored test case
|
115
|
+
when /(^#{filename}.+:IGNORE\s*$)/
|
116
|
+
test_case_results[:ignored] += 1
|
117
|
+
test_output = $1 # Grab regex match
|
118
|
+
|
119
|
+
when /(^#{filename}.+:FAIL(:.+)?\s*$)/
|
120
|
+
test_case_results[:failed] += 1
|
121
|
+
test_output = $1 # Grab regex match
|
122
|
+
|
123
|
+
else # Crash failure case
|
124
|
+
test_case_results[:failed] += 1
|
125
|
+
|
126
|
+
# Collect file_name and line in which crash occurred
|
127
|
+
matched = crash_result[:output].match( /#{test_case[:test]}\s*\(\)\sat.+#{filename}:(\d+)\n/ )
|
128
|
+
|
129
|
+
# If we found an error report line containing `test_case() at filename.c:###` in `gdb` output
|
130
|
+
if matched
|
131
|
+
# Line number
|
132
|
+
line_number = matched[1]
|
133
|
+
|
134
|
+
# Filter the `gdb` $stdout report to find most important lines of text
|
135
|
+
crash_report = filter_gdb_test_report( crash_result[:output], test_case[:test], filename )
|
136
|
+
|
137
|
+
# Unity’s test executable output is line oriented.
|
138
|
+
# Multi-line output is not possible (it looks like random `printf()` statements to the results parser)
|
139
|
+
# "Encode" newlines in multiline string to be handled by the test results parser.
|
140
|
+
test_output = crash_report.gsub( "\n", NEWLINE_TOKEN )
|
141
|
+
|
142
|
+
test_output = "#{filename}:#{line_number}:#{test_case[:test]}:FAIL: Test case crashed >> #{test_output}"
|
143
|
+
|
144
|
+
# Otherwise communicate that `gdb` failed to produce a usable report
|
145
|
+
else
|
146
|
+
test_output = "#{filename}:#{test_case[:line_number]}:#{test_case[:test]}:FAIL: Test case crashed (no usable `gdb` report)"
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
test_case_results[:output] << test_output
|
151
|
+
end
|
152
|
+
|
153
|
+
# Reset shell result exit code and output
|
154
|
+
shell_result[:exit_code] = test_case_results[:failed]
|
155
|
+
shell_result[:output] =
|
156
|
+
@generator_test_results.regenerate_test_executable_stdout(
|
157
|
+
total: test_cases.size(),
|
158
|
+
ignored: test_case_results[:ignored],
|
159
|
+
failed: test_case_results[:failed],
|
160
|
+
output: test_case_results[:output]
|
161
|
+
)
|
162
|
+
|
163
|
+
return shell_result
|
164
|
+
end
|
165
|
+
|
166
|
+
### Private ###
|
167
|
+
private
|
168
|
+
|
169
|
+
def filter_gdb_test_report(report, test_case, filename)
|
170
|
+
# Sample `gdb` backtrace output
|
171
|
+
# =============================
|
172
|
+
# [Thread debugging using libthread_db enabled]
|
173
|
+
# Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
|
174
|
+
#
|
175
|
+
# [1] > Program received signal SIGSEGV, Segmentation fault.
|
176
|
+
# 0x0000555999f661fb in testCrash () at test/TestUsartModel.c:40
|
177
|
+
# [2] > 40 uint32_t i = *nullptr;
|
178
|
+
# #0 0x0000555999f661fb in testCrash () at test/TestUsartModel.c:40
|
179
|
+
# #1 0x0000555999f674de in run_test (func=0x555999f661e7 <testCrash>, name=0x555999f6b2e0 "testCrash", line_num=37) at build/test/runners/TestUsartModel_runner.c:76
|
180
|
+
# #2 0x0000555999f6766b in main (argc=3, argv=0x7fff917e2c98) at build/test/runners/TestUsartModel_runner.c:117
|
181
|
+
|
182
|
+
lines = report.split( "\n" )
|
183
|
+
|
184
|
+
# Safe defaults to extract entire report
|
185
|
+
report_start_index = 0 # [1]
|
186
|
+
report_end_index = (lines.size()-1) # [2]
|
187
|
+
|
188
|
+
# Find line preceding last `<test_case> () at <filename>`, [2];
|
189
|
+
# it is the offending line of code.
|
190
|
+
# We don't need the rest of the call trace -- it's just from the runner
|
191
|
+
# up to the crashed test case.
|
192
|
+
lines.each_with_index do |line, index|
|
193
|
+
if line =~ /#{test_case}.+at.+#{filename}/
|
194
|
+
report_end_index = (index - 1) unless (index == 0)
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
# Work up from [2] to find top line of the containing text block, [1].
|
199
|
+
# Go until we find a blank line; then increment index back down a line.
|
200
|
+
# This lops off any unneeded preamble.
|
201
|
+
report_end_index.downto(0).to_a().each do |index|
|
202
|
+
if lines[index].empty?
|
203
|
+
# Look for a blank line and adjust index to next line of text
|
204
|
+
report_start_index = (index + 1)
|
205
|
+
break
|
206
|
+
end
|
207
|
+
end
|
208
|
+
|
209
|
+
length = (report_end_index - report_start_index) + 1
|
210
|
+
|
211
|
+
# Reconstitute the report from the extracted lines
|
212
|
+
return lines[report_start_index, length].join( "\n" )
|
213
|
+
end
|
214
|
+
|
215
|
+
end
|