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
@@ -0,0 +1,70 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
extern "C"{
|
10
|
+
#include "driver.h"
|
11
|
+
#include "registers.h"
|
12
|
+
}
|
13
|
+
#include "../../fff.h"
|
14
|
+
#include <gtest/gtest.h>
|
15
|
+
|
16
|
+
DEFINE_FFF_GLOBALS;
|
17
|
+
|
18
|
+
FAKE_VOID_FUNC(IO_MEM_WR8, uint32_t, uint8_t);
|
19
|
+
FAKE_VALUE_FUNC(uint8_t, IO_MEM_RD8, uint32_t);
|
20
|
+
|
21
|
+
class DriverTestFFF : public testing::Test
|
22
|
+
{
|
23
|
+
public:
|
24
|
+
void SetUp()
|
25
|
+
{
|
26
|
+
RESET_FAKE(IO_MEM_WR8);
|
27
|
+
RESET_FAKE(IO_MEM_RD8);
|
28
|
+
FFF_RESET_HISTORY();
|
29
|
+
}
|
30
|
+
|
31
|
+
};
|
32
|
+
|
33
|
+
TEST_F(DriverTestFFF, When_writing_Then_writes_data_to_DRIVER_OUTPUT_REGISTER)
|
34
|
+
{
|
35
|
+
driver_write(0x34);
|
36
|
+
ASSERT_EQ(1u, IO_MEM_WR8_fake.call_count);
|
37
|
+
ASSERT_EQ(0x34u, IO_MEM_WR8_fake.arg1_val);
|
38
|
+
ASSERT_EQ(DRIVER_OUTPUT_REGISTER, IO_MEM_WR8_fake.arg0_val);
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
TEST_F(DriverTestFFF, When_reading_data_Then_reads_from_DRIVER_INPUT_REGISTER)
|
43
|
+
{
|
44
|
+
IO_MEM_RD8_fake.return_val = 0x55;
|
45
|
+
uint8_t returnedValue = driver_read();
|
46
|
+
ASSERT_EQ(1u, IO_MEM_RD8_fake.call_count);
|
47
|
+
ASSERT_EQ(0x55u, returnedValue);
|
48
|
+
ASSERT_EQ(IO_MEM_RD8_fake.arg0_val, DRIVER_INPUT_REGISTER);
|
49
|
+
}
|
50
|
+
|
51
|
+
TEST_F(DriverTestFFF, Given_revisionB_device_When_initialize_Then_enable_peripheral_before_initializing_it)
|
52
|
+
{
|
53
|
+
// Given
|
54
|
+
IO_MEM_RD8_fake.return_val = HARDWARE_REV_B;
|
55
|
+
// When
|
56
|
+
driver_init_device();
|
57
|
+
|
58
|
+
//Then
|
59
|
+
// Gets the hardware revision
|
60
|
+
ASSERT_EQ((void*) IO_MEM_RD8, fff.call_history[0]);
|
61
|
+
ASSERT_EQ(HARDWARE_VERSION_REGISTER, IO_MEM_RD8_fake.arg0_history[0]);
|
62
|
+
// Enables Peripheral
|
63
|
+
ASSERT_EQ((void*) IO_MEM_WR8, fff.call_history[1]);
|
64
|
+
ASSERT_EQ(DRIVER_PERIPHERAL_ENABLE_REG, IO_MEM_WR8_fake.arg0_history[0]);
|
65
|
+
ASSERT_EQ(1, IO_MEM_WR8_fake.arg1_history[0]);
|
66
|
+
// Initializes Peripheral
|
67
|
+
ASSERT_EQ((void*) IO_MEM_WR8, fff.call_history[2]);
|
68
|
+
ASSERT_EQ(DRIVER_PERIPHERAL_INITIALIZE_REG,IO_MEM_WR8_fake.arg0_history[1]);
|
69
|
+
ASSERT_EQ(1, IO_MEM_WR8_fake.arg1_history[1]);
|
70
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
#ifndef HARDWARE_ABSTRACTION
|
12
|
+
#define HARDWARE_ABSTRACTION
|
13
|
+
|
14
|
+
#include <stdint.h>
|
15
|
+
|
16
|
+
#ifndef TESTING
|
17
|
+
#define IO_MEM_RD8(ADDR) (*((volatile uint8_t *)(ADDR)))
|
18
|
+
#define IO_MEM_WR8(ADDR, VAL_8) (*((volatile uint8_t *)(ADDR)) = (VAL_8))
|
19
|
+
#else
|
20
|
+
/* In testing use fake functions to record calls to IO memory */
|
21
|
+
uint8_t IO_MEM_RD8(uint32_t reg);
|
22
|
+
void IO_MEM_WR8(uint32_t reg, uint8_t val);
|
23
|
+
#endif
|
24
|
+
|
25
|
+
#endif /* Include guard */
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
#ifndef REGISTERS_H_
|
12
|
+
#define REGISTERS_H_
|
13
|
+
|
14
|
+
#define DRIVER_OUTPUT_REGISTER 0xFFAAu
|
15
|
+
#define DRIVER_INPUT_REGISTER 0XFFABu
|
16
|
+
#define DRIVER_PERIPHERAL_ENABLE_REG 0xFFACu
|
17
|
+
#define DRIVER_PERIPHERAL_INITIALIZE_REG 0xFFACu
|
18
|
+
|
19
|
+
#define HARDWARE_VERSION_REGISTER 0xFF00u
|
20
|
+
#define HARDWARE_REV_A 0x00u
|
21
|
+
#define HARDWARE_REV_B 0x01u
|
22
|
+
|
23
|
+
#endif /* REGISTERS_H_ */
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
/*
|
12
|
+
* DISPLAY.h
|
13
|
+
*
|
14
|
+
* Created on: Dec 17, 2010
|
15
|
+
* Author: mlong
|
16
|
+
*/
|
17
|
+
|
18
|
+
#ifndef DISPLAY_H_
|
19
|
+
#define DISPLAY_H_
|
20
|
+
|
21
|
+
void DISPLAY_init();
|
22
|
+
void DISPLAY_clear();
|
23
|
+
unsigned int DISPLAY_get_line_capacity();
|
24
|
+
unsigned int DISPLAY_get_line_insert_index();
|
25
|
+
void DISPLAY_output(char * message);
|
26
|
+
|
27
|
+
#endif /* DISPLAY_H_ */
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
Problem Definition
|
3
|
+
------------------
|
4
|
+
The task is to write a user interface module for an embedded device.
|
5
|
+
|
6
|
+
Interrupts:
|
7
|
+
* The user interface is responsible for initializing the display.
|
8
|
+
* The user interface will register an interrupt handler for GPIO input 2 (a
|
9
|
+
push button).
|
10
|
+
* It will be possible to register a callback function for button presses.
|
11
|
+
* When there is no callback function set the irq handler will increment a
|
12
|
+
missed irq counter.
|
13
|
+
* When the interrupt occurs the handler will schedule or execute the button
|
14
|
+
press callback if there is one registered.
|
15
|
+
Output:
|
16
|
+
* Tasks can write messages to the user interface to be output on the display.
|
17
|
+
* The display is line oriented; when the last line of the display is written
|
18
|
+
the user interface is responsible for clearing the display.
|
19
|
+
* The display is 26 characters wide. Any string longer than that must be
|
20
|
+
truncated before being sent to the display. The string must be null
|
21
|
+
terminated and thus maximum 27 bytes long.
|
22
|
+
|
23
|
+
* BONUS: Have the display be scrolling, i.e. when the display is full, the
|
24
|
+
previous lines must be shifted up one and the new line written in the bottom
|
25
|
+
line.
|
@@ -0,0 +1,67 @@
|
|
1
|
+
$(VERBOSE).SILENT:
|
2
|
+
|
3
|
+
BUILD_DIR = ../../build
|
4
|
+
TEMPLATE_PROGNAME = $(BUILD_DIR)/template
|
5
|
+
C_PROGNAME = $(BUILD_DIR)/ui_test_ansic
|
6
|
+
CPP_PROGNAME = $(BUILD_DIR)/ui_test_cpp
|
7
|
+
CC = gcc
|
8
|
+
CC += -c
|
9
|
+
CPP = g++
|
10
|
+
CPP += -c
|
11
|
+
LD = g++
|
12
|
+
|
13
|
+
GTEST_OBJS = $(BUILD_DIR)/gtest-all.o $(BUILD_DIR)/gtest-main.o
|
14
|
+
C_OBJFILES = $(BUILD_DIR)/UI_test_ansic.o $(BUILD_DIR)/UI.o
|
15
|
+
TEMPLATE_OBJFILES = $(BUILD_DIR)/test_suite_template.o
|
16
|
+
CPP_OBJFILES = $(BUILD_DIR)/UI_test_cpp.o $(BUILD_DIR)/UI.o $(GTEST_OBJS)
|
17
|
+
CPP_LIBS = -lpthread
|
18
|
+
|
19
|
+
|
20
|
+
all: $(C_PROGNAME) $(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
21
|
+
|
22
|
+
.PHONY: clean
|
23
|
+
|
24
|
+
clean:
|
25
|
+
@echo "Cleaning object files"
|
26
|
+
@echo " rm -f $(BUILD_DIR)/*.o"
|
27
|
+
rm -f $(BUILD_DIR)/*.o
|
28
|
+
@echo "Cleaning backups"
|
29
|
+
@echo " rm -f *~"
|
30
|
+
rm -f *~
|
31
|
+
@echo "Removing programs"
|
32
|
+
@echo " rm -f "$(C_PROGNAME)
|
33
|
+
rm -f $(C_PROGNAME)
|
34
|
+
@echo " rm -f "$(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
35
|
+
rm -f $(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
36
|
+
|
37
|
+
|
38
|
+
$(BUILD_DIR)/%.o: %.c
|
39
|
+
@echo "Compiling "$@
|
40
|
+
@echo " CC "$<
|
41
|
+
$(CC) -o $@ $<
|
42
|
+
|
43
|
+
$(BUILD_DIR)/%.o: %.cpp
|
44
|
+
@echo "Compiling "$@
|
45
|
+
@echo " CPP "$<
|
46
|
+
$(CPP) -DGTEST_USE_OWN_TR1_TUPLE=1 -I../.. -o $@ $<
|
47
|
+
|
48
|
+
$(TEMPLATE_PROGNAME): $(TEMPLATE_OBJFILES)
|
49
|
+
@echo "Linking "$@
|
50
|
+
@echo " LD -o "ctemplate" "$(TEMPLATE_OBJFILES)
|
51
|
+
$(LD) -o $(TEMPLATE_PROGNAME) $(TEMPLATE_OBJFILES)
|
52
|
+
|
53
|
+
$(C_PROGNAME): $(C_OBJFILES)
|
54
|
+
@echo "Linking "$@
|
55
|
+
@echo " LD -o "$(C_PROGNAME)" "$(C_OBJFILES)
|
56
|
+
$(LD) -o $(C_PROGNAME) $(C_OBJFILES)
|
57
|
+
|
58
|
+
$(CPP_PROGNAME): $(CPP_OBJFILES) $(C_OBJFILES)
|
59
|
+
@echo "Linking "$@
|
60
|
+
@echo " LD -o "$(CPP_PROGNAME)" "$(CPP_OBJFILES)
|
61
|
+
$(LD) -o $(CPP_PROGNAME) $(CPP_OBJFILES) $(CPP_LIBS)
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
nothing:
|
66
|
+
@echo "Nothing to do; quitting :("
|
67
|
+
@echo "HINT: Try make all"
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
/*
|
12
|
+
* DISPLAY.h
|
13
|
+
*
|
14
|
+
* Created on: Dec 17, 2010
|
15
|
+
* Author: mlong
|
16
|
+
*/
|
17
|
+
|
18
|
+
#ifndef SYSTEM_H_
|
19
|
+
#define SYSTEM_H_
|
20
|
+
|
21
|
+
typedef void (*irq_func_t)(void);
|
22
|
+
|
23
|
+
#define IRQ_GPIO_0 0x70
|
24
|
+
#define IRQ_GPIO_1 0x71
|
25
|
+
#define IRQ_GPIO_2 0x72
|
26
|
+
#define IRQ_GPIO_3 0x73
|
27
|
+
|
28
|
+
|
29
|
+
void SYSTEM_register_irq(irq_func_t, unsigned int irq);
|
30
|
+
|
31
|
+
#endif /* SYSTEM_H_ */
|
@@ -0,0 +1,56 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
#include "UI.h"
|
10
|
+
#include "DISPLAY.h"
|
11
|
+
#include "SYSTEM.h"
|
12
|
+
#include <string.h>
|
13
|
+
|
14
|
+
static unsigned int missed_irq_counter;
|
15
|
+
button_cbk_t button_cbk;
|
16
|
+
|
17
|
+
|
18
|
+
void UI_init()
|
19
|
+
{
|
20
|
+
DISPLAY_init();
|
21
|
+
SYSTEM_register_irq(UI_button_irq_handler, IRQ_GPIO_2);
|
22
|
+
button_cbk = 0;
|
23
|
+
missed_irq_counter = 0;
|
24
|
+
}
|
25
|
+
|
26
|
+
unsigned int UI_get_missed_irqs()
|
27
|
+
{
|
28
|
+
return missed_irq_counter;
|
29
|
+
}
|
30
|
+
|
31
|
+
void UI_button_irq_handler()
|
32
|
+
{
|
33
|
+
if(button_cbk)
|
34
|
+
{
|
35
|
+
button_cbk();
|
36
|
+
}
|
37
|
+
else
|
38
|
+
{
|
39
|
+
missed_irq_counter++;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
void UI_register_button_cbk(button_cbk_t cbk)
|
44
|
+
{
|
45
|
+
button_cbk = cbk;
|
46
|
+
}
|
47
|
+
|
48
|
+
void UI_write_line(char *line)
|
49
|
+
{
|
50
|
+
static char out[27];
|
51
|
+
strncpy(out, line, 26);
|
52
|
+
out[26] = '\0';
|
53
|
+
if(DISPLAY_get_line_capacity() == DISPLAY_get_line_insert_index())
|
54
|
+
DISPLAY_clear();
|
55
|
+
DISPLAY_output(out);
|
56
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
#ifndef UI_H_
|
12
|
+
#define UI_H_
|
13
|
+
|
14
|
+
typedef void (*button_cbk_t)(void);
|
15
|
+
|
16
|
+
void UI_init();
|
17
|
+
unsigned int UI_get_missed_irqs();
|
18
|
+
void UI_button_irq_handler();
|
19
|
+
void UI_register_button_cbk(button_cbk_t cbk);
|
20
|
+
void UI_write_line(char *line);
|
21
|
+
|
22
|
+
#endif /* UI_H_ */
|
@@ -0,0 +1,191 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
#include "UI.h"
|
10
|
+
#include "../../fff.h"
|
11
|
+
#include "SYSTEM.h"
|
12
|
+
#include "DISPLAY.h"
|
13
|
+
|
14
|
+
#include <assert.h>
|
15
|
+
#include <stdio.h>
|
16
|
+
#include <string.h>
|
17
|
+
|
18
|
+
/* Test Framework :-) */
|
19
|
+
void setup();
|
20
|
+
#define TEST_F(SUITE, NAME) void NAME()
|
21
|
+
#define RUN_TEST(SUITE, TESTNAME) printf(" Running %s.%s: \n", #SUITE, #TESTNAME); setup(); TESTNAME(); printf(" SUCCESS\n");
|
22
|
+
|
23
|
+
DEFINE_FFF_GLOBALS;
|
24
|
+
|
25
|
+
/* SYSTEM.h */
|
26
|
+
FAKE_VOID_FUNC2(SYSTEM_register_irq, irq_func_t, unsigned int);
|
27
|
+
/* DISPLAY.h */
|
28
|
+
FAKE_VOID_FUNC(DISPLAY_init);
|
29
|
+
FAKE_VOID_FUNC(DISPLAY_clear);
|
30
|
+
FAKE_VOID_FUNC(DISPLAY_output, char *);
|
31
|
+
FAKE_VALUE_FUNC(unsigned int, DISPLAY_get_line_capacity);
|
32
|
+
FAKE_VALUE_FUNC(unsigned int, DISPLAY_get_line_insert_index);
|
33
|
+
|
34
|
+
FAKE_VOID_FUNC0(button_press_cbk);
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
/* Initialializers called for every test */
|
39
|
+
void setup()
|
40
|
+
{
|
41
|
+
RESET_FAKE(SYSTEM_register_irq);
|
42
|
+
|
43
|
+
RESET_FAKE(DISPLAY_init)
|
44
|
+
RESET_FAKE(DISPLAY_clear)
|
45
|
+
RESET_FAKE(DISPLAY_output)
|
46
|
+
RESET_FAKE(DISPLAY_get_line_capacity)
|
47
|
+
RESET_FAKE(DISPLAY_get_line_insert_index);
|
48
|
+
|
49
|
+
RESET_FAKE(button_press_cbk);
|
50
|
+
|
51
|
+
FFF_RESET_HISTORY();
|
52
|
+
|
53
|
+
DISPLAY_get_line_capacity_fake.return_val = 2;
|
54
|
+
}
|
55
|
+
|
56
|
+
/* Tests go here */
|
57
|
+
TEST_F(UITests, init_will_initialise_display)
|
58
|
+
{
|
59
|
+
UI_init();
|
60
|
+
assert(DISPLAY_init_fake.call_count == 1);
|
61
|
+
}
|
62
|
+
|
63
|
+
TEST_F(UITests, init_will_register_interrupt_gpio2)
|
64
|
+
{
|
65
|
+
UI_init();
|
66
|
+
assert(SYSTEM_register_irq_fake.call_count == 1);
|
67
|
+
assert(SYSTEM_register_irq_fake.arg0_val == UI_button_irq_handler);
|
68
|
+
assert(SYSTEM_register_irq_fake.arg1_val == IRQ_GPIO_2);
|
69
|
+
}
|
70
|
+
|
71
|
+
TEST_F(UITests, when_no_irq_then_missed_irq_counter_zero)
|
72
|
+
{
|
73
|
+
assert(UI_get_missed_irqs() == 0);
|
74
|
+
}
|
75
|
+
|
76
|
+
TEST_F(UITests, when_one_irq_and_no_handler_then_missed_irq_counter_one)
|
77
|
+
{
|
78
|
+
UI_button_irq_handler();
|
79
|
+
assert(UI_get_missed_irqs() == 1);
|
80
|
+
}
|
81
|
+
|
82
|
+
TEST_F(UITests, when_one_irq_and_valid_callback_then_missed_irq_counter_zero)
|
83
|
+
{
|
84
|
+
UI_init();
|
85
|
+
UI_register_button_cbk(button_press_cbk);
|
86
|
+
UI_button_irq_handler();
|
87
|
+
assert(UI_get_missed_irqs() == 0);
|
88
|
+
}
|
89
|
+
|
90
|
+
TEST_F(UITests, when_one_irq_and_valid_callback_then_callback_called)
|
91
|
+
{
|
92
|
+
UI_register_button_cbk(button_press_cbk);
|
93
|
+
UI_button_irq_handler();
|
94
|
+
assert(button_press_cbk_fake.call_count == 1);
|
95
|
+
}
|
96
|
+
|
97
|
+
TEST_F(UITests, write_line_outputs_lines_to_display)
|
98
|
+
{
|
99
|
+
char msg[] = "helloworld";
|
100
|
+
UI_write_line(msg);
|
101
|
+
assert(DISPLAY_output_fake.call_count == 1);
|
102
|
+
assert(strncmp(DISPLAY_output_fake.arg0_val, msg, 26) == 0);
|
103
|
+
}
|
104
|
+
|
105
|
+
TEST_F(UITests, when_no_empty_lines_write_line_clears_screen_and_outputs_lines_to_display)
|
106
|
+
{
|
107
|
+
DISPLAY_get_line_insert_index_fake.return_val = 2;
|
108
|
+
char msg[] = "helloworld";
|
109
|
+
|
110
|
+
UI_write_line(msg);
|
111
|
+
|
112
|
+
assert(DISPLAY_clear_fake.call_count == 1);
|
113
|
+
assert(DISPLAY_output_fake.call_count == 1);
|
114
|
+
// Check the order of the calls: Don't care about the first two:
|
115
|
+
// DISPLAY_get_line_capacity and DISPLAY_get_line_insert_index
|
116
|
+
assert(fff.call_history_idx == 4);
|
117
|
+
assert(fff.call_history[2] == (void *) DISPLAY_clear);
|
118
|
+
assert(fff.call_history[3] == (void *) DISPLAY_output);
|
119
|
+
}
|
120
|
+
|
121
|
+
TEST_F(UITests, when_empty_lines_write_line_doesnt_clear_screen)
|
122
|
+
{
|
123
|
+
// given
|
124
|
+
DISPLAY_get_line_insert_index_fake.return_val = 1;
|
125
|
+
char msg[] = "helloworld";
|
126
|
+
// when
|
127
|
+
UI_write_line(msg);
|
128
|
+
// then
|
129
|
+
assert(DISPLAY_clear_fake.call_count == 0);
|
130
|
+
}
|
131
|
+
|
132
|
+
TEST_F(UITests, when_string_longer_than_26_then_truncated_string_output)
|
133
|
+
{
|
134
|
+
// given
|
135
|
+
char input[] = "abcdefghijklmnopqrstuvwxyz0123456789";
|
136
|
+
char expected[] = "abcdefghijklmnopqrstuvwxyz";
|
137
|
+
// when
|
138
|
+
UI_write_line(input);
|
139
|
+
// then
|
140
|
+
assert(strncmp(expected, DISPLAY_output_fake.arg0_val, 37) == 0);
|
141
|
+
}
|
142
|
+
|
143
|
+
TEST_F(UITests, when_outputting_to_full_display_then_previous_inserted)
|
144
|
+
{
|
145
|
+
// given
|
146
|
+
DISPLAY_get_line_insert_index_fake.return_val = 1;
|
147
|
+
char oldest[] = "oldest";
|
148
|
+
char newest[] = "newest";
|
149
|
+
// when
|
150
|
+
UI_write_line(oldest);
|
151
|
+
UI_write_line(newest);
|
152
|
+
// then
|
153
|
+
|
154
|
+
assert(DISPLAY_output_fake.call_count == 2);
|
155
|
+
|
156
|
+
// fills last line
|
157
|
+
assert(strncmp(oldest, DISPLAY_output_fake.arg0_history[0], 37) == 0);
|
158
|
+
//clears
|
159
|
+
assert(DISPLAY_clear_fake.call_count == 1);
|
160
|
+
// inserts old line at first
|
161
|
+
assert(strncmp(oldest, DISPLAY_output_fake.arg0_history[1], 37) == 0);
|
162
|
+
// then inserts new line
|
163
|
+
assert(strncmp(newest, DISPLAY_output_fake.arg0_history[2], 37) == 0);
|
164
|
+
}
|
165
|
+
|
166
|
+
int main()
|
167
|
+
{
|
168
|
+
setbuf(stdout, NULL);
|
169
|
+
fprintf(stdout, "-------------\n");
|
170
|
+
fprintf(stdout, "Running Tests\n");
|
171
|
+
fprintf(stdout, "-------------\n\n");
|
172
|
+
fflush(0);
|
173
|
+
|
174
|
+
/* Run tests */
|
175
|
+
RUN_TEST(UITests, init_will_initialise_display);
|
176
|
+
RUN_TEST(UITests, init_will_register_interrupt_gpio2);
|
177
|
+
RUN_TEST(UITests, when_no_irq_then_missed_irq_counter_zero);
|
178
|
+
RUN_TEST(UITests, when_one_irq_and_no_handler_then_missed_irq_counter_one);
|
179
|
+
RUN_TEST(UITests, when_one_irq_and_valid_callback_then_missed_irq_counter_zero);
|
180
|
+
RUN_TEST(UITests, when_one_irq_and_valid_callback_then_callback_called);
|
181
|
+
RUN_TEST(UITests, write_line_outputs_lines_to_display);
|
182
|
+
RUN_TEST(UITests, when_no_empty_lines_write_line_clears_screen_and_outputs_lines_to_display);
|
183
|
+
RUN_TEST(UITests, when_empty_lines_write_line_doesnt_clear_screen);
|
184
|
+
RUN_TEST(UITests, when_string_longer_than_26_then_truncated_string_output);
|
185
|
+
|
186
|
+
printf("\n-------------\n");
|
187
|
+
printf("Complete\n");
|
188
|
+
printf("-------------\n\n");
|
189
|
+
|
190
|
+
return 0;
|
191
|
+
}
|
@@ -0,0 +1,144 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
Ceedling - Test-Centered Build System for C
|
3
|
+
ThrowTheSwitch.org
|
4
|
+
Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
5
|
+
SPDX-License-Identifier: MIT
|
6
|
+
========================================================================= */
|
7
|
+
|
8
|
+
|
9
|
+
extern "C"{
|
10
|
+
#include "UI.h"
|
11
|
+
#include "SYSTEM.h"
|
12
|
+
#include "DISPLAY.h"
|
13
|
+
}
|
14
|
+
#include <gtest/gtest.h>
|
15
|
+
|
16
|
+
|
17
|
+
#include "../../fff.h"
|
18
|
+
DEFINE_FFF_GLOBALS;
|
19
|
+
|
20
|
+
/* SYSTEM.h */
|
21
|
+
FAKE_VOID_FUNC(SYSTEM_register_irq, irq_func_t, unsigned int);
|
22
|
+
/* DISPLAY.h */
|
23
|
+
FAKE_VOID_FUNC(DISPLAY_init);
|
24
|
+
FAKE_VOID_FUNC(DISPLAY_clear);
|
25
|
+
FAKE_VOID_FUNC(DISPLAY_output, char *);
|
26
|
+
FAKE_VALUE_FUNC(unsigned int, DISPLAY_get_line_capacity);
|
27
|
+
FAKE_VALUE_FUNC(unsigned int, DISPLAY_get_line_insert_index);
|
28
|
+
|
29
|
+
FAKE_VOID_FUNC(button_press_cbk);
|
30
|
+
|
31
|
+
|
32
|
+
class UITests : public testing::Test
|
33
|
+
{
|
34
|
+
public:
|
35
|
+
|
36
|
+
void SetUp()
|
37
|
+
{
|
38
|
+
// Register resets
|
39
|
+
RESET_FAKE(SYSTEM_register_irq);
|
40
|
+
|
41
|
+
RESET_FAKE(DISPLAY_init)
|
42
|
+
RESET_FAKE(DISPLAY_clear)
|
43
|
+
RESET_FAKE(DISPLAY_output)
|
44
|
+
RESET_FAKE(DISPLAY_get_line_capacity)
|
45
|
+
RESET_FAKE(DISPLAY_get_line_insert_index);
|
46
|
+
|
47
|
+
RESET_FAKE(button_press_cbk);
|
48
|
+
|
49
|
+
FFF_RESET_HISTORY();
|
50
|
+
// non default init
|
51
|
+
DISPLAY_get_line_capacity_fake.return_val = 2;
|
52
|
+
}
|
53
|
+
};
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
/* Tests go here */
|
58
|
+
TEST_F(UITests, init_will_initialise_display)
|
59
|
+
{
|
60
|
+
UI_init();
|
61
|
+
ASSERT_EQ(DISPLAY_init_fake.call_count, 1);
|
62
|
+
}
|
63
|
+
|
64
|
+
TEST_F(UITests, init_will_register_interrupt_gpio2)
|
65
|
+
{
|
66
|
+
UI_init();
|
67
|
+
ASSERT_EQ(SYSTEM_register_irq_fake.call_count, 1);
|
68
|
+
ASSERT_EQ((void *)SYSTEM_register_irq_fake.arg0_val, (void *)UI_button_irq_handler);
|
69
|
+
ASSERT_EQ(SYSTEM_register_irq_fake.arg1_val, IRQ_GPIO_2);
|
70
|
+
}
|
71
|
+
|
72
|
+
TEST_F(UITests, when_no_irq_then_missed_irq_counter_zero)
|
73
|
+
{
|
74
|
+
ASSERT_EQ(UI_get_missed_irqs(), 0);
|
75
|
+
}
|
76
|
+
|
77
|
+
TEST_F(UITests, when_one_irq_and_no_handler_then_missed_irq_counter_one)
|
78
|
+
{
|
79
|
+
UI_button_irq_handler();
|
80
|
+
ASSERT_EQ(UI_get_missed_irqs(), 1);
|
81
|
+
}
|
82
|
+
|
83
|
+
TEST_F(UITests, when_one_irq_and_valid_callback_then_missed_irq_counter_zero)
|
84
|
+
{
|
85
|
+
UI_init();
|
86
|
+
UI_register_button_cbk(button_press_cbk);
|
87
|
+
UI_button_irq_handler();
|
88
|
+
ASSERT_EQ(UI_get_missed_irqs(), 0);
|
89
|
+
}
|
90
|
+
|
91
|
+
TEST_F(UITests, when_one_irq_and_valid_callback_then_callback_called)
|
92
|
+
{
|
93
|
+
UI_register_button_cbk(button_press_cbk);
|
94
|
+
UI_button_irq_handler();
|
95
|
+
ASSERT_EQ(button_press_cbk_fake.call_count, 1);
|
96
|
+
}
|
97
|
+
|
98
|
+
TEST_F(UITests, write_line_outputs_lines_to_display)
|
99
|
+
{
|
100
|
+
char msg[] = "helloworld";
|
101
|
+
UI_write_line(msg);
|
102
|
+
ASSERT_EQ(DISPLAY_output_fake.call_count, 1);
|
103
|
+
ASSERT_EQ(strncmp(DISPLAY_output_fake.arg0_val, msg, 26), 0);
|
104
|
+
}
|
105
|
+
|
106
|
+
TEST_F(UITests, when_no_empty_lines_write_line_clears_screen_and_outputs_lines_to_display)
|
107
|
+
{
|
108
|
+
DISPLAY_get_line_insert_index_fake.return_val = 2;
|
109
|
+
char msg[] = "helloworld";
|
110
|
+
|
111
|
+
UI_write_line(msg);
|
112
|
+
|
113
|
+
ASSERT_EQ(DISPLAY_clear_fake.call_count, 1);
|
114
|
+
ASSERT_EQ(DISPLAY_output_fake.call_count, 1);
|
115
|
+
// Check the order of the calls: Don't care about the first two:
|
116
|
+
// DISPLAY_get_line_capacity and DISPLAY_get_line_insert_index
|
117
|
+
ASSERT_EQ(fff.call_history_idx, 4);
|
118
|
+
ASSERT_EQ(fff.call_history[2], (void *) DISPLAY_clear);
|
119
|
+
ASSERT_EQ(fff.call_history[3], (void *) DISPLAY_output);
|
120
|
+
}
|
121
|
+
|
122
|
+
TEST_F(UITests, when_empty_lines_write_line_doesnt_clear_screen)
|
123
|
+
{
|
124
|
+
// given
|
125
|
+
DISPLAY_get_line_insert_index_fake.return_val = 1;
|
126
|
+
char msg[] = "helloworld";
|
127
|
+
// when
|
128
|
+
UI_write_line(msg);
|
129
|
+
// then
|
130
|
+
ASSERT_EQ(DISPLAY_clear_fake.call_count, 0);
|
131
|
+
}
|
132
|
+
|
133
|
+
TEST_F(UITests, when_string_longer_than_26_then_truncated_string_output)
|
134
|
+
{
|
135
|
+
// given
|
136
|
+
char input[] = "abcdefghijklmnopqrstuvwxyz0123456789";
|
137
|
+
char expected[] = "abcdefghijklmnopqrstuvwxyz";
|
138
|
+
// when
|
139
|
+
UI_write_line(input);
|
140
|
+
// then
|
141
|
+
ASSERT_EQ(strncmp(expected, DISPLAY_output_fake.arg0_val, 37), 0);
|
142
|
+
}
|
143
|
+
|
144
|
+
|