ceedling 0.18.0 → 0.19.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 +4 -4
- data/Gemfile.lock +17 -13
- data/ceedling-0.18.0.gem +0 -0
- data/docs/CeedlingPacket.md +7 -5
- data/lib/ceedling/configurator_builder.rb +10 -21
- data/lib/ceedling/configurator_setup.rb +16 -17
- data/lib/ceedling/constants.rb +4 -3
- data/lib/ceedling/defaults.rb +9 -4
- data/lib/ceedling/dependinator.rb +0 -1
- data/lib/ceedling/file_path_utils.rb +22 -26
- data/lib/ceedling/flaginator.rb +5 -5
- data/lib/ceedling/generator.rb +8 -7
- data/lib/ceedling/preprocessinator_file_handler.rb +6 -6
- data/lib/ceedling/preprocessinator_includes_handler.rb +1 -1
- data/lib/ceedling/rules_release.rake +5 -3
- data/lib/ceedling/rules_tests.rake +2 -1
- data/lib/ceedling/tasks_base.rake +1 -1
- data/lib/ceedling/tasks_vendor.rake +9 -10
- data/lib/ceedling/tool_executor.rb +23 -22
- data/lib/ceedling/version.rb +3 -3
- data/plugins/module_generator/lib/module_generator.rb +3 -3
- data/plugins/xml_tests_report/xml_tests_report.rb +1 -1
- data/spec/preprocessinator_includes_handler_spec.rb +1 -1
- data/spec/spec_system_helper.rb +192 -192
- data/vendor/c_exception/vendor/unity/Gemfile +4 -0
- data/vendor/c_exception/vendor/unity/Gemfile.lock +12 -0
- data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +115 -0
- data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +39 -0
- data/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -0
- data/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -0
- data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +320 -0
- data/vendor/c_exception/vendor/unity/auto/parseOutput.rb +189 -0
- data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +23 -0
- data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +139 -0
- data/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +216 -0
- data/vendor/c_exception/vendor/unity/docs/license.txt +31 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/makefile +41 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +5 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +9 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
- data/vendor/{unity/examples/example_3/test/no_ruby → c_exception/vendor/unity/examples/example_1/test/test_runners}/TestProductionCode2_Runner.c +16 -3
- data/vendor/{unity/examples/example_3/test/no_ruby → c_exception/vendor/unity/examples/example_1/test/test_runners}/TestProductionCode_Runner.c +16 -3
- data/vendor/c_exception/vendor/unity/examples/example_2/makefile +45 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +5 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +9 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/makefile +41 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +44 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +19 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +9 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +46 -0
- data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +50 -0
- data/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +37 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +9 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +387 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +82 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +341 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +41 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
- data/vendor/c_exception/vendor/unity/makefile +37 -0
- data/vendor/c_exception/vendor/unity/rakefile.rb +61 -0
- data/vendor/c_exception/vendor/unity/rakefile_helper.rb +249 -0
- data/vendor/c_exception/vendor/unity/release/build.info +2 -0
- data/vendor/c_exception/vendor/unity/release/version.info +2 -0
- data/vendor/c_exception/vendor/unity/src/unity.c +1145 -0
- data/vendor/c_exception/vendor/unity/src/unity.h +307 -0
- data/vendor/c_exception/vendor/unity/src/unity_internals.h +620 -0
- data/vendor/c_exception/vendor/unity/targets/clang_strict.yml +83 -0
- data/vendor/c_exception/vendor/unity/targets/gcc_32.yml +44 -0
- data/vendor/c_exception/vendor/unity/targets/gcc_64.yml +45 -0
- data/vendor/c_exception/vendor/unity/targets/hitech_picc18.yml +101 -0
- data/vendor/c_exception/vendor/unity/targets/iar_arm_v4.yml +89 -0
- data/vendor/c_exception/vendor/unity/targets/iar_arm_v5.yml +79 -0
- data/vendor/c_exception/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
- data/vendor/c_exception/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
- data/vendor/c_exception/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
- data/vendor/c_exception/vendor/unity/targets/iar_msp430.yml +94 -0
- data/vendor/c_exception/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +53 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +79 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +75 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +88 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +88 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +76 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +88 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +88 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +89 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +63 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +66 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +54 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +63 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +66 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
- data/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +88 -0
- data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -0
- data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +9 -0
- data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +51 -0
- data/vendor/c_exception/vendor/unity/test/testparameterized.c +101 -0
- data/vendor/c_exception/vendor/unity/test/testunity.c +3447 -0
- data/vendor/cmock/README.md +1 -1
- data/vendor/cmock/Rakefile +106 -104
- data/vendor/cmock/config/production_environment.rb +14 -14
- data/vendor/cmock/config/test_environment.rb +16 -16
- data/vendor/cmock/docs/CMock_Summary.md +9 -0
- data/vendor/cmock/docs/license.txt +2 -2
- data/vendor/cmock/examples/make_example/Makefile +30 -0
- data/vendor/cmock/examples/make_example/src/foo.c +5 -0
- data/vendor/cmock/examples/make_example/src/foo.h +5 -0
- data/vendor/cmock/examples/make_example/src/main.c +15 -0
- data/vendor/cmock/examples/make_example/test/test_foo.c +17 -0
- data/vendor/cmock/examples/make_example/test/test_main.c +15 -0
- data/vendor/cmock/examples/{gcc.yml → temp_sensor/gcc.yml} +43 -43
- data/vendor/cmock/examples/{iar_v4.yml → temp_sensor/iar_v4.yml} +91 -91
- data/vendor/cmock/examples/{iar_v5.yml → temp_sensor/iar_v5.yml} +80 -80
- data/vendor/cmock/examples/{rakefile.rb → temp_sensor/rakefile.rb} +32 -32
- data/vendor/cmock/examples/{rakefile_helper.rb → temp_sensor/rakefile_helper.rb} +270 -270
- data/vendor/cmock/examples/{src → temp_sensor/src}/AT91SAM7X256.h +2556 -2556
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcConductor.c +42 -42
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcConductor.h +11 -11
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardware.c +27 -27
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardware.h +9 -9
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardwareConfigurator.c +18 -18
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardwareConfigurator.h +10 -10
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcModel.c +33 -33
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcModel.h +13 -13
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcTemperatureSensor.c +51 -51
- data/vendor/cmock/examples/{src → temp_sensor/src}/AdcTemperatureSensor.h +10 -10
- data/vendor/cmock/examples/{src → temp_sensor/src}/Executor.c +25 -25
- data/vendor/cmock/examples/{src → temp_sensor/src}/Executor.h +9 -9
- data/vendor/cmock/examples/{src → temp_sensor/src}/IntrinsicsWrapper.c +18 -18
- data/vendor/cmock/examples/{src → temp_sensor/src}/IntrinsicsWrapper.h +7 -7
- data/vendor/cmock/examples/{src → temp_sensor/src}/Main.c +46 -46
- data/vendor/cmock/examples/{src → temp_sensor/src}/Main.h +7 -7
- data/vendor/cmock/examples/{src → temp_sensor/src}/Model.c +10 -10
- data/vendor/cmock/examples/{src → temp_sensor/src}/Model.h +8 -8
- data/vendor/cmock/examples/{src → temp_sensor/src}/ModelConfig.h +7 -7
- data/vendor/cmock/examples/{src → temp_sensor/src}/TaskScheduler.c +72 -72
- data/vendor/cmock/examples/{src → temp_sensor/src}/TaskScheduler.h +11 -11
- data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureCalculator.c +27 -27
- data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureCalculator.h +6 -6
- data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureFilter.c +39 -39
- data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureFilter.h +10 -10
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConductor.c +15 -15
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConductor.h +9 -9
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConfigurator.c +51 -51
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConfigurator.h +15 -15
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerHardware.c +15 -15
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerHardware.h +8 -8
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptConfigurator.c +55 -55
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptConfigurator.h +13 -13
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptHandler.c +25 -25
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptHandler.h +10 -10
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerModel.c +9 -9
- data/vendor/cmock/examples/{src → temp_sensor/src}/TimerModel.h +8 -8
- data/vendor/cmock/examples/{src → temp_sensor/src}/Types.h +103 -103
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartBaudRateRegisterCalculator.c +18 -18
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartBaudRateRegisterCalculator.h +6 -6
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConductor.c +21 -21
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConductor.h +7 -7
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConfigurator.c +39 -39
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConfigurator.h +13 -13
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartHardware.c +22 -22
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartHardware.h +9 -9
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartModel.c +34 -34
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartModel.h +10 -10
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartPutChar.c +16 -16
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartPutChar.h +8 -8
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartTransmitBufferStatus.c +7 -7
- data/vendor/cmock/examples/{src → temp_sensor/src}/UsartTransmitBufferStatus.h +8 -8
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcConductor.c +121 -121
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcHardware.c +44 -44
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcHardwareConfigurator.c +43 -43
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcModel.c +33 -33
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcTemperatureSensor.c +47 -47
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestExecutor.c +36 -36
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestMain.c +24 -24
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestModel.c +20 -20
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTaskScheduler.c +104 -104
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTemperatureCalculator.c +33 -33
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTemperatureFilter.c +69 -69
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerConductor.c +32 -32
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerConfigurator.c +112 -112
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerHardware.c +26 -26
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerInterruptConfigurator.c +78 -78
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerInterruptHandler.c +66 -66
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerModel.c +18 -18
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartBaudRateRegisterCalculator.c +21 -21
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartConductor.c +40 -40
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartConfigurator.c +77 -77
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartHardware.c +37 -37
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartModel.c +36 -36
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartPutChar.c +43 -43
- data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartTransmitBufferStatus.c +22 -22
- data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_FLASH.xcl +185 -185
- data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_RAM.xcl +185 -185
- data/vendor/cmock/iar/iar_v4/Resource/ioat91sam7x256.ddf +2259 -2259
- data/vendor/cmock/iar/iar_v4/cmock_demo.dep +3691 -3691
- data/vendor/cmock/iar/iar_v4/cmock_demo.ewp +2581 -2581
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X-EK.h +61 -61
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.inc +2314 -2314
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.rdf +4704 -4704
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.tcl +3407 -3407
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +2268 -2268
- data/vendor/cmock/iar/iar_v4/incIAR/ioat91sam7x256.h +4380 -4380
- data/vendor/cmock/iar/iar_v4/incIAR/lib_AT91SAM7X256.h +4211 -4211
- data/vendor/cmock/iar/iar_v4/settings/cmock_demo.cspy.bat +32 -32
- data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup.s79 +265 -265
- data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup_SAM7.c +98 -98
- data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_FLASH.icf +43 -43
- data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_RAM.icf +42 -42
- data/vendor/cmock/iar/iar_v5/cmock_demo.dep +4204 -4204
- data/vendor/cmock/iar/iar_v5/cmock_demo.ewp +2426 -2426
- data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X-EK.h +61 -61
- data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +2268 -2268
- data/vendor/cmock/iar/iar_v5/incIAR/lib_AT91SAM7X256.h +4211 -4211
- data/vendor/cmock/iar/iar_v5/incIAR/project.h +30 -30
- data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +33 -33
- data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +12 -12
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo.cspy.bat +33 -33
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo_Binary.jlink +12 -12
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +12 -12
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo_RAM_Debug.jlink +12 -12
- data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup.s +299 -299
- data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup_SAM7.c +98 -98
- data/vendor/cmock/lib/cmock.rb +89 -89
- data/vendor/cmock/lib/cmock_config.rb +134 -133
- data/vendor/cmock/lib/cmock_file_writer.rb +40 -33
- data/vendor/cmock/lib/cmock_generator.rb +234 -215
- data/vendor/cmock/lib/cmock_generator_plugin_array.rb +63 -63
- data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +96 -78
- data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +52 -51
- data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +104 -86
- data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +68 -68
- data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +72 -71
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +1 -1
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +2 -2
- data/vendor/cmock/lib/cmock_generator_utils.rb +228 -213
- data/vendor/cmock/lib/cmock_header_parser.rb +1 -1
- data/vendor/cmock/lib/cmock_plugin_manager.rb +40 -40
- data/vendor/cmock/lib/cmock_unityhelper_parser.rb +75 -75
- data/vendor/cmock/rakefile_helper.rb +381 -381
- data/vendor/cmock/release/build.info +1 -1
- data/vendor/cmock/release/version.info +1 -1
- data/vendor/cmock/scripts/create_makefile.rb +161 -0
- data/vendor/cmock/scripts/create_mock.rb +8 -0
- data/vendor/cmock/scripts/create_runner.rb +20 -0
- data/vendor/cmock/scripts/test_summary.rb +11 -0
- data/vendor/cmock/src/cmock.c +203 -192
- data/vendor/cmock/src/cmock.h +38 -36
- data/vendor/cmock/src/cmock_internals.h +11 -1
- data/vendor/cmock/targets/clang_strict.yml +90 -85
- data/vendor/cmock/targets/gcc.yml +58 -55
- data/vendor/cmock/targets/gcc_64.yml +58 -55
- data/vendor/cmock/targets/gcc_tiny.yml +80 -0
- data/vendor/cmock/targets/iar_arm_v4.yml +110 -108
- data/vendor/cmock/targets/iar_arm_v5.yml +95 -93
- data/vendor/cmock/test/c/TestCMockC.c +323 -323
- data/vendor/cmock/test/c/TestCMockC.yml +1 -0
- data/vendor/cmock/test/c/TestCMockCDynamic.c +186 -186
- data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +36 -36
- data/vendor/cmock/test/c/TestCMockC_Runner.c +39 -39
- data/vendor/cmock/test/system/systest_generator.rb +194 -194
- data/vendor/cmock/test/system/test_compilation/callingconv.h +11 -11
- data/vendor/cmock/test/system/test_compilation/osek.h +275 -275
- data/vendor/cmock/test/system/test_compilation/parsing.h +2 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +375 -375
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +459 -389
- data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +62 -0
- data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +308 -0
- data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +23 -23
- data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +65 -0
- data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +38 -20
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +280 -0
- data/vendor/cmock/test/test_helper.rb +47 -47
- data/vendor/cmock/test/unit/cmock_config_test.rb +118 -118
- data/vendor/cmock/test/unit/cmock_config_test.yml +5 -5
- data/vendor/cmock/test/unit/cmock_file_writer_test.rb +27 -27
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +507 -489
- data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +133 -133
- data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +257 -189
- data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +96 -93
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +186 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +60 -81
- data/vendor/cmock/test/unit/{cmock_generator_plugin_expect_test.rb → cmock_generator_plugin_expect_b_test.rb} +202 -205
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -116
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +105 -103
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -134
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +377 -334
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +1381 -1337
- data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +95 -95
- data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +223 -223
- data/vendor/cmock/vendor/c_exception/Gemfile +4 -0
- data/vendor/cmock/vendor/c_exception/Gemfile.lock +12 -0
- data/vendor/cmock/vendor/c_exception/LICENSE.txt +30 -0
- data/vendor/cmock/vendor/c_exception/README.md +146 -0
- data/vendor/cmock/vendor/c_exception/Rakefile +42 -0
- 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/readme.txt +242 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.c +46 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.h +86 -0
- data/vendor/cmock/vendor/c_exception/makefile +24 -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 +46 -0
- data/vendor/cmock/vendor/c_exception/test/TestException.c +342 -0
- data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +74 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile +4 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile.lock +12 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +115 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +39 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +320 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parseOutput.rb +189 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +23 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +139 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +216 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/license.txt +31 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +41 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +5 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +9 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +46 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +50 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +45 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +5 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +9 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/makefile +41 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +44 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +19 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +9 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +46 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +50 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +37 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +9 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +387 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +82 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +341 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +41 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/makefile +37 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/rakefile.rb +61 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/rakefile_helper.rb +249 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +1145 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +307 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +620 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/clang_strict.yml +83 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/gcc_32.yml +44 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/gcc_64.yml +45 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/hitech_picc18.yml +101 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v4.yml +89 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v5.yml +79 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_msp430.yml +94 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +53 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +79 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +75 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +88 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +88 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +76 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +88 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +88 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +89 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +63 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +66 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +54 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +63 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +66 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +88 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/sample.yml +9 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testsample.c +51 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testparameterized.c +101 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testunity.c +3447 -0
- data/vendor/cmock/vendor/unity/README.md +211 -0
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +115 -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 +374 -0
- data/vendor/cmock/vendor/unity/auto/parseOutput.rb +191 -0
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
- data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +8 -0
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +135 -0
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +148 -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 +224 -0
- data/vendor/cmock/vendor/unity/docs/license.txt +21 -0
- data/vendor/{unity/examples/example_3 → cmock/vendor/unity/examples/example_1}/makefile +9 -5
- data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +5 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +11 -0
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
- data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
- data/vendor/cmock/vendor/unity/examples/example_2/makefile +71 -0
- data/vendor/cmock/vendor/unity/examples/example_2/readme.txt +5 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +11 -0
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +43 -0
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
- data/vendor/cmock/vendor/unity/examples/example_3/readme.txt +19 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +11 -0
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
- data/vendor/cmock/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +48 -0
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
- data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +423 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +78 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +46 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +45 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +19 -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 +373 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +43 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +57 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -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 +1324 -0
- data/vendor/cmock/vendor/unity/src/unity.h +285 -0
- data/vendor/cmock/vendor/unity/src/unity_internals.h +758 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +53 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +51 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.h +12 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +80 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +76 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.h +11 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +89 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +89 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +77 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +89 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +89 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +90 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +63 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +66 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +54 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +63 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +66 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
- data/vendor/cmock/vendor/unity/test/rakefile +60 -0
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +255 -0
- data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +84 -0
- data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +84 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +50 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +51 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +47 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_sizeof.yml +48 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +59 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +47 -0
- data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +101 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +89 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +79 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +79 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +83 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +94 -0
- data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +85 -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/tests/test_generate_test_runner.rb +102 -0
- data/vendor/cmock/vendor/unity/test/tests/testparameterized.c +104 -0
- data/vendor/cmock/vendor/unity/test/tests/testunity.c +3656 -0
- data/vendor/unity/README.md +211 -203
- data/vendor/unity/auto/colour_reporter.rb +38 -38
- data/vendor/unity/auto/generate_config.yml +36 -36
- data/vendor/unity/auto/generate_module.rb +202 -202
- data/vendor/unity/auto/generate_test_runner.rb +389 -347
- data/vendor/unity/auto/parseOutput.rb +2 -0
- data/vendor/unity/auto/unity_test_summary.py +135 -135
- data/vendor/unity/auto/unity_test_summary.rb +148 -139
- data/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/unity/docs/Unity Summary.txt +224 -216
- data/vendor/unity/docs/license.txt +21 -21
- data/vendor/unity/examples/example_1/makefile +7 -3
- data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +29 -9
- data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +26 -6
- data/vendor/unity/examples/example_2/makefile +7 -4
- data/vendor/unity/extras/fixture/rakefile.rb +48 -48
- data/vendor/unity/extras/fixture/rakefile_helper.rb +179 -179
- data/vendor/unity/extras/fixture/src/unity_fixture.c +123 -78
- data/vendor/unity/extras/fixture/src/unity_fixture.h +6 -14
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -15
- data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +25 -0
- data/vendor/unity/extras/fixture/test/Makefile +35 -0
- data/vendor/unity/extras/fixture/test/main/AllTests.c +2 -1
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +99 -4
- data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +10 -0
- data/vendor/unity/extras/fixture/test/unity_output_Spy.c +3 -1
- data/vendor/unity/release/build.info +1 -1
- data/vendor/unity/release/version.info +1 -1
- data/vendor/unity/src/unity.c +1324 -1177
- data/vendor/unity/src/unity.h +285 -272
- data/vendor/unity/src/unity_internals.h +758 -692
- data/vendor/unity/test/expectdata/testsample_head1.c +51 -0
- data/vendor/unity/test/expectdata/testsample_head1.h +12 -0
- data/vendor/unity/test/expectdata/testsample_mock_cmd.c +1 -0
- data/vendor/unity/test/expectdata/testsample_mock_def.c +1 -0
- data/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
- data/vendor/unity/test/expectdata/testsample_mock_head1.h +11 -0
- data/vendor/unity/test/expectdata/testsample_mock_new1.c +3 -2
- data/vendor/unity/test/expectdata/testsample_mock_new2.c +1 -0
- data/vendor/unity/test/expectdata/testsample_mock_param.c +1 -0
- data/vendor/unity/test/expectdata/testsample_mock_run1.c +3 -2
- data/vendor/unity/test/expectdata/testsample_mock_run2.c +1 -0
- data/vendor/unity/test/expectdata/testsample_mock_yaml.c +4 -3
- data/vendor/unity/test/expectdata/testsample_new1.c +2 -2
- data/vendor/unity/test/expectdata/testsample_run1.c +2 -2
- data/vendor/unity/test/expectdata/testsample_yaml.c +3 -3
- data/vendor/unity/test/rakefile +60 -60
- data/vendor/unity/test/rakefile_helper.rb +255 -249
- data/vendor/unity/test/targets/clang_file.yml +83 -0
- data/vendor/unity/test/targets/clang_strict.yml +83 -83
- data/vendor/unity/test/targets/gcc_32.yml +49 -49
- data/vendor/unity/test/targets/gcc_64.yml +50 -50
- data/vendor/unity/test/targets/gcc_auto_limits.yml +46 -46
- data/vendor/unity/test/targets/gcc_auto_sizeof.yml +47 -47
- data/vendor/unity/test/targets/gcc_auto_stdint.yml +58 -58
- data/vendor/unity/test/targets/gcc_manual_math.yml +46 -0
- data/vendor/unity/test/targets/hitech_picc18.yml +101 -101
- data/vendor/unity/test/targets/iar_arm_v4.yml +89 -89
- data/vendor/unity/test/targets/iar_arm_v5.yml +79 -79
- data/vendor/unity/test/targets/iar_arm_v5_3.yml +79 -79
- data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -93
- data/vendor/unity/test/targets/iar_cortexm3_v5.yml +83 -83
- data/vendor/unity/test/targets/iar_msp430.yml +94 -94
- data/vendor/unity/test/targets/iar_sh2a_v6.yml +85 -85
- data/vendor/unity/test/testdata/mocksample.c +51 -51
- data/vendor/unity/test/testdata/sample.yml +8 -8
- data/vendor/unity/test/testdata/testsample.c +51 -51
- data/vendor/unity/test/tests/test_generate_test_runner.rb +102 -88
- data/vendor/unity/test/tests/testparameterized.c +104 -101
- data/vendor/unity/test/tests/testunity.c +3676 -3447
- metadata +549 -191
|
@@ -1,323 +1,323 @@
|
|
|
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
|
-
#include "unity.h"
|
|
8
|
-
#include "
|
|
9
|
-
|
|
10
|
-
#define TEST_MEM_INDEX_SIZE (sizeof(CMOCK_MEM_INDEX_TYPE))
|
|
11
|
-
|
|
12
|
-
void setUp(void)
|
|
13
|
-
{
|
|
14
|
-
CMock_Guts_MemFreeAll();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
void tearDown(void)
|
|
18
|
-
{
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
void test_MemNewWillReturnNullIfGivenIllegalSizes(void)
|
|
22
|
-
{
|
|
23
|
-
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNew(0) );
|
|
24
|
-
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNew(CMOCK_MEM_SIZE - TEST_MEM_INDEX_SIZE + 1) );
|
|
25
|
-
TEST_ASSERT_NULL( CMock_Guts_GetAddressFor(CMOCK_GUTS_NONE) );
|
|
26
|
-
|
|
27
|
-
//verify we're cleared still
|
|
28
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
29
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
void test_MemChainWillReturnNullAndDoNothingIfGivenIllegalInformation(void)
|
|
33
|
-
{
|
|
34
|
-
CMOCK_MEM_INDEX_TYPE next = CMock_Guts_MemNew(4);
|
|
35
|
-
TEST_ASSERT_EQUAL(4 + TEST_MEM_INDEX_SIZE, CMock_Guts_MemBytesUsed());
|
|
36
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 4 - TEST_MEM_INDEX_SIZE, CMock_Guts_MemBytesFree());
|
|
37
|
-
|
|
38
|
-
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemChain(next + CMOCK_MEM_SIZE, next) );
|
|
39
|
-
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemChain(next, next + CMOCK_MEM_SIZE) );
|
|
40
|
-
|
|
41
|
-
//verify we're still the same
|
|
42
|
-
TEST_ASSERT_EQUAL(4 + TEST_MEM_INDEX_SIZE, CMock_Guts_MemBytesUsed());
|
|
43
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 4 - TEST_MEM_INDEX_SIZE, CMock_Guts_MemBytesFree());
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
void test_MemNextWillReturnNullIfGivenABadRoot(void)
|
|
47
|
-
{
|
|
48
|
-
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNext(0) );
|
|
49
|
-
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNext(2) );
|
|
50
|
-
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNext(CMOCK_MEM_SIZE - 4) );
|
|
51
|
-
|
|
52
|
-
//verify we're cleared still
|
|
53
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
54
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
void test_ThatWeCanClaimAndChainAFewElementsTogether(void)
|
|
58
|
-
{
|
|
59
|
-
unsigned int i;
|
|
60
|
-
CMOCK_MEM_INDEX_TYPE next;
|
|
61
|
-
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
62
|
-
CMOCK_MEM_INDEX_TYPE element[4];
|
|
63
|
-
|
|
64
|
-
//verify we're cleared first
|
|
65
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
66
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
67
|
-
|
|
68
|
-
//first element
|
|
69
|
-
element[0] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
70
|
-
TEST_ASSERT_MESSAGE(element[0] != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
71
|
-
first = CMock_Guts_MemChain(first, element[0]);
|
|
72
|
-
TEST_ASSERT_EQUAL(element[0], first);
|
|
73
|
-
*((unsigned int*)CMock_Guts_GetAddressFor(element[0])) = 0;
|
|
74
|
-
|
|
75
|
-
//verify we're using the right amount of memory
|
|
76
|
-
TEST_ASSERT_EQUAL(1 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
77
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 1 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
78
|
-
|
|
79
|
-
//second element
|
|
80
|
-
element[1] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
81
|
-
TEST_ASSERT_MESSAGE(element[1] != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
82
|
-
TEST_ASSERT_NOT_EQUAL(element[0], element[1]);
|
|
83
|
-
TEST_ASSERT_EQUAL(first, CMock_Guts_MemChain(first, element[1]));
|
|
84
|
-
*((unsigned int*)CMock_Guts_GetAddressFor(element[1])) = 1;
|
|
85
|
-
|
|
86
|
-
//verify we're using the right amount of memory
|
|
87
|
-
TEST_ASSERT_EQUAL(2 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
88
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 2 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
89
|
-
|
|
90
|
-
//third element
|
|
91
|
-
element[2] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
92
|
-
TEST_ASSERT_MESSAGE(element[2] != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
93
|
-
TEST_ASSERT_NOT_EQUAL(element[0], element[2]);
|
|
94
|
-
TEST_ASSERT_NOT_EQUAL(element[1], element[2]);
|
|
95
|
-
TEST_ASSERT_EQUAL(first, CMock_Guts_MemChain(first, element[2]));
|
|
96
|
-
*((unsigned int*)CMock_Guts_GetAddressFor(element[2])) = 2;
|
|
97
|
-
|
|
98
|
-
//verify we're using the right amount of memory
|
|
99
|
-
TEST_ASSERT_EQUAL(3 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
100
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 3 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
101
|
-
|
|
102
|
-
//fourth element
|
|
103
|
-
element[3] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
104
|
-
TEST_ASSERT_MESSAGE(element[3] != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
105
|
-
TEST_ASSERT_NOT_EQUAL(element[0], element[3]);
|
|
106
|
-
TEST_ASSERT_NOT_EQUAL(element[1], element[3]);
|
|
107
|
-
TEST_ASSERT_NOT_EQUAL(element[2], element[3]);
|
|
108
|
-
TEST_ASSERT_EQUAL(first, CMock_Guts_MemChain(first, element[3]));
|
|
109
|
-
*((unsigned int*)CMock_Guts_GetAddressFor(element[3])) = 3;
|
|
110
|
-
|
|
111
|
-
//verify we're using the right amount of memory
|
|
112
|
-
TEST_ASSERT_EQUAL(4 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
113
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 4 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
114
|
-
|
|
115
|
-
//traverse list
|
|
116
|
-
next = first;
|
|
117
|
-
for (i = 0; i < 4; i++)
|
|
118
|
-
{
|
|
119
|
-
TEST_ASSERT_EQUAL(element[i], next);
|
|
120
|
-
TEST_ASSERT_EQUAL(i, *((unsigned int*)CMock_Guts_GetAddressFor(element[i])));
|
|
121
|
-
next = CMock_Guts_MemNext(next);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
//verify we get a null at the end of the list
|
|
125
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, next);
|
|
126
|
-
|
|
127
|
-
//verify we're using the right amount of memory
|
|
128
|
-
TEST_ASSERT_EQUAL(4 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
129
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 4 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
130
|
-
|
|
131
|
-
//Free it all
|
|
132
|
-
CMock_Guts_MemFreeAll();
|
|
133
|
-
|
|
134
|
-
//verify we're cleared
|
|
135
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
136
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
void test_ThatCMockStopsReturningMoreDataWhenItRunsOutOfMemory(void)
|
|
140
|
-
{
|
|
141
|
-
unsigned int i;
|
|
142
|
-
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
143
|
-
CMOCK_MEM_INDEX_TYPE next;
|
|
144
|
-
|
|
145
|
-
//even though we are asking for one byte, we've told it to align to closest CMOCK_MEM_ALIGN_SIZE bytes, therefore it will waste a byte each time
|
|
146
|
-
//so each call will use (CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE) bytes (CMOCK_MEM_INDEX_SIZE for the index, 1 for the data, and (CMOCK_MEM_ALIGN_SIZE - 1) wasted).
|
|
147
|
-
//therefore we can safely allocated total/(CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE) times.
|
|
148
|
-
for (i = 0; i < (CMOCK_MEM_SIZE / (CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE)); i++)
|
|
149
|
-
{
|
|
150
|
-
TEST_ASSERT_EQUAL(i*(CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE), CMock_Guts_MemBytesUsed());
|
|
151
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - i*(CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE), CMock_Guts_MemBytesFree());
|
|
152
|
-
|
|
153
|
-
next = CMock_Guts_MemNew(1);
|
|
154
|
-
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
155
|
-
|
|
156
|
-
first = CMock_Guts_MemChain(first, next);
|
|
157
|
-
TEST_ASSERT_MESSAGE(first != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
//verify we're at top of memory
|
|
161
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesUsed());
|
|
162
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesFree());
|
|
163
|
-
|
|
164
|
-
//The very next call will return a NULL, and any after that
|
|
165
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(1));
|
|
166
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(1));
|
|
167
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(1));
|
|
168
|
-
|
|
169
|
-
//verify nothing has changed
|
|
170
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesUsed());
|
|
171
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesFree());
|
|
172
|
-
|
|
173
|
-
//verify we can still walk through the elements allocated
|
|
174
|
-
next = first;
|
|
175
|
-
for (i = 0; i < (CMOCK_MEM_SIZE / (CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE)); i++)
|
|
176
|
-
{
|
|
177
|
-
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
178
|
-
next = CMock_Guts_MemNext(next);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
//there aren't any after that
|
|
182
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, (_UU32)next);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
void test_ThatCMockStopsReturningMoreDataWhenAskForMoreThanItHasLeftEvenIfNotAtExactEnd(void)
|
|
186
|
-
{
|
|
187
|
-
unsigned int i;
|
|
188
|
-
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
189
|
-
CMOCK_MEM_INDEX_TYPE next;
|
|
190
|
-
|
|
191
|
-
//we're asking for (CMOCK_MEM_INDEX_SIZE + 8) bytes each time now (CMOCK_MEM_INDEX_SIZE for index, 8 for data).
|
|
192
|
-
//CMOCK_MEM_SIZE/(CMOCK_MEM_INDEX_SIZE + 8) requests will request as much data as possible, while ensuring that there isn't enough
|
|
193
|
-
//memory for the next request
|
|
194
|
-
for (i = 0; i < CMOCK_MEM_SIZE/(CMOCK_MEM_INDEX_SIZE + 8); i++)
|
|
195
|
-
{
|
|
196
|
-
TEST_ASSERT_EQUAL(i*(CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesUsed());
|
|
197
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - i*(CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesFree());
|
|
198
|
-
|
|
199
|
-
next = CMock_Guts_MemNew(8);
|
|
200
|
-
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
201
|
-
|
|
202
|
-
first = CMock_Guts_MemChain(first, next);
|
|
203
|
-
TEST_ASSERT_MESSAGE(first != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
204
|
-
|
|
205
|
-
//verify writing data won't screw us up
|
|
206
|
-
*((unsigned int*)CMock_Guts_GetAddressFor(next)) = i;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
//verify we're at top of memory
|
|
210
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - CMOCK_MEM_SIZE % (CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesUsed());
|
|
211
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE % (CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesFree());
|
|
212
|
-
|
|
213
|
-
//The very next call will return a NONE, and any after that
|
|
214
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(8));
|
|
215
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(5));
|
|
216
|
-
|
|
217
|
-
//verify nothing has changed
|
|
218
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - CMOCK_MEM_SIZE % (CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesUsed());
|
|
219
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE % (CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesFree());
|
|
220
|
-
|
|
221
|
-
//verify we can still walk through the elements allocated
|
|
222
|
-
next = first;
|
|
223
|
-
for (i = 0; i < CMOCK_MEM_SIZE/(CMOCK_MEM_INDEX_SIZE + 8); i++)
|
|
224
|
-
{
|
|
225
|
-
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
226
|
-
TEST_ASSERT_EQUAL(i, *((unsigned int*)CMock_Guts_GetAddressFor(next)));
|
|
227
|
-
next = CMock_Guts_MemNext(next);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
//there aren't any after that
|
|
231
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, next);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
void test_ThatWeCanAskForAllSortsOfSizes(void)
|
|
235
|
-
{
|
|
236
|
-
#if CMOCK_MEM_ALIGN != 2
|
|
237
|
-
TEST_IGNORE_MESSAGE("Test relies on a particular environmental setup, which is not present");
|
|
238
|
-
#else
|
|
239
|
-
|
|
240
|
-
unsigned int i;
|
|
241
|
-
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
242
|
-
CMOCK_MEM_INDEX_TYPE next;
|
|
243
|
-
CMOCK_MEM_INDEX_TYPE sizes[5] = {3, 1, 80, 5, 4};
|
|
244
|
-
CMOCK_MEM_INDEX_TYPE sizes_buffered[5] = {4, 4, 80, 8, 4};
|
|
245
|
-
CMOCK_MEM_INDEX_TYPE sum = 0;
|
|
246
|
-
|
|
247
|
-
for (i = 0; i < 5; i++)
|
|
248
|
-
{
|
|
249
|
-
next = CMock_Guts_MemNew(sizes[i]);
|
|
250
|
-
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
251
|
-
|
|
252
|
-
first = CMock_Guts_MemChain(first, next);
|
|
253
|
-
TEST_ASSERT_MESSAGE(first != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
254
|
-
|
|
255
|
-
sum += sizes_buffered[i] + 4;
|
|
256
|
-
TEST_ASSERT_EQUAL(sum, CMock_Guts_MemBytesUsed());
|
|
257
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - sum, CMock_Guts_MemBytesFree());
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
//show that we can't ask for too much memory
|
|
261
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(12));
|
|
262
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(5));
|
|
263
|
-
|
|
264
|
-
//but we CAN ask for something that will still fit
|
|
265
|
-
next = CMock_Guts_MemNew(4);
|
|
266
|
-
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
267
|
-
|
|
268
|
-
first = CMock_Guts_MemChain(first, next);
|
|
269
|
-
TEST_ASSERT_MESSAGE(first != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
270
|
-
|
|
271
|
-
//verify we're used up now
|
|
272
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesUsed());
|
|
273
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesFree());
|
|
274
|
-
|
|
275
|
-
//verify we can still walk through the elements allocated
|
|
276
|
-
next = first;
|
|
277
|
-
for (i = 0; i < 6; i++)
|
|
278
|
-
{
|
|
279
|
-
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
280
|
-
next = CMock_Guts_MemNext(next);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
//there aren't any after that
|
|
284
|
-
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, next);
|
|
285
|
-
#endif
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
void test_MemEndOfChain(void)
|
|
289
|
-
{
|
|
290
|
-
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
291
|
-
CMOCK_MEM_INDEX_TYPE element[4];
|
|
292
|
-
|
|
293
|
-
//verify we're cleared first
|
|
294
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
295
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
296
|
-
|
|
297
|
-
//first element
|
|
298
|
-
element[0] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
299
|
-
first = CMock_Guts_MemChain(first, element[0]);
|
|
300
|
-
TEST_ASSERT_MESSAGE(element[0] == CMock_Guts_MemEndOfChain(first), "Should have returned element[0]");
|
|
301
|
-
|
|
302
|
-
//second element
|
|
303
|
-
element[1] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
304
|
-
CMock_Guts_MemChain(first, element[1]);
|
|
305
|
-
TEST_ASSERT_MESSAGE(element[1] == CMock_Guts_MemEndOfChain(first), "Should have returned element[1]");
|
|
306
|
-
|
|
307
|
-
//third element
|
|
308
|
-
element[2] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
309
|
-
CMock_Guts_MemChain(first, element[2]);
|
|
310
|
-
TEST_ASSERT_MESSAGE(element[2] == CMock_Guts_MemEndOfChain(first), "Should have returned element[2]");
|
|
311
|
-
|
|
312
|
-
//fourth element
|
|
313
|
-
element[3] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
314
|
-
CMock_Guts_MemChain(first, element[3]);
|
|
315
|
-
TEST_ASSERT_MESSAGE(element[3] == CMock_Guts_MemEndOfChain(first), "Should have returned element[3]");
|
|
316
|
-
|
|
317
|
-
//Free it all
|
|
318
|
-
CMock_Guts_MemFreeAll();
|
|
319
|
-
|
|
320
|
-
//verify we're cleared
|
|
321
|
-
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
322
|
-
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
323
|
-
}
|
|
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
|
+
#include "unity.h"
|
|
8
|
+
#include "cmock.h"
|
|
9
|
+
|
|
10
|
+
#define TEST_MEM_INDEX_SIZE (sizeof(CMOCK_MEM_INDEX_TYPE))
|
|
11
|
+
|
|
12
|
+
void setUp(void)
|
|
13
|
+
{
|
|
14
|
+
CMock_Guts_MemFreeAll();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
void tearDown(void)
|
|
18
|
+
{
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
void test_MemNewWillReturnNullIfGivenIllegalSizes(void)
|
|
22
|
+
{
|
|
23
|
+
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNew(0) );
|
|
24
|
+
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNew(CMOCK_MEM_SIZE - TEST_MEM_INDEX_SIZE + 1) );
|
|
25
|
+
TEST_ASSERT_NULL( CMock_Guts_GetAddressFor(CMOCK_GUTS_NONE) );
|
|
26
|
+
|
|
27
|
+
//verify we're cleared still
|
|
28
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
29
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
void test_MemChainWillReturnNullAndDoNothingIfGivenIllegalInformation(void)
|
|
33
|
+
{
|
|
34
|
+
CMOCK_MEM_INDEX_TYPE next = CMock_Guts_MemNew(4);
|
|
35
|
+
TEST_ASSERT_EQUAL(4 + TEST_MEM_INDEX_SIZE, CMock_Guts_MemBytesUsed());
|
|
36
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 4 - TEST_MEM_INDEX_SIZE, CMock_Guts_MemBytesFree());
|
|
37
|
+
|
|
38
|
+
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemChain(next + CMOCK_MEM_SIZE, next) );
|
|
39
|
+
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemChain(next, next + CMOCK_MEM_SIZE) );
|
|
40
|
+
|
|
41
|
+
//verify we're still the same
|
|
42
|
+
TEST_ASSERT_EQUAL(4 + TEST_MEM_INDEX_SIZE, CMock_Guts_MemBytesUsed());
|
|
43
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 4 - TEST_MEM_INDEX_SIZE, CMock_Guts_MemBytesFree());
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
void test_MemNextWillReturnNullIfGivenABadRoot(void)
|
|
47
|
+
{
|
|
48
|
+
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNext(0) );
|
|
49
|
+
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNext(2) );
|
|
50
|
+
TEST_ASSERT_EQUAL_HEX( CMOCK_GUTS_NONE, CMock_Guts_MemNext(CMOCK_MEM_SIZE - 4) );
|
|
51
|
+
|
|
52
|
+
//verify we're cleared still
|
|
53
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
54
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
void test_ThatWeCanClaimAndChainAFewElementsTogether(void)
|
|
58
|
+
{
|
|
59
|
+
unsigned int i;
|
|
60
|
+
CMOCK_MEM_INDEX_TYPE next;
|
|
61
|
+
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
62
|
+
CMOCK_MEM_INDEX_TYPE element[4];
|
|
63
|
+
|
|
64
|
+
//verify we're cleared first
|
|
65
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
66
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
67
|
+
|
|
68
|
+
//first element
|
|
69
|
+
element[0] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
70
|
+
TEST_ASSERT_MESSAGE(element[0] != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
71
|
+
first = CMock_Guts_MemChain(first, element[0]);
|
|
72
|
+
TEST_ASSERT_EQUAL(element[0], first);
|
|
73
|
+
*((unsigned int*)CMock_Guts_GetAddressFor(element[0])) = 0;
|
|
74
|
+
|
|
75
|
+
//verify we're using the right amount of memory
|
|
76
|
+
TEST_ASSERT_EQUAL(1 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
77
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 1 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
78
|
+
|
|
79
|
+
//second element
|
|
80
|
+
element[1] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
81
|
+
TEST_ASSERT_MESSAGE(element[1] != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
82
|
+
TEST_ASSERT_NOT_EQUAL(element[0], element[1]);
|
|
83
|
+
TEST_ASSERT_EQUAL(first, CMock_Guts_MemChain(first, element[1]));
|
|
84
|
+
*((unsigned int*)CMock_Guts_GetAddressFor(element[1])) = 1;
|
|
85
|
+
|
|
86
|
+
//verify we're using the right amount of memory
|
|
87
|
+
TEST_ASSERT_EQUAL(2 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
88
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 2 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
89
|
+
|
|
90
|
+
//third element
|
|
91
|
+
element[2] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
92
|
+
TEST_ASSERT_MESSAGE(element[2] != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
93
|
+
TEST_ASSERT_NOT_EQUAL(element[0], element[2]);
|
|
94
|
+
TEST_ASSERT_NOT_EQUAL(element[1], element[2]);
|
|
95
|
+
TEST_ASSERT_EQUAL(first, CMock_Guts_MemChain(first, element[2]));
|
|
96
|
+
*((unsigned int*)CMock_Guts_GetAddressFor(element[2])) = 2;
|
|
97
|
+
|
|
98
|
+
//verify we're using the right amount of memory
|
|
99
|
+
TEST_ASSERT_EQUAL(3 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
100
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 3 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
101
|
+
|
|
102
|
+
//fourth element
|
|
103
|
+
element[3] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
104
|
+
TEST_ASSERT_MESSAGE(element[3] != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
105
|
+
TEST_ASSERT_NOT_EQUAL(element[0], element[3]);
|
|
106
|
+
TEST_ASSERT_NOT_EQUAL(element[1], element[3]);
|
|
107
|
+
TEST_ASSERT_NOT_EQUAL(element[2], element[3]);
|
|
108
|
+
TEST_ASSERT_EQUAL(first, CMock_Guts_MemChain(first, element[3]));
|
|
109
|
+
*((unsigned int*)CMock_Guts_GetAddressFor(element[3])) = 3;
|
|
110
|
+
|
|
111
|
+
//verify we're using the right amount of memory
|
|
112
|
+
TEST_ASSERT_EQUAL(4 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
113
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 4 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
114
|
+
|
|
115
|
+
//traverse list
|
|
116
|
+
next = first;
|
|
117
|
+
for (i = 0; i < 4; i++)
|
|
118
|
+
{
|
|
119
|
+
TEST_ASSERT_EQUAL(element[i], next);
|
|
120
|
+
TEST_ASSERT_EQUAL(i, *((unsigned int*)CMock_Guts_GetAddressFor(element[i])));
|
|
121
|
+
next = CMock_Guts_MemNext(next);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
//verify we get a null at the end of the list
|
|
125
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, next);
|
|
126
|
+
|
|
127
|
+
//verify we're using the right amount of memory
|
|
128
|
+
TEST_ASSERT_EQUAL(4 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesUsed());
|
|
129
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - 4 * (TEST_MEM_INDEX_SIZE + sizeof(unsigned int)), CMock_Guts_MemBytesFree());
|
|
130
|
+
|
|
131
|
+
//Free it all
|
|
132
|
+
CMock_Guts_MemFreeAll();
|
|
133
|
+
|
|
134
|
+
//verify we're cleared
|
|
135
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
136
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
void test_ThatCMockStopsReturningMoreDataWhenItRunsOutOfMemory(void)
|
|
140
|
+
{
|
|
141
|
+
unsigned int i;
|
|
142
|
+
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
143
|
+
CMOCK_MEM_INDEX_TYPE next;
|
|
144
|
+
|
|
145
|
+
//even though we are asking for one byte, we've told it to align to closest CMOCK_MEM_ALIGN_SIZE bytes, therefore it will waste a byte each time
|
|
146
|
+
//so each call will use (CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE) bytes (CMOCK_MEM_INDEX_SIZE for the index, 1 for the data, and (CMOCK_MEM_ALIGN_SIZE - 1) wasted).
|
|
147
|
+
//therefore we can safely allocated total/(CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE) times.
|
|
148
|
+
for (i = 0; i < (CMOCK_MEM_SIZE / (CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE)); i++)
|
|
149
|
+
{
|
|
150
|
+
TEST_ASSERT_EQUAL(i*(CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE), CMock_Guts_MemBytesUsed());
|
|
151
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - i*(CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE), CMock_Guts_MemBytesFree());
|
|
152
|
+
|
|
153
|
+
next = CMock_Guts_MemNew(1);
|
|
154
|
+
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
155
|
+
|
|
156
|
+
first = CMock_Guts_MemChain(first, next);
|
|
157
|
+
TEST_ASSERT_MESSAGE(first != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
//verify we're at top of memory
|
|
161
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesUsed());
|
|
162
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesFree());
|
|
163
|
+
|
|
164
|
+
//The very next call will return a NULL, and any after that
|
|
165
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(1));
|
|
166
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(1));
|
|
167
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(1));
|
|
168
|
+
|
|
169
|
+
//verify nothing has changed
|
|
170
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesUsed());
|
|
171
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesFree());
|
|
172
|
+
|
|
173
|
+
//verify we can still walk through the elements allocated
|
|
174
|
+
next = first;
|
|
175
|
+
for (i = 0; i < (CMOCK_MEM_SIZE / (CMOCK_MEM_INDEX_SIZE + CMOCK_MEM_ALIGN_SIZE)); i++)
|
|
176
|
+
{
|
|
177
|
+
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
178
|
+
next = CMock_Guts_MemNext(next);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
//there aren't any after that
|
|
182
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, (_UU32)next);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
void test_ThatCMockStopsReturningMoreDataWhenAskForMoreThanItHasLeftEvenIfNotAtExactEnd(void)
|
|
186
|
+
{
|
|
187
|
+
unsigned int i;
|
|
188
|
+
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
189
|
+
CMOCK_MEM_INDEX_TYPE next;
|
|
190
|
+
|
|
191
|
+
//we're asking for (CMOCK_MEM_INDEX_SIZE + 8) bytes each time now (CMOCK_MEM_INDEX_SIZE for index, 8 for data).
|
|
192
|
+
//CMOCK_MEM_SIZE/(CMOCK_MEM_INDEX_SIZE + 8) requests will request as much data as possible, while ensuring that there isn't enough
|
|
193
|
+
//memory for the next request
|
|
194
|
+
for (i = 0; i < CMOCK_MEM_SIZE/(CMOCK_MEM_INDEX_SIZE + 8); i++)
|
|
195
|
+
{
|
|
196
|
+
TEST_ASSERT_EQUAL(i*(CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesUsed());
|
|
197
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - i*(CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesFree());
|
|
198
|
+
|
|
199
|
+
next = CMock_Guts_MemNew(8);
|
|
200
|
+
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
201
|
+
|
|
202
|
+
first = CMock_Guts_MemChain(first, next);
|
|
203
|
+
TEST_ASSERT_MESSAGE(first != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
204
|
+
|
|
205
|
+
//verify writing data won't screw us up
|
|
206
|
+
*((unsigned int*)CMock_Guts_GetAddressFor(next)) = i;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
//verify we're at top of memory
|
|
210
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - CMOCK_MEM_SIZE % (CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesUsed());
|
|
211
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE % (CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesFree());
|
|
212
|
+
|
|
213
|
+
//The very next call will return a NONE, and any after that
|
|
214
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(8));
|
|
215
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(5));
|
|
216
|
+
|
|
217
|
+
//verify nothing has changed
|
|
218
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - CMOCK_MEM_SIZE % (CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesUsed());
|
|
219
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE % (CMOCK_MEM_INDEX_SIZE + 8), CMock_Guts_MemBytesFree());
|
|
220
|
+
|
|
221
|
+
//verify we can still walk through the elements allocated
|
|
222
|
+
next = first;
|
|
223
|
+
for (i = 0; i < CMOCK_MEM_SIZE/(CMOCK_MEM_INDEX_SIZE + 8); i++)
|
|
224
|
+
{
|
|
225
|
+
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
226
|
+
TEST_ASSERT_EQUAL(i, *((unsigned int*)CMock_Guts_GetAddressFor(next)));
|
|
227
|
+
next = CMock_Guts_MemNext(next);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
//there aren't any after that
|
|
231
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, next);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
void test_ThatWeCanAskForAllSortsOfSizes(void)
|
|
235
|
+
{
|
|
236
|
+
#if CMOCK_MEM_ALIGN != 2
|
|
237
|
+
TEST_IGNORE_MESSAGE("Test relies on a particular environmental setup, which is not present");
|
|
238
|
+
#else
|
|
239
|
+
|
|
240
|
+
unsigned int i;
|
|
241
|
+
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
242
|
+
CMOCK_MEM_INDEX_TYPE next;
|
|
243
|
+
CMOCK_MEM_INDEX_TYPE sizes[5] = {3, 1, 80, 5, 4};
|
|
244
|
+
CMOCK_MEM_INDEX_TYPE sizes_buffered[5] = {4, 4, 80, 8, 4};
|
|
245
|
+
CMOCK_MEM_INDEX_TYPE sum = 0;
|
|
246
|
+
|
|
247
|
+
for (i = 0; i < 5; i++)
|
|
248
|
+
{
|
|
249
|
+
next = CMock_Guts_MemNew(sizes[i]);
|
|
250
|
+
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
251
|
+
|
|
252
|
+
first = CMock_Guts_MemChain(first, next);
|
|
253
|
+
TEST_ASSERT_MESSAGE(first != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
254
|
+
|
|
255
|
+
sum += sizes_buffered[i] + 4;
|
|
256
|
+
TEST_ASSERT_EQUAL(sum, CMock_Guts_MemBytesUsed());
|
|
257
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE - sum, CMock_Guts_MemBytesFree());
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
//show that we can't ask for too much memory
|
|
261
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(12));
|
|
262
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, CMock_Guts_MemNew(5));
|
|
263
|
+
|
|
264
|
+
//but we CAN ask for something that will still fit
|
|
265
|
+
next = CMock_Guts_MemNew(4);
|
|
266
|
+
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
267
|
+
|
|
268
|
+
first = CMock_Guts_MemChain(first, next);
|
|
269
|
+
TEST_ASSERT_MESSAGE(first != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
270
|
+
|
|
271
|
+
//verify we're used up now
|
|
272
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesUsed());
|
|
273
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesFree());
|
|
274
|
+
|
|
275
|
+
//verify we can still walk through the elements allocated
|
|
276
|
+
next = first;
|
|
277
|
+
for (i = 0; i < 6; i++)
|
|
278
|
+
{
|
|
279
|
+
TEST_ASSERT_MESSAGE(next != CMOCK_GUTS_NONE, "Should Not Have Returned CMOCK_GUTS_NONE");
|
|
280
|
+
next = CMock_Guts_MemNext(next);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
//there aren't any after that
|
|
284
|
+
TEST_ASSERT_EQUAL_HEX(CMOCK_GUTS_NONE, next);
|
|
285
|
+
#endif
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
void test_MemEndOfChain(void)
|
|
289
|
+
{
|
|
290
|
+
CMOCK_MEM_INDEX_TYPE first = CMOCK_GUTS_NONE;
|
|
291
|
+
CMOCK_MEM_INDEX_TYPE element[4];
|
|
292
|
+
|
|
293
|
+
//verify we're cleared first
|
|
294
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
295
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
296
|
+
|
|
297
|
+
//first element
|
|
298
|
+
element[0] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
299
|
+
first = CMock_Guts_MemChain(first, element[0]);
|
|
300
|
+
TEST_ASSERT_MESSAGE(element[0] == CMock_Guts_MemEndOfChain(first), "Should have returned element[0]");
|
|
301
|
+
|
|
302
|
+
//second element
|
|
303
|
+
element[1] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
304
|
+
CMock_Guts_MemChain(first, element[1]);
|
|
305
|
+
TEST_ASSERT_MESSAGE(element[1] == CMock_Guts_MemEndOfChain(first), "Should have returned element[1]");
|
|
306
|
+
|
|
307
|
+
//third element
|
|
308
|
+
element[2] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
309
|
+
CMock_Guts_MemChain(first, element[2]);
|
|
310
|
+
TEST_ASSERT_MESSAGE(element[2] == CMock_Guts_MemEndOfChain(first), "Should have returned element[2]");
|
|
311
|
+
|
|
312
|
+
//fourth element
|
|
313
|
+
element[3] = CMock_Guts_MemNew(sizeof(unsigned int));
|
|
314
|
+
CMock_Guts_MemChain(first, element[3]);
|
|
315
|
+
TEST_ASSERT_MESSAGE(element[3] == CMock_Guts_MemEndOfChain(first), "Should have returned element[3]");
|
|
316
|
+
|
|
317
|
+
//Free it all
|
|
318
|
+
CMock_Guts_MemFreeAll();
|
|
319
|
+
|
|
320
|
+
//verify we're cleared
|
|
321
|
+
TEST_ASSERT_EQUAL(0, CMock_Guts_MemBytesUsed());
|
|
322
|
+
TEST_ASSERT_EQUAL(CMOCK_MEM_SIZE, CMock_Guts_MemBytesFree());
|
|
323
|
+
}
|