ceedling 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +18 -14
- data/README.md +6 -4
- data/assets/project_as_gem.yml +1 -1
- data/assets/rakefile_as_gem.rb +2 -0
- data/assets/rakefile_with_guts.rb +3 -1
- data/ceedling.gemspec +1 -0
- data/examples/blinky/rakefile.rb +2 -2
- data/examples/temp_sensor/rakefile.rb +1 -1
- data/examples/temp_sensor/src/TemperatureFilter.c +1 -2
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
- data/examples/temp_sensor/test/TestTemperatureFilter.c +12 -2
- data/lib/ceedling.rb +94 -22
- data/lib/{build_invoker_utils.rb → ceedling/build_invoker_utils.rb} +27 -27
- data/lib/{cacheinator.rb → ceedling/cacheinator.rb} +42 -42
- data/lib/{cacheinator_helper.rb → ceedling/cacheinator_helper.rb} +12 -12
- data/lib/{cmock_builder.rb → ceedling/cmock_builder.rb} +15 -15
- data/lib/{configurator.rb → ceedling/configurator.rb} +333 -329
- data/lib/{configurator_builder.rb → ceedling/configurator_builder.rb} +437 -437
- data/lib/{configurator_plugins.rb → ceedling/configurator_plugins.rb} +124 -124
- data/lib/{configurator_setup.rb → ceedling/configurator_setup.rb} +124 -124
- data/lib/{configurator_validator.rb → ceedling/configurator_validator.rb} +184 -184
- data/lib/{constants.rb → ceedling/constants.rb} +20 -17
- data/lib/{defaults.rb → ceedling/defaults.rb} +19 -18
- data/lib/{dependinator.rb → ceedling/dependinator.rb} +92 -92
- data/lib/{erb_wrapper.rb → ceedling/erb_wrapper.rb} +8 -8
- data/lib/{file_finder.rb → ceedling/file_finder.rb} +132 -132
- data/lib/{file_finder_helper.rb → ceedling/file_finder_helper.rb} +54 -54
- data/lib/{file_path_utils.rb → ceedling/file_path_utils.rb} +189 -189
- data/lib/{file_system_utils.rb → ceedling/file_system_utils.rb} +69 -69
- data/lib/{file_system_wrapper.rb → ceedling/file_system_wrapper.rb} +9 -9
- data/lib/{file_wrapper.rb → ceedling/file_wrapper.rb} +79 -79
- data/lib/{flaginator.rb → ceedling/flaginator.rb} +54 -54
- data/lib/{generator.rb → ceedling/generator.rb} +164 -164
- data/lib/{generator_helper.rb → ceedling/generator_helper.rb} +40 -40
- data/lib/{generator_test_results.rb → ceedling/generator_test_results.rb} +86 -89
- data/lib/{generator_test_results_sanity_checker.rb → ceedling/generator_test_results_sanity_checker.rb} +64 -62
- data/lib/{generator_test_runner.rb → ceedling/generator_test_runner.rb} +63 -63
- data/lib/{loginator.rb → ceedling/loginator.rb} +31 -31
- data/lib/{makefile.rb → ceedling/makefile.rb} +0 -0
- data/lib/{objects.yml → ceedling/objects.yml} +0 -0
- data/lib/{par_map.rb → ceedling/par_map.rb} +0 -0
- data/lib/{plugin.rb → ceedling/plugin.rb} +80 -80
- data/lib/{plugin_builder.rb → ceedling/plugin_builder.rb} +52 -52
- data/lib/{plugin_manager.rb → ceedling/plugin_manager.rb} +107 -107
- data/lib/{plugin_manager_helper.rb → ceedling/plugin_manager_helper.rb} +19 -19
- data/lib/{plugin_reportinator.rb → ceedling/plugin_reportinator.rb} +2 -2
- data/lib/{plugin_reportinator_helper.rb → ceedling/plugin_reportinator_helper.rb} +1 -1
- data/lib/{preprocessinator.rb → ceedling/preprocessinator.rb} +43 -43
- data/lib/{preprocessinator_extractor.rb → ceedling/preprocessinator_extractor.rb} +30 -30
- data/lib/{preprocessinator_file_handler.rb → ceedling/preprocessinator_file_handler.rb} +21 -21
- data/lib/{preprocessinator_helper.rb → ceedling/preprocessinator_helper.rb} +46 -46
- data/lib/ceedling/preprocessinator_includes_handler.rb +82 -0
- data/lib/{project_config_manager.rb → ceedling/project_config_manager.rb} +38 -38
- data/lib/{project_file_loader.rb → ceedling/project_file_loader.rb} +64 -64
- data/lib/{rake_utils.rb → ceedling/rake_utils.rb} +17 -17
- data/lib/{rake_wrapper.rb → ceedling/rake_wrapper.rb} +33 -33
- data/lib/{rakefile.rb → ceedling/rakefile.rb} +78 -74
- data/lib/{release_invoker.rb → ceedling/release_invoker.rb} +58 -58
- data/lib/{release_invoker_helper.rb → ceedling/release_invoker_helper.rb} +16 -16
- data/lib/{reportinator.rb → ceedling/reportinator.rb} +9 -9
- data/lib/{rules_cmock.rake → ceedling/rules_cmock.rake} +9 -9
- data/lib/{rules_preprocess.rake → ceedling/rules_preprocess.rake} +26 -26
- data/lib/{rules_release.rake → ceedling/rules_release.rake} +79 -79
- data/lib/{rules_release_deep_dependencies.rake → ceedling/rules_release_deep_dependencies.rake} +15 -15
- data/lib/{rules_tests.rake → ceedling/rules_tests.rake} +59 -59
- data/lib/{rules_tests_deep_dependencies.rake → ceedling/rules_tests_deep_dependencies.rake} +15 -15
- data/lib/{setupinator.rb → ceedling/setupinator.rb} +51 -51
- data/lib/{stream_wrapper.rb → ceedling/stream_wrapper.rb} +20 -20
- data/lib/{streaminator.rb → ceedling/streaminator.rb} +40 -41
- data/lib/{streaminator_helper.rb → ceedling/streaminator_helper.rb} +15 -15
- data/lib/{system_utils.rb → ceedling/system_utils.rb} +0 -0
- data/lib/{system_wrapper.rb → ceedling/system_wrapper.rb} +76 -76
- data/lib/{target_loader.rb → ceedling/target_loader.rb} +0 -0
- data/lib/{task_invoker.rb → ceedling/task_invoker.rb} +89 -89
- data/lib/{tasks_base.rake → ceedling/tasks_base.rake} +104 -104
- data/lib/{tasks_filesystem.rake → ceedling/tasks_filesystem.rake} +91 -91
- data/lib/{tasks_release.rake → ceedling/tasks_release.rake} +28 -28
- data/lib/{tasks_release_deep_dependencies.rake → ceedling/tasks_release_deep_dependencies.rake} +9 -9
- data/lib/{tasks_tests.rake → ceedling/tasks_tests.rake} +52 -52
- data/lib/{tasks_tests_deep_dependencies.rake → ceedling/tasks_tests_deep_dependencies.rake} +9 -9
- data/lib/{tasks_vendor.rake → ceedling/tasks_vendor.rake} +36 -36
- data/lib/{test_includes_extractor.rb → ceedling/test_includes_extractor.rb} +81 -81
- data/lib/{test_invoker.rb → ceedling/test_invoker.rb} +97 -97
- data/lib/{test_invoker_helper.rb → ceedling/test_invoker_helper.rb} +28 -28
- data/lib/{tool_executor.rb → ceedling/tool_executor.rb} +215 -212
- data/lib/{tool_executor_helper.rb → ceedling/tool_executor_helper.rb} +115 -115
- data/lib/{verbosinator.rb → ceedling/verbosinator.rb} +10 -10
- data/lib/ceedling/version.rb +1 -1
- data/lib/{yaml_wrapper.rb → ceedling/yaml_wrapper.rb} +17 -16
- data/license.txt +31 -0
- data/plugins/bullseye/lib/bullseye.rb +2 -2
- data/plugins/gcov/gcov.rb +2 -2
- data/plugins/module_generator/lib/module_generator.rb +4 -3
- data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +8 -8
- data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +3 -3
- data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +4 -0
- data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +57 -0
- data/plugins/xml_tests_report/xml_tests_report.rb +4 -4
- data/release/version.info +1 -1
- data/spec/ceedling_spec.rb +154 -0
- data/spec/par_map_spec.rb +1 -1
- data/spec/preprocessinator_extractor_spec.rb +26 -27
- data/spec/preprocessinator_includes_handler_spec.rb +175 -0
- data/spec/spec_helper.rb +8 -27
- data/test_graveyard/integration/paths_test.rb +2 -2
- data/test_graveyard/unit/busted/configurator_builder_test.rb +2 -2
- data/test_graveyard/unit/busted/configurator_test.rb +1 -1
- data/test_graveyard/unit/busted/configurator_validator_test.rb +1 -1
- data/test_graveyard/unit/busted/dependinator_test.rb +1 -1
- data/test_graveyard/unit/busted/file_finder_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/file_finder_test.rb +1 -1
- data/test_graveyard/unit/busted/file_path_utils_test.rb +1 -1
- data/test_graveyard/unit/busted/file_system_utils_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test_results_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test_runner_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_test.rb +1 -1
- data/test_graveyard/unit/busted/project_file_loader_test.rb +1 -1
- data/test_graveyard/unit/busted/setupinator_test.rb +1 -1
- data/test_graveyard/unit/busted/streaminator_test.rb +2 -2
- data/test_graveyard/unit/busted/task_invoker_test.rb +1 -1
- data/test_graveyard/unit/busted/test_includes_extractor_test.rb +1 -1
- data/test_graveyard/unit/busted/test_invoker_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/test_invoker_test.rb +1 -1
- data/test_graveyard/unit/busted/tool_executor_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/tool_executor_test.rb +1 -1
- data/test_graveyard/unit/busted/verbosinator_test.rb +1 -1
- data/test_graveyard/unit/preprocessinator_extractor_test.rb +1 -1
- data/vendor/c_exception/Gemfile +4 -0
- data/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/c_exception/test/TestException.c +25 -14
- data/vendor/c_exception/test/TestException_Runner.c +74 -57
- data/vendor/cmock/Gemfile +11 -0
- data/vendor/cmock/lib/cmock_generator.rb +13 -12
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +44 -0
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +74 -0
- data/vendor/cmock/lib/cmock_generator_utils.rb +67 -42
- data/vendor/cmock/src/cmock.c +20 -30
- data/vendor/cmock/src/cmock.h +1 -0
- data/vendor/cmock/src/cmock_internals.h +43 -0
- data/vendor/cmock/test/c/TestCMockC.c +79 -36
- data/vendor/cmock/test/c/TestCMockC_Runner.c +2 -0
- data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +21 -1
- data/vendor/cmock/test/spec/cmock_generator_plugin_array_spec.rb +52 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +2 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +235 -0
- data/vendor/cmock/test/test_helper.rb +10 -5
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +38 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -0
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +58 -33
- data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
- data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/docs/license.txt +30 -0
- data/vendor/cmock/vendor/c_exception/docs/readme.txt +236 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.c +39 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.h +70 -0
- data/vendor/cmock/vendor/c_exception/makefile +24 -0
- data/vendor/cmock/vendor/c_exception/rakefile.rb +41 -0
- data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
- data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
- data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +27 -0
- data/vendor/cmock/vendor/c_exception/test/TestException.c +291 -0
- data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +62 -0
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +94 -0
- data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
- data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +313 -0
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +139 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +217 -0
- data/vendor/cmock/vendor/unity/docs/license.txt +31 -0
- data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.c +10 -0
- data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.h +12 -0
- data/vendor/cmock/vendor/unity/examples/makefile +40 -0
- data/vendor/cmock/vendor/unity/examples/rakefile.rb +32 -0
- data/vendor/cmock/vendor/unity/examples/rakefile_helper.rb +256 -0
- data/vendor/cmock/vendor/unity/examples/readme.txt +18 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.c +9 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/unity/examples/test/TestProductionCode.c +62 -0
- data/vendor/cmock/vendor/unity/examples/test/TestProductionCode2.c +31 -0
- data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
- data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
- data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/MakefileWorker.mk +0 -0
- data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/filterGcov.sh +0 -0
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +37 -0
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
- data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
- data/vendor/cmock/vendor/unity/makefile +35 -0
- data/vendor/cmock/vendor/unity/rakefile.rb +48 -0
- data/vendor/cmock/vendor/unity/rakefile_helper.rb +240 -0
- data/vendor/cmock/vendor/unity/release/build.info +2 -0
- data/vendor/cmock/vendor/unity/release/version.info +2 -0
- data/vendor/cmock/vendor/unity/src/unity.c +979 -0
- data/vendor/cmock/vendor/unity/src/unity.h +232 -0
- data/vendor/cmock/vendor/unity/src/unity_internals.h +424 -0
- data/vendor/cmock/vendor/unity/targets/gcc.yml +43 -0
- data/vendor/cmock/vendor/unity/targets/gcc_64.yml +44 -0
- data/vendor/cmock/vendor/unity/targets/hitech_picc18.yml +101 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v4.yml +89 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v5.yml +79 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
- data/vendor/cmock/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
- data/vendor/cmock/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
- data/vendor/cmock/vendor/unity/targets/iar_msp430.yml +94 -0
- data/vendor/cmock/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +50 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +60 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +63 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +51 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +60 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +63 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
- data/vendor/cmock/vendor/unity/test/test_generate_test_runner.rb +94 -0
- data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
- data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
- data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
- data/vendor/cmock/vendor/unity/test/testparameterized.c +101 -0
- data/vendor/cmock/vendor/unity/test/testunity.c +2024 -0
- data/vendor/unity/Gemfile +4 -0
- data/vendor/unity/auto/generate_test_runner.rb +6 -3
- data/vendor/unity/examples/makefile +2 -2
- data/vendor/unity/examples/rakefile.rb +13 -2
- data/vendor/unity/extras/fixture/rakefile.rb +1 -1
- data/vendor/unity/extras/fixture/rakefile_helper.rb +4 -3
- data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -12
- data/vendor/unity/extras/fixture/src/unity_fixture.h +5 -5
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -1
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -3
- data/vendor/unity/makefile +2 -2
- data/vendor/unity/src/unity.c +183 -16
- data/vendor/unity/src/unity.h +18 -5
- data/vendor/unity/src/unity_internals.h +57 -23
- data/vendor/unity/targets/gcc_64.yml +45 -0
- data/vendor/unity/test/testunity.c +436 -28
- metadata +200 -137
- data/ceedling-0.13.0.rc4.gem +0 -0
- data/ceedling.sublime-project +0 -8
- data/ceedling.sublime-workspace +0 -365
- data/lib/preprocessinator_includes_handler.rb +0 -55
- data/tags +0 -977
- data/vendor/cmock/vendor/hardmock/CHANGES +0 -78
- data/vendor/cmock/vendor/hardmock/LICENSE +0 -7
- data/vendor/cmock/vendor/hardmock/README +0 -70
- data/vendor/cmock/vendor/hardmock/Rakefile +0 -8
- data/vendor/cmock/vendor/hardmock/config/environment.rb +0 -12
- data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +0 -23
- data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +0 -14
- data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +0 -86
- data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +0 -22
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +0 -26
- data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
- data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +0 -180
- data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
- data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
- data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
- data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +0 -9
- data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
- data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
- data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
- data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +0 -22
- data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
- data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
- data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
- data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
- data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
- data/vendor/cmock/vendor/hardmock/test/test_helper.rb +0 -43
- data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
- data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +0 -372
- data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +0 -57
- data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
- data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
- data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +0 -279
- data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
- data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +0 -62
- data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
|
@@ -9,12 +9,17 @@
|
|
|
9
9
|
require File.expand_path(File.dirname(__FILE__)) + req
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
+
# Note from Matt July 16 2012: not sure why this is here, as 1.9 comes with
|
|
13
|
+
# minitest, an implementation for Test::Unit in 1.9.
|
|
14
|
+
# Using test-unit makes hardmock quite unhappy.
|
|
15
|
+
# Long-term solution: replace hardmock with a mocking library like rr or rspec
|
|
16
|
+
# that is well maintained into the future. hardmock is off of life support.
|
|
12
17
|
#gem install test-unit -v 1.2.3
|
|
13
|
-
ruby_version = RUBY_VERSION.split('.')
|
|
14
|
-
if (ruby_version[1].to_i == 9) and (ruby_version[2].to_i > 1)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
end
|
|
18
|
+
# ruby_version = RUBY_VERSION.split('.')
|
|
19
|
+
# if (ruby_version[1].to_i == 9) and (ruby_version[2].to_i > 1)
|
|
20
|
+
# require 'rubygems'
|
|
21
|
+
# gem 'test-unit'
|
|
22
|
+
# end
|
|
18
23
|
require 'test/unit'
|
|
19
24
|
require 'hardmock'
|
|
20
25
|
|
|
@@ -52,6 +52,7 @@ class CMockGeneratorTest < Test::Unit::TestCase
|
|
|
52
52
|
@cmock_generator = CMockGenerator.new(@config, @file_writer, @utils, @plugins)
|
|
53
53
|
@cmock_generator.module_name = @module_name
|
|
54
54
|
@cmock_generator.mock_name = "Mock#{@module_name}"
|
|
55
|
+
@cmock_generator.clean_mock_name = "Mock#{@module_name}"
|
|
55
56
|
|
|
56
57
|
#strict handling
|
|
57
58
|
@config.expect.mock_prefix.returns("Mock")
|
|
@@ -65,6 +66,7 @@ class CMockGeneratorTest < Test::Unit::TestCase
|
|
|
65
66
|
@cmock_generator_strict = CMockGenerator.new(@config, @file_writer, @utils, @plugins)
|
|
66
67
|
@cmock_generator_strict.module_name = @module_name
|
|
67
68
|
@cmock_generator_strict.mock_name = "Mock#{@module_name}"
|
|
69
|
+
@cmock_generator_strict.clean_mock_name = "Mock#{@module_name}"
|
|
68
70
|
end
|
|
69
71
|
|
|
70
72
|
def teardown
|
|
@@ -100,6 +102,42 @@ class CMockGeneratorTest < Test::Unit::TestCase
|
|
|
100
102
|
assert_equal(expected, output)
|
|
101
103
|
end
|
|
102
104
|
|
|
105
|
+
should "handle dashes and spaces in the module name" do
|
|
106
|
+
#no strict handling
|
|
107
|
+
@config.expect.mock_prefix.returns("Mock")
|
|
108
|
+
@config.expect.enforce_strict_ordering.returns(nil)
|
|
109
|
+
@config.expect.framework.returns(:unity)
|
|
110
|
+
@config.expect.includes.returns(["ConfigRequiredHeader1.h","ConfigRequiredHeader2.h"])
|
|
111
|
+
@config.expect.includes_h_post_orig_header.returns(nil)
|
|
112
|
+
@config.expect.includes_c_pre_header.returns(nil)
|
|
113
|
+
@config.expect.includes_c_post_header.returns(nil)
|
|
114
|
+
@cmock_generator2 = CMockGenerator.new(@config, @file_writer, @utils, @plugins)
|
|
115
|
+
@cmock_generator2.module_name = "Pout-Pout Fish"
|
|
116
|
+
@cmock_generator2.mock_name = "MockPout-Pout Fish"
|
|
117
|
+
@cmock_generator2.clean_mock_name = "MockPout_Pout_Fish"
|
|
118
|
+
|
|
119
|
+
@config.expect.mock_prefix.returns("Mock")
|
|
120
|
+
orig_filename = "Pout-Pout Fish.h"
|
|
121
|
+
define_name = "MOCKPOUT_POUT_FISH_H"
|
|
122
|
+
mock_name = "MockPout_Pout_Fish"
|
|
123
|
+
output = []
|
|
124
|
+
expected = [ "/* AUTOGENERATED FILE. DO NOT EDIT. */\n",
|
|
125
|
+
"#ifndef _#{define_name}\n",
|
|
126
|
+
"#define _#{define_name}\n\n",
|
|
127
|
+
"#include \"ConfigRequiredHeader1.h\"\n",
|
|
128
|
+
"#include \"ConfigRequiredHeader2.h\"\n",
|
|
129
|
+
"#include \"#{orig_filename}\"\n",
|
|
130
|
+
"#include \"PluginRequiredHeader.h\"\n",
|
|
131
|
+
"\n"
|
|
132
|
+
]
|
|
133
|
+
|
|
134
|
+
@plugins.expect.run(:include_files).returns("#include \"PluginRequiredHeader.h\"\n")
|
|
135
|
+
|
|
136
|
+
@cmock_generator2.create_mock_header_header(output, "MockPout-Pout Fish.h")
|
|
137
|
+
|
|
138
|
+
assert_equal(expected, output)
|
|
139
|
+
end
|
|
140
|
+
|
|
103
141
|
should "create the top of a header file with optional include files from config" do
|
|
104
142
|
@config.expect.mock_prefix.returns("Mock")
|
|
105
143
|
orig_filename = "PoutPoutFish.h"
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# ==========================================
|
|
2
|
+
# CMock Project - Automatic Mock Generation for C
|
|
3
|
+
# Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
|
|
4
|
+
# [Released under MIT License. Please refer to license.txt for details]
|
|
5
|
+
# ==========================================
|
|
6
|
+
|
|
7
|
+
require File.expand_path(File.dirname(__FILE__)) + "/../test_helper"
|
|
8
|
+
require 'cmock_generator_plugin_ignore_arg'
|
|
9
|
+
|
|
10
|
+
class CMockGeneratorPluginIgnoreArgTest < Test::Unit::TestCase
|
|
11
|
+
def setup
|
|
12
|
+
create_mocks :config, :utils
|
|
13
|
+
|
|
14
|
+
# int *Oak(void)"
|
|
15
|
+
@void_func = {:name => "Oak", :args => [], :return => test_return[:int_ptr]}
|
|
16
|
+
|
|
17
|
+
# void Pine(int chicken, const int beef, int *tofu)
|
|
18
|
+
@complex_func = {:name => "Pine",
|
|
19
|
+
:args => [{ :type => "int",
|
|
20
|
+
:name => "chicken",
|
|
21
|
+
:ptr? => false,
|
|
22
|
+
},
|
|
23
|
+
{ :type => "int*",
|
|
24
|
+
:name => "beef",
|
|
25
|
+
:ptr? => true,
|
|
26
|
+
:const? => true,
|
|
27
|
+
},
|
|
28
|
+
{ :type => "int*",
|
|
29
|
+
:name => "tofu",
|
|
30
|
+
:ptr? => true,
|
|
31
|
+
}],
|
|
32
|
+
:return => test_return[:void],
|
|
33
|
+
:contains_ptr? => true }
|
|
34
|
+
|
|
35
|
+
#no strict ordering
|
|
36
|
+
@cmock_generator_plugin_ignore_arg = CMockGeneratorPluginIgnoreArg.new(@config, @utils)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def teardown
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
should "have set up internal accessors correctly on init" do
|
|
43
|
+
assert_equal(@utils, @cmock_generator_plugin_ignore_arg.utils)
|
|
44
|
+
assert_equal(10, @cmock_generator_plugin_ignore_arg.priority)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
should "not include any additional include files" do
|
|
48
|
+
assert(!@cmock_generator_plugin_ignore_arg.respond_to?(:include_files))
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
should "not add to typedef structure for functions with no args" do
|
|
52
|
+
returned = @cmock_generator_plugin_ignore_arg.instance_typedefs(@void_func)
|
|
53
|
+
assert_equal("", returned)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
should "add to tyepdef structure mock needs of functions of style 'void func(int chicken, int* pork)'" do
|
|
57
|
+
expected = " int IgnoreArg_chicken;\n" +
|
|
58
|
+
" int IgnoreArg_beef;\n" +
|
|
59
|
+
" int IgnoreArg_tofu;\n"
|
|
60
|
+
returned = @cmock_generator_plugin_ignore_arg.instance_typedefs(@complex_func)
|
|
61
|
+
assert_equal(expected, returned)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
should "add mock function declarations for all arguments" do
|
|
65
|
+
expected =
|
|
66
|
+
"#define Pine_IgnoreArg_chicken()" +
|
|
67
|
+
" Pine_CMockIgnoreArg_chicken(__LINE__)\n" +
|
|
68
|
+
"void Pine_CMockIgnoreArg_chicken(UNITY_LINE_TYPE cmock_line);\n" +
|
|
69
|
+
|
|
70
|
+
"#define Pine_IgnoreArg_beef()" +
|
|
71
|
+
" Pine_CMockIgnoreArg_beef(__LINE__)\n" +
|
|
72
|
+
"void Pine_CMockIgnoreArg_beef(UNITY_LINE_TYPE cmock_line);\n" +
|
|
73
|
+
|
|
74
|
+
"#define Pine_IgnoreArg_tofu()" +
|
|
75
|
+
" Pine_CMockIgnoreArg_tofu(__LINE__)\n" +
|
|
76
|
+
"void Pine_CMockIgnoreArg_tofu(UNITY_LINE_TYPE cmock_line);\n"
|
|
77
|
+
|
|
78
|
+
returned = @cmock_generator_plugin_ignore_arg.mock_function_declarations(@complex_func)
|
|
79
|
+
assert_equal(expected, returned)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
should "add mock interfaces for all arguments" do
|
|
83
|
+
expected =
|
|
84
|
+
"void Pine_CMockIgnoreArg_chicken(UNITY_LINE_TYPE cmock_line)\n" +
|
|
85
|
+
"{\n" +
|
|
86
|
+
" CMOCK_Pine_CALL_INSTANCE* cmock_call_instance = " +
|
|
87
|
+
"cmock_call_instance = (CMOCK_Pine_CALL_INSTANCE*)CMock_Guts_GetAddressFor(CMock_Guts_MemEndOfChain(Mock.Pine_CallInstance));\n" +
|
|
88
|
+
" UNITY_TEST_ASSERT_NOT_NULL(cmock_call_instance, cmock_line, \"chicken IgnoreArg called before Expect on 'Pine'.\");\n" +
|
|
89
|
+
" cmock_call_instance->IgnoreArg_chicken = 1;\n" +
|
|
90
|
+
"}\n\n" +
|
|
91
|
+
|
|
92
|
+
"void Pine_CMockIgnoreArg_beef(UNITY_LINE_TYPE cmock_line)\n" +
|
|
93
|
+
"{\n" +
|
|
94
|
+
" CMOCK_Pine_CALL_INSTANCE* cmock_call_instance = " +
|
|
95
|
+
"cmock_call_instance = (CMOCK_Pine_CALL_INSTANCE*)CMock_Guts_GetAddressFor(CMock_Guts_MemEndOfChain(Mock.Pine_CallInstance));\n" +
|
|
96
|
+
" UNITY_TEST_ASSERT_NOT_NULL(cmock_call_instance, cmock_line, \"beef IgnoreArg called before Expect on 'Pine'.\");\n" +
|
|
97
|
+
" cmock_call_instance->IgnoreArg_beef = 1;\n" +
|
|
98
|
+
"}\n\n" +
|
|
99
|
+
|
|
100
|
+
"void Pine_CMockIgnoreArg_tofu(UNITY_LINE_TYPE cmock_line)\n" +
|
|
101
|
+
"{\n" +
|
|
102
|
+
" CMOCK_Pine_CALL_INSTANCE* cmock_call_instance = " +
|
|
103
|
+
"cmock_call_instance = (CMOCK_Pine_CALL_INSTANCE*)CMock_Guts_GetAddressFor(CMock_Guts_MemEndOfChain(Mock.Pine_CallInstance));\n" +
|
|
104
|
+
" UNITY_TEST_ASSERT_NOT_NULL(cmock_call_instance, cmock_line, \"tofu IgnoreArg called before Expect on 'Pine'.\");\n" +
|
|
105
|
+
" cmock_call_instance->IgnoreArg_tofu = 1;\n" +
|
|
106
|
+
"}\n\n"
|
|
107
|
+
|
|
108
|
+
returned = @cmock_generator_plugin_ignore_arg.mock_interfaces(@complex_func).join("")
|
|
109
|
+
assert_equal(expected, returned)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
should "not add a mock implementation" do
|
|
113
|
+
assert(!@cmock_generator_plugin_ignore_arg.respond_to?(:mock_implementation))
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
end
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# ==========================================
|
|
2
|
+
# CMock Project - Automatic Mock Generation for C
|
|
3
|
+
# Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
|
|
4
|
+
# [Released under MIT License. Please refer to license.txt for details]
|
|
5
|
+
# ==========================================
|
|
6
|
+
|
|
7
|
+
require File.expand_path(File.dirname(__FILE__)) + "/../test_helper"
|
|
8
|
+
require 'cmock_generator_plugin_return_thru_ptr'
|
|
9
|
+
|
|
10
|
+
class CMockGeneratorPluginReturnThruPtrTest < Test::Unit::TestCase
|
|
11
|
+
def setup
|
|
12
|
+
create_mocks :config, :utils
|
|
13
|
+
|
|
14
|
+
# int *Oak(void)"
|
|
15
|
+
@void_func = {:name => "Oak", :args => [], :return => test_return[:int_ptr]}
|
|
16
|
+
|
|
17
|
+
# char *Maple(int blah)
|
|
18
|
+
@simple_func = {:name => "Maple",
|
|
19
|
+
:args => [{:name => "blah", :type => "int", :ptr? => false}],
|
|
20
|
+
:return => test_return[:string],
|
|
21
|
+
:contains_ptr? => false}
|
|
22
|
+
|
|
23
|
+
# void Pine(int chicken, const int beef, int *tofu)
|
|
24
|
+
@complex_func = {:name => "Pine",
|
|
25
|
+
:args => [{ :type => "int",
|
|
26
|
+
:name => "chicken",
|
|
27
|
+
:ptr? => false,
|
|
28
|
+
},
|
|
29
|
+
{ :type => "int*",
|
|
30
|
+
:name => "beef",
|
|
31
|
+
:ptr? => true,
|
|
32
|
+
:const? => true,
|
|
33
|
+
},
|
|
34
|
+
{ :type => "int*",
|
|
35
|
+
:name => "tofu",
|
|
36
|
+
:ptr? => true,
|
|
37
|
+
}],
|
|
38
|
+
:return => test_return[:void],
|
|
39
|
+
:contains_ptr? => true }
|
|
40
|
+
|
|
41
|
+
#no strict ordering
|
|
42
|
+
@cmock_generator_plugin_return_thru_ptr = CMockGeneratorPluginReturnThruPtr.new(@config, @utils)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def teardown
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def simple_func_expect
|
|
49
|
+
@utils.expect.ptr_or_str?('int').returns(false)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def complex_func_expect
|
|
53
|
+
@utils.expect.ptr_or_str?('int').returns(false)
|
|
54
|
+
@utils.expect.ptr_or_str?('int*').returns(true)
|
|
55
|
+
@utils.expect.ptr_or_str?('int*').returns(true)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
should "have set up internal accessors correctly on init" do
|
|
59
|
+
assert_equal(@utils, @cmock_generator_plugin_return_thru_ptr.utils)
|
|
60
|
+
assert_equal(9, @cmock_generator_plugin_return_thru_ptr.priority)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
should "not include any additional include files" do
|
|
64
|
+
assert(!@cmock_generator_plugin_return_thru_ptr.respond_to?(:include_files))
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
should "not add to typedef structure for functions of style 'int* func(void)'" do
|
|
68
|
+
returned = @cmock_generator_plugin_return_thru_ptr.instance_typedefs(@void_func)
|
|
69
|
+
assert_equal("", returned)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
should "add to tyepdef structure mock needs of functions of style 'void func(int chicken, int* pork)'" do
|
|
73
|
+
complex_func_expect()
|
|
74
|
+
expected = " int ReturnThruPtr_tofu_Used;\n" +
|
|
75
|
+
" int* ReturnThruPtr_tofu_Val;\n" +
|
|
76
|
+
" int ReturnThruPtr_tofu_Size;\n"
|
|
77
|
+
returned = @cmock_generator_plugin_return_thru_ptr.instance_typedefs(@complex_func)
|
|
78
|
+
assert_equal(expected, returned)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
should "not add an additional mock interface for functions not containing pointers" do
|
|
82
|
+
simple_func_expect()
|
|
83
|
+
returned = @cmock_generator_plugin_return_thru_ptr.mock_function_declarations(@simple_func)
|
|
84
|
+
assert_equal("", returned)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
should "add a mock function declaration only for non-const pointer arguments" do
|
|
88
|
+
complex_func_expect();
|
|
89
|
+
|
|
90
|
+
expected =
|
|
91
|
+
"#define Pine_ReturnThruPtr_tofu(tofu)" +
|
|
92
|
+
" Pine_CMockReturnMemThruPtr_tofu(__LINE__, tofu, sizeof(*tofu))\n" +
|
|
93
|
+
"#define Pine_ReturnArrayThruPtr_tofu(tofu, cmock_len)" +
|
|
94
|
+
" Pine_CMockReturnMemThruPtr_tofu(__LINE__, tofu, cmock_len * sizeof(*tofu))\n" +
|
|
95
|
+
"#define Pine_ReturnMemThruPtr_tofu(tofu, cmock_size)" +
|
|
96
|
+
" Pine_CMockReturnMemThruPtr_tofu(__LINE__, tofu, cmock_size)\n" +
|
|
97
|
+
"void Pine_CMockReturnMemThruPtr_tofu(UNITY_LINE_TYPE cmock_line, int* tofu, int cmock_size);\n"
|
|
98
|
+
|
|
99
|
+
returned = @cmock_generator_plugin_return_thru_ptr.mock_function_declarations(@complex_func)
|
|
100
|
+
assert_equal(expected, returned)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
should "add mock interfaces only for non-const pointer arguments" do
|
|
104
|
+
complex_func_expect();
|
|
105
|
+
|
|
106
|
+
expected =
|
|
107
|
+
"void Pine_CMockReturnMemThruPtr_tofu(UNITY_LINE_TYPE cmock_line, int* tofu, int cmock_size)\n" +
|
|
108
|
+
"{\n" +
|
|
109
|
+
" CMOCK_Pine_CALL_INSTANCE* cmock_call_instance = " +
|
|
110
|
+
"cmock_call_instance = (CMOCK_Pine_CALL_INSTANCE*)CMock_Guts_GetAddressFor(CMock_Guts_MemEndOfChain(Mock.Pine_CallInstance));\n" +
|
|
111
|
+
" UNITY_TEST_ASSERT_NOT_NULL(cmock_call_instance, cmock_line, \"tofu ReturnThruPtr called before Expect on 'Pine'.\");\n" +
|
|
112
|
+
" cmock_call_instance->ReturnThruPtr_tofu_Used = 1;\n" +
|
|
113
|
+
" cmock_call_instance->ReturnThruPtr_tofu_Val = tofu;\n" +
|
|
114
|
+
" cmock_call_instance->ReturnThruPtr_tofu_Size = cmock_size;\n" +
|
|
115
|
+
"}\n\n"
|
|
116
|
+
|
|
117
|
+
returned = @cmock_generator_plugin_return_thru_ptr.mock_interfaces(@complex_func).join("")
|
|
118
|
+
assert_equal(expected, returned)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
should "add mock implementations only for non-const pointer arguments" do
|
|
122
|
+
complex_func_expect()
|
|
123
|
+
|
|
124
|
+
expected =
|
|
125
|
+
" if (cmock_call_instance->ReturnThruPtr_tofu_Used)\n" +
|
|
126
|
+
" {\n" +
|
|
127
|
+
" memcpy(tofu, cmock_call_instance->ReturnThruPtr_tofu_Val,\n" +
|
|
128
|
+
" cmock_call_instance->ReturnThruPtr_tofu_Size);\n" +
|
|
129
|
+
" }\n" +
|
|
130
|
+
|
|
131
|
+
returned = @cmock_generator_plugin_return_thru_ptr.mock_implementation(@complex_func).join("")
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
end
|
|
@@ -15,14 +15,18 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
15
15
|
@config.expect.enforce_strict_ordering.returns(false)
|
|
16
16
|
@config.expect.plugins.returns([])
|
|
17
17
|
@config.expect.plugins.returns([])
|
|
18
|
-
@config.expect.
|
|
18
|
+
@config.expect.plugins.returns([])
|
|
19
|
+
@config.expect.plugins.returns([])
|
|
20
|
+
@config.expect.treat_as.returns({'int' => 'INT','short' => 'INT16','long' => 'INT','char' => 'INT8','char*' => 'STRING'})
|
|
19
21
|
@cmock_generator_utils_simple = CMockGeneratorUtils.new(@config, {:unity_helper => @unity_helper})
|
|
20
22
|
|
|
21
23
|
@config.expect.when_ptr.returns(:smart)
|
|
22
24
|
@config.expect.enforce_strict_ordering.returns(true)
|
|
23
|
-
@config.expect.plugins.returns([:array, :cexception])
|
|
24
|
-
@config.expect.plugins.returns([:array, :cexception])
|
|
25
|
-
@config.expect.
|
|
25
|
+
@config.expect.plugins.returns([:array, :cexception, :return_thru_ptr, :ignore_arg])
|
|
26
|
+
@config.expect.plugins.returns([:array, :cexception, :return_thru_ptr, :ignore_arg])
|
|
27
|
+
@config.expect.plugins.returns([:array, :cexception, :return_thru_ptr, :ignore_arg])
|
|
28
|
+
@config.expect.plugins.returns([:array, :cexception, :return_thru_ptr, :ignore_arg])
|
|
29
|
+
@config.expect.treat_as.returns({'int' => 'INT','short' => 'INT16','long' => 'INT','char' => 'INT8','uint32_t' => 'HEX32','char*' => 'STRING'})
|
|
26
30
|
@cmock_generator_utils_complex = CMockGeneratorUtils.new(@config, {:unity_helper => @unity_helper, :A=>1, :B=>2})
|
|
27
31
|
end
|
|
28
32
|
|
|
@@ -42,9 +46,15 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
42
46
|
assert_equal(true, @cmock_generator_utils_complex.arrays)
|
|
43
47
|
assert_equal(true, @cmock_generator_utils_complex.cexception)
|
|
44
48
|
end
|
|
49
|
+
|
|
50
|
+
should "detect pointers and strings" do
|
|
51
|
+
assert_equal(false, @cmock_generator_utils_simple.ptr_or_str?('int'))
|
|
52
|
+
assert_equal(true, @cmock_generator_utils_simple.ptr_or_str?('int*'))
|
|
53
|
+
assert_equal(true, @cmock_generator_utils_simple.ptr_or_str?('char*'))
|
|
54
|
+
end
|
|
45
55
|
|
|
46
56
|
should "add code for a base expectation with no plugins" do
|
|
47
|
-
expected =
|
|
57
|
+
expected =
|
|
48
58
|
" CMOCK_MEM_INDEX_TYPE cmock_guts_index = CMock_Guts_MemNew(sizeof(CMOCK_Apple_CALL_INSTANCE));\n" +
|
|
49
59
|
" CMOCK_Apple_CALL_INSTANCE* cmock_call_instance = (CMOCK_Apple_CALL_INSTANCE*)CMock_Guts_GetAddressFor(cmock_guts_index);\n" +
|
|
50
60
|
" UNITY_TEST_ASSERT_NOT_NULL(cmock_call_instance, cmock_line, \"CMock has run out of memory. Please allocate more.\");\n" +
|
|
@@ -90,7 +100,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
90
100
|
expected3 = " cmock_call_instance->Expected_Kiwi = Kiwi;\n"
|
|
91
101
|
|
|
92
102
|
arg4 = { :name => "Lime", :const? => false, :type => 'LIME_T', :ptr? => false }
|
|
93
|
-
expected4 = " memcpy(&cmock_call_instance->Expected_Lime, &Lime, sizeof(LIME_T));\n"
|
|
103
|
+
expected4 = " memcpy(&cmock_call_instance->Expected_Lime, &Lime, sizeof(LIME_T));\n"
|
|
94
104
|
|
|
95
105
|
assert_equal(expected1, @cmock_generator_utils_simple.code_add_an_arg_expectation(arg1))
|
|
96
106
|
assert_equal(expected2, @cmock_generator_utils_simple.code_add_an_arg_expectation(arg2))
|
|
@@ -100,18 +110,23 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
100
110
|
|
|
101
111
|
should "add argument expectations for values when array plugin enabled" do
|
|
102
112
|
arg1 = { :name => "Orange", :const? => false, :type => 'int', :ptr? => false }
|
|
103
|
-
expected1 = " cmock_call_instance->Expected_Orange = Orange;\n"
|
|
113
|
+
expected1 = " cmock_call_instance->Expected_Orange = Orange;\n" +
|
|
114
|
+
" cmock_call_instance->IgnoreArg_Orange = 0;\n"
|
|
104
115
|
|
|
105
116
|
arg2 = { :name => "Lemon", :const? => true, :type => 'const char*', :ptr? => true }
|
|
106
117
|
expected2 = " cmock_call_instance->Expected_Lemon = (const char*)Lemon;\n" +
|
|
107
|
-
" cmock_call_instance->Expected_Lemon_Depth = Lemon_Depth;\n"
|
|
118
|
+
" cmock_call_instance->Expected_Lemon_Depth = Lemon_Depth;\n" +
|
|
119
|
+
" cmock_call_instance->IgnoreArg_Lemon = 0;\n"
|
|
108
120
|
|
|
109
121
|
arg3 = { :name => "Kiwi", :const? => false, :type => 'KIWI_T*', :ptr? => true }
|
|
110
122
|
expected3 = " cmock_call_instance->Expected_Kiwi = Kiwi;\n" +
|
|
111
|
-
" cmock_call_instance->Expected_Kiwi_Depth = Kiwi_Depth;\n"
|
|
123
|
+
" cmock_call_instance->Expected_Kiwi_Depth = Kiwi_Depth;\n" +
|
|
124
|
+
" cmock_call_instance->IgnoreArg_Kiwi = 0;\n" +
|
|
125
|
+
" cmock_call_instance->ReturnThruPtr_Kiwi_Used = 0;\n"
|
|
112
126
|
|
|
113
127
|
arg4 = { :name => "Lime", :const? => false, :type => 'LIME_T', :ptr? => false }
|
|
114
|
-
expected4 = " memcpy(&cmock_call_instance->Expected_Lime, &Lime, sizeof(LIME_T));\n"
|
|
128
|
+
expected4 = " memcpy(&cmock_call_instance->Expected_Lime, &Lime, sizeof(LIME_T));\n" +
|
|
129
|
+
" cmock_call_instance->IgnoreArg_Lime = 0;\n"
|
|
115
130
|
|
|
116
131
|
assert_equal(expected1, @cmock_generator_utils_complex.code_add_an_arg_expectation(arg1))
|
|
117
132
|
assert_equal(expected2, @cmock_generator_utils_complex.code_add_an_arg_expectation(arg2, 'Lemon_Depth'))
|
|
@@ -146,8 +161,12 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
146
161
|
expected = "void CMockExpectParameters_Melon(CMOCK_Melon_CALL_INSTANCE* cmock_call_instance, int* MyIntPtr, int MyIntPtr_Depth, const MY_TYPE MyMyType, const char* MyStr)\n{\n" +
|
|
147
162
|
" cmock_call_instance->Expected_MyIntPtr = MyIntPtr;\n" +
|
|
148
163
|
" cmock_call_instance->Expected_MyIntPtr_Depth = MyIntPtr_Depth;\n" +
|
|
164
|
+
" cmock_call_instance->IgnoreArg_MyIntPtr = 0;\n" +
|
|
165
|
+
" cmock_call_instance->ReturnThruPtr_MyIntPtr_Used = 0;\n" +
|
|
149
166
|
" memcpy(&cmock_call_instance->Expected_MyMyType, &MyMyType, sizeof(MY_TYPE));\n" +
|
|
167
|
+
" cmock_call_instance->IgnoreArg_MyMyType = 0;\n" +
|
|
150
168
|
" cmock_call_instance->Expected_MyStr = (char*)MyStr;\n" +
|
|
169
|
+
" cmock_call_instance->IgnoreArg_MyStr = 0;\n" +
|
|
151
170
|
"}\n\n"
|
|
152
171
|
assert_equal(expected, @cmock_generator_utils_complex.code_add_argument_loader(function))
|
|
153
172
|
end
|
|
@@ -179,7 +198,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
179
198
|
should 'handle a simple assert when requested' do
|
|
180
199
|
function = { :name => 'Pear' }
|
|
181
200
|
arg = test_arg[:int]
|
|
182
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_INT(cmock_call_instance->Expected_MyInt, MyInt, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyInt'.\");\n"
|
|
201
|
+
expected = " {\n UNITY_TEST_ASSERT_EQUAL_INT(cmock_call_instance->Expected_MyInt, MyInt, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyInt'.\");\n }\n"
|
|
183
202
|
@unity_helper.expect.get_helper('int').returns(['UNITY_TEST_ASSERT_EQUAL_INT',''])
|
|
184
203
|
assert_equal(expected, @cmock_generator_utils_simple.code_verify_an_arg_expectation(function, arg))
|
|
185
204
|
end
|
|
@@ -187,14 +206,14 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
187
206
|
should 'handle a pointer comparison when configured to do so' do
|
|
188
207
|
function = { :name => 'Pear' }
|
|
189
208
|
arg = test_arg[:int_ptr]
|
|
190
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_PTR(cmock_call_instance->Expected_MyIntPtr, MyIntPtr, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyIntPtr'.\");\n"
|
|
209
|
+
expected = " {\n UNITY_TEST_ASSERT_EQUAL_PTR(cmock_call_instance->Expected_MyIntPtr, MyIntPtr, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyIntPtr'.\");\n }\n"
|
|
191
210
|
assert_equal(expected, @cmock_generator_utils_simple.code_verify_an_arg_expectation(function, arg))
|
|
192
211
|
end
|
|
193
212
|
|
|
194
213
|
should 'handle const char as string compares ' do
|
|
195
214
|
function = { :name => 'Pear' }
|
|
196
215
|
arg = test_arg[:string]
|
|
197
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_STRING(cmock_call_instance->Expected_MyStr, MyStr, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyStr'.\");\n"
|
|
216
|
+
expected = " {\n UNITY_TEST_ASSERT_EQUAL_STRING(cmock_call_instance->Expected_MyStr, MyStr, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyStr'.\");\n }\n"
|
|
198
217
|
@unity_helper.expect.get_helper('char*').returns(['UNITY_TEST_ASSERT_EQUAL_STRING',''])
|
|
199
218
|
assert_equal(expected, @cmock_generator_utils_simple.code_verify_an_arg_expectation(function, arg))
|
|
200
219
|
end
|
|
@@ -202,7 +221,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
202
221
|
should 'handle custom types as memory compares when we have no better way to do it' do
|
|
203
222
|
function = { :name => 'Pear' }
|
|
204
223
|
arg = test_arg[:mytype]
|
|
205
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_MEMORY((void*)(&cmock_call_instance->Expected_MyMyType), (void*)(&MyMyType), sizeof(MY_TYPE), cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n"
|
|
224
|
+
expected = " {\n UNITY_TEST_ASSERT_EQUAL_MEMORY((void*)(&cmock_call_instance->Expected_MyMyType), (void*)(&MyMyType), sizeof(MY_TYPE), cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n }\n"
|
|
206
225
|
@unity_helper.expect.get_helper('MY_TYPE').returns(['UNITY_TEST_ASSERT_EQUAL_MEMORY','&'])
|
|
207
226
|
assert_equal(expected, @cmock_generator_utils_simple.code_verify_an_arg_expectation(function, arg))
|
|
208
227
|
end
|
|
@@ -210,7 +229,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
210
229
|
should 'handle custom types with custom handlers when available, even if they do not support the extra message' do
|
|
211
230
|
function = { :name => 'Pear' }
|
|
212
231
|
arg = test_arg[:mytype]
|
|
213
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_MY_TYPE(cmock_call_instance->Expected_MyMyType, MyMyType, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n"
|
|
232
|
+
expected = " {\n UNITY_TEST_ASSERT_EQUAL_MY_TYPE(cmock_call_instance->Expected_MyMyType, MyMyType, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n }\n"
|
|
214
233
|
@unity_helper.expect.get_helper('MY_TYPE').returns(['UNITY_TEST_ASSERT_EQUAL_MY_TYPE',''])
|
|
215
234
|
assert_equal(expected, @cmock_generator_utils_simple.code_verify_an_arg_expectation(function, arg))
|
|
216
235
|
end
|
|
@@ -218,7 +237,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
218
237
|
should 'handle pointers to custom types with array handlers, even if the array extension is turned off' do
|
|
219
238
|
function = { :name => 'Pear' }
|
|
220
239
|
arg = test_arg[:mytype]
|
|
221
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_MY_TYPE_ARRAY(&cmock_call_instance->Expected_MyMyType, &MyMyType, 1, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n"
|
|
240
|
+
expected = " {\n UNITY_TEST_ASSERT_EQUAL_MY_TYPE_ARRAY(&cmock_call_instance->Expected_MyMyType, &MyMyType, 1, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n }\n"
|
|
222
241
|
@unity_helper.expect.get_helper('MY_TYPE').returns(['UNITY_TEST_ASSERT_EQUAL_MY_TYPE_ARRAY','&'])
|
|
223
242
|
assert_equal(expected, @cmock_generator_utils_simple.code_verify_an_arg_expectation(function, arg))
|
|
224
243
|
end
|
|
@@ -226,7 +245,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
226
245
|
should 'handle a simple assert when requested with array plugin enabled' do
|
|
227
246
|
function = { :name => 'Pear' }
|
|
228
247
|
arg = test_arg[:int]
|
|
229
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_INT(cmock_call_instance->Expected_MyInt, MyInt, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyInt'.\");\n"
|
|
248
|
+
expected = " if (!cmock_call_instance->IgnoreArg_MyInt)\n {\n UNITY_TEST_ASSERT_EQUAL_INT(cmock_call_instance->Expected_MyInt, MyInt, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyInt'.\");\n }\n"
|
|
230
249
|
@unity_helper.expect.get_helper('int').returns(['UNITY_TEST_ASSERT_EQUAL_INT',''])
|
|
231
250
|
assert_equal(expected, @cmock_generator_utils_complex.code_verify_an_arg_expectation(function, arg))
|
|
232
251
|
end
|
|
@@ -234,12 +253,15 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
234
253
|
should 'handle an array comparison with array plugin enabled' do
|
|
235
254
|
function = { :name => 'Pear' }
|
|
236
255
|
arg = test_arg[:int_ptr]
|
|
237
|
-
expected = " if (cmock_call_instance->
|
|
238
|
-
"
|
|
239
|
-
"
|
|
240
|
-
"
|
|
241
|
-
"
|
|
242
|
-
"
|
|
256
|
+
expected = " if (!cmock_call_instance->IgnoreArg_MyIntPtr)\n" +
|
|
257
|
+
" {\n" +
|
|
258
|
+
" if (cmock_call_instance->Expected_MyIntPtr == NULL)\n" +
|
|
259
|
+
" { UNITY_TEST_ASSERT_NULL(MyIntPtr, cmock_line, \"Expected NULL. Function 'Pear' called with unexpected value for argument 'MyIntPtr'.\"); }\n" +
|
|
260
|
+
" else if (cmock_call_instance->Expected_MyIntPtr_Depth == 0)\n" +
|
|
261
|
+
" { UNITY_TEST_ASSERT_EQUAL_PTR(cmock_call_instance->Expected_MyIntPtr, MyIntPtr, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyIntPtr'.\"); }\n" +
|
|
262
|
+
" else\n" +
|
|
263
|
+
" { UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(cmock_call_instance->Expected_MyIntPtr, MyIntPtr, cmock_call_instance->Expected_MyIntPtr_Depth, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyIntPtr'.\"); }\n" +
|
|
264
|
+
" }\n"
|
|
243
265
|
@unity_helper.expect.get_helper('int*').returns(['UNITY_TEST_ASSERT_EQUAL_INT_ARRAY',''])
|
|
244
266
|
assert_equal(expected, @cmock_generator_utils_complex.code_verify_an_arg_expectation(function, arg))
|
|
245
267
|
end
|
|
@@ -247,7 +269,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
247
269
|
should 'handle const char as string compares with array plugin enabled' do
|
|
248
270
|
function = { :name => 'Pear' }
|
|
249
271
|
arg = test_arg[:string]
|
|
250
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_STRING(cmock_call_instance->Expected_MyStr, MyStr, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyStr'.\");\n"
|
|
272
|
+
expected = " if (!cmock_call_instance->IgnoreArg_MyStr)\n {\n UNITY_TEST_ASSERT_EQUAL_STRING(cmock_call_instance->Expected_MyStr, MyStr, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyStr'.\");\n }\n"
|
|
251
273
|
@unity_helper.expect.get_helper('char*').returns(['UNITY_TEST_ASSERT_EQUAL_STRING',''])
|
|
252
274
|
assert_equal(expected, @cmock_generator_utils_complex.code_verify_an_arg_expectation(function, arg))
|
|
253
275
|
end
|
|
@@ -255,7 +277,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
255
277
|
should 'handle custom types as memory compares when we have no better way to do it with array plugin enabled' do
|
|
256
278
|
function = { :name => 'Pear' }
|
|
257
279
|
arg = test_arg[:mytype]
|
|
258
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_MEMORY((void*)(&cmock_call_instance->Expected_MyMyType), (void*)(&MyMyType), sizeof(MY_TYPE), cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n"
|
|
280
|
+
expected = " if (!cmock_call_instance->IgnoreArg_MyMyType)\n {\n UNITY_TEST_ASSERT_EQUAL_MEMORY((void*)(&cmock_call_instance->Expected_MyMyType), (void*)(&MyMyType), sizeof(MY_TYPE), cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n }\n"
|
|
259
281
|
@unity_helper.expect.get_helper('MY_TYPE').returns(['UNITY_TEST_ASSERT_EQUAL_MEMORY','&'])
|
|
260
282
|
assert_equal(expected, @cmock_generator_utils_complex.code_verify_an_arg_expectation(function, arg))
|
|
261
283
|
end
|
|
@@ -263,7 +285,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
263
285
|
should 'handle custom types with custom handlers when available, even if they do not support the extra message with array plugin enabled' do
|
|
264
286
|
function = { :name => 'Pear' }
|
|
265
287
|
arg = test_arg[:mytype]
|
|
266
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_MY_TYPE(cmock_call_instance->Expected_MyMyType, MyMyType, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n"
|
|
288
|
+
expected = " if (!cmock_call_instance->IgnoreArg_MyMyType)\n {\n UNITY_TEST_ASSERT_EQUAL_MY_TYPE(cmock_call_instance->Expected_MyMyType, MyMyType, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n }\n"
|
|
267
289
|
@unity_helper.expect.get_helper('MY_TYPE').returns(['UNITY_TEST_ASSERT_EQUAL_MY_TYPE',''])
|
|
268
290
|
assert_equal(expected, @cmock_generator_utils_complex.code_verify_an_arg_expectation(function, arg))
|
|
269
291
|
end
|
|
@@ -271,12 +293,15 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
271
293
|
should 'handle custom types with array handlers when array plugin is enabled' do
|
|
272
294
|
function = { :name => 'Pear' }
|
|
273
295
|
arg = test_arg[:mytype_ptr]
|
|
274
|
-
expected = " if (cmock_call_instance->
|
|
275
|
-
"
|
|
276
|
-
"
|
|
277
|
-
"
|
|
278
|
-
"
|
|
279
|
-
"
|
|
296
|
+
expected = " if (!cmock_call_instance->IgnoreArg_MyMyTypePtr)\n" +
|
|
297
|
+
" {\n" +
|
|
298
|
+
" if (cmock_call_instance->Expected_MyMyTypePtr == NULL)\n" +
|
|
299
|
+
" { UNITY_TEST_ASSERT_NULL(MyMyTypePtr, cmock_line, \"Expected NULL. Function 'Pear' called with unexpected value for argument 'MyMyTypePtr'.\"); }\n" +
|
|
300
|
+
" else if (cmock_call_instance->Expected_MyMyTypePtr_Depth == 0)\n" +
|
|
301
|
+
" { UNITY_TEST_ASSERT_EQUAL_PTR(cmock_call_instance->Expected_MyMyTypePtr, MyMyTypePtr, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyTypePtr'.\"); }\n" +
|
|
302
|
+
" else\n" +
|
|
303
|
+
" { UNITY_TEST_ASSERT_EQUAL_MY_TYPE_ARRAY(cmock_call_instance->Expected_MyMyTypePtr, MyMyTypePtr, cmock_call_instance->Expected_MyMyTypePtr_Depth, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyTypePtr'.\"); }\n" +
|
|
304
|
+
" }\n"
|
|
280
305
|
@unity_helper.expect.get_helper('MY_TYPE*').returns(['UNITY_TEST_ASSERT_EQUAL_MY_TYPE_ARRAY',''])
|
|
281
306
|
assert_equal(expected, @cmock_generator_utils_complex.code_verify_an_arg_expectation(function, arg))
|
|
282
307
|
end
|
|
@@ -284,7 +309,7 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase
|
|
|
284
309
|
should 'handle custom types with array handlers when array plugin is enabled for non-array types' do
|
|
285
310
|
function = { :name => 'Pear' }
|
|
286
311
|
arg = test_arg[:mytype]
|
|
287
|
-
expected = " UNITY_TEST_ASSERT_EQUAL_MY_TYPE_ARRAY(&cmock_call_instance->Expected_MyMyType, &MyMyType, 1, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n"
|
|
312
|
+
expected = " if (!cmock_call_instance->IgnoreArg_MyMyType)\n {\n UNITY_TEST_ASSERT_EQUAL_MY_TYPE_ARRAY(&cmock_call_instance->Expected_MyMyType, &MyMyType, 1, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n }\n"
|
|
288
313
|
@unity_helper.expect.get_helper('MY_TYPE').returns(['UNITY_TEST_ASSERT_EQUAL_MY_TYPE_ARRAY','&'])
|
|
289
314
|
assert_equal(expected, @cmock_generator_utils_complex.code_verify_an_arg_expectation(function, arg))
|
|
290
315
|
end
|