ceedling 0.13.0.rc1 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +32 -0
- data/README.md +8 -8
- data/assets/example_file.c +5 -0
- data/assets/example_file.h +6 -0
- data/assets/project_as_gem.yml +71 -0
- data/assets/{project.yml → project_with_guts.yml} +2 -0
- data/assets/rakefile_as_gem.rb +1 -0
- data/assets/{rakefile.rb → rakefile_with_guts.rb} +0 -0
- data/assets/test_example_file.c +13 -0
- data/bin/ceedling +55 -31
- data/ceedling-0.13.0.rc4.gem +0 -0
- data/ceedling.gemspec +13 -12
- data/ceedling.sublime-project +8 -0
- data/ceedling.sublime-workspace +365 -0
- data/examples/temp_sensor/project.yml +3 -4
- data/lib/ceedling.rb +13 -4
- data/lib/ceedling/version.rb +3 -3
- data/lib/project_file_loader.rb +1 -1
- data/lib/rakefile.rb +14 -1
- data/lib/target_loader.rb +38 -0
- data/plugins/bullseye/{template.erb → assets/template.erb} +0 -0
- data/plugins/bullseye/{defaults.yml → config/defaults.yml} +0 -0
- data/plugins/bullseye/{bullseye.rb → lib/bullseye.rb} +9 -10
- data/spec/spec_system_helper.rb +192 -0
- data/spec/system/deployment_spec.rb +116 -0
- data/tags +977 -0
- data/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
- data/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
- data/vendor/c_exception/docs/license.txt +30 -0
- data/vendor/c_exception/docs/readme.txt +242 -0
- data/vendor/c_exception/makefile +24 -0
- data/vendor/c_exception/rakefile.rb +41 -0
- data/vendor/c_exception/test/CExceptionConfig.h +44 -0
- data/vendor/c_exception/test/TestException.c +328 -0
- data/vendor/c_exception/test/TestException_Runner.c +57 -0
- data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +94 -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 +313 -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 +217 -0
- data/vendor/c_exception/vendor/unity/docs/license.txt +31 -0
- data/vendor/c_exception/vendor/unity/examples/helper/UnityHelper.c +10 -0
- data/vendor/c_exception/vendor/unity/examples/helper/UnityHelper.h +12 -0
- data/vendor/c_exception/vendor/unity/examples/makefile +40 -0
- data/vendor/c_exception/vendor/unity/examples/rakefile.rb +32 -0
- data/vendor/c_exception/vendor/unity/examples/rakefile_helper.rb +256 -0
- data/vendor/c_exception/vendor/unity/examples/readme.txt +18 -0
- data/vendor/c_exception/vendor/unity/examples/src/ProductionCode.c +24 -0
- data/vendor/c_exception/vendor/unity/examples/src/ProductionCode.h +3 -0
- data/vendor/c_exception/vendor/unity/examples/src/ProductionCode2.c +9 -0
- data/vendor/c_exception/vendor/unity/examples/src/ProductionCode2.h +2 -0
- data/vendor/c_exception/vendor/unity/examples/test/TestProductionCode.c +62 -0
- data/vendor/c_exception/vendor/unity/examples/test/TestProductionCode2.c +31 -0
- data/vendor/c_exception/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
- data/vendor/c_exception/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/build/MakefileWorker.mk +331 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/build/filterGcov.sh +61 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +37 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +178 -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 +381 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +81 -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 +321 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -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 +35 -0
- data/vendor/c_exception/vendor/unity/rakefile.rb +59 -0
- data/vendor/c_exception/vendor/unity/rakefile_helper.rb +240 -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 +979 -0
- data/vendor/c_exception/vendor/unity/src/unity.h +232 -0
- data/vendor/c_exception/vendor/unity/src/unity_internals.h +424 -0
- data/vendor/c_exception/vendor/unity/targets/gcc.yml +43 -0
- data/vendor/c_exception/vendor/unity/targets/gcc_64.yml +44 -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 +54 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +50 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +60 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +63 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +51 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +60 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +63 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
- data/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +94 -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 +2024 -0
- data/vendor/cmock/docs/CMock Summary.odt +0 -0
- data/vendor/cmock/docs/CMock Summary.pdf +0 -0
- data/vendor/cmock/docs/CMock_Summary.md +356 -0
- data/vendor/cmock/docs/license.txt +31 -0
- data/vendor/cmock/examples/gcc.yml +43 -0
- data/vendor/cmock/examples/iar_v4.yml +91 -0
- data/vendor/cmock/examples/iar_v5.yml +80 -0
- data/vendor/cmock/examples/rakefile.rb +32 -0
- data/vendor/cmock/examples/rakefile_helper.rb +270 -0
- data/vendor/cmock/examples/src/AT91SAM7X256.h +2556 -0
- data/vendor/cmock/examples/src/AdcConductor.c +42 -0
- data/vendor/cmock/examples/src/AdcConductor.h +11 -0
- data/vendor/cmock/examples/src/AdcHardware.c +27 -0
- data/vendor/cmock/examples/src/AdcHardware.h +9 -0
- data/vendor/cmock/examples/src/AdcHardwareConfigurator.c +18 -0
- data/vendor/cmock/examples/src/AdcHardwareConfigurator.h +10 -0
- data/vendor/cmock/examples/src/AdcModel.c +33 -0
- data/vendor/cmock/examples/src/AdcModel.h +13 -0
- data/vendor/cmock/examples/src/AdcTemperatureSensor.c +51 -0
- data/vendor/cmock/examples/src/AdcTemperatureSensor.h +10 -0
- data/vendor/cmock/examples/src/Executor.c +25 -0
- data/vendor/cmock/examples/src/Executor.h +9 -0
- data/vendor/cmock/examples/src/IntrinsicsWrapper.c +18 -0
- data/vendor/cmock/examples/src/IntrinsicsWrapper.h +7 -0
- data/vendor/cmock/examples/src/Main.c +46 -0
- data/vendor/cmock/examples/src/Main.h +7 -0
- data/vendor/cmock/examples/src/Model.c +10 -0
- data/vendor/cmock/examples/src/Model.h +8 -0
- data/vendor/cmock/examples/src/ModelConfig.h +7 -0
- data/vendor/cmock/examples/src/TaskScheduler.c +72 -0
- data/vendor/cmock/examples/src/TaskScheduler.h +11 -0
- data/vendor/cmock/examples/src/TemperatureCalculator.c +27 -0
- data/vendor/cmock/examples/src/TemperatureCalculator.h +6 -0
- data/vendor/cmock/examples/src/TemperatureFilter.c +39 -0
- data/vendor/cmock/examples/src/TemperatureFilter.h +10 -0
- data/vendor/cmock/examples/src/TimerConductor.c +15 -0
- data/vendor/cmock/examples/src/TimerConductor.h +9 -0
- data/vendor/cmock/examples/src/TimerConfigurator.c +51 -0
- data/vendor/cmock/examples/src/TimerConfigurator.h +15 -0
- data/vendor/cmock/examples/src/TimerHardware.c +15 -0
- data/vendor/cmock/examples/src/TimerHardware.h +8 -0
- data/vendor/cmock/examples/src/TimerInterruptConfigurator.c +55 -0
- data/vendor/cmock/examples/src/TimerInterruptConfigurator.h +13 -0
- data/vendor/cmock/examples/src/TimerInterruptHandler.c +25 -0
- data/vendor/cmock/examples/src/TimerInterruptHandler.h +10 -0
- data/vendor/cmock/examples/src/TimerModel.c +9 -0
- data/vendor/cmock/examples/src/TimerModel.h +8 -0
- data/vendor/cmock/examples/src/Types.h +103 -0
- data/vendor/cmock/examples/src/UsartBaudRateRegisterCalculator.c +18 -0
- data/vendor/cmock/examples/src/UsartBaudRateRegisterCalculator.h +6 -0
- data/vendor/cmock/examples/src/UsartConductor.c +21 -0
- data/vendor/cmock/examples/src/UsartConductor.h +7 -0
- data/vendor/cmock/examples/src/UsartConfigurator.c +39 -0
- data/vendor/cmock/examples/src/UsartConfigurator.h +13 -0
- data/vendor/cmock/examples/src/UsartHardware.c +22 -0
- data/vendor/cmock/examples/src/UsartHardware.h +9 -0
- data/vendor/cmock/examples/src/UsartModel.c +34 -0
- data/vendor/cmock/examples/src/UsartModel.h +10 -0
- data/vendor/cmock/examples/src/UsartPutChar.c +16 -0
- data/vendor/cmock/examples/src/UsartPutChar.h +8 -0
- data/vendor/cmock/examples/src/UsartTransmitBufferStatus.c +7 -0
- data/vendor/cmock/examples/src/UsartTransmitBufferStatus.h +8 -0
- data/vendor/cmock/examples/test/TestAdcConductor.c +121 -0
- data/vendor/cmock/examples/test/TestAdcHardware.c +44 -0
- data/vendor/cmock/examples/test/TestAdcHardwareConfigurator.c +43 -0
- data/vendor/cmock/examples/test/TestAdcModel.c +33 -0
- data/vendor/cmock/examples/test/TestAdcTemperatureSensor.c +47 -0
- data/vendor/cmock/examples/test/TestExecutor.c +36 -0
- data/vendor/cmock/examples/test/TestMain.c +24 -0
- data/vendor/cmock/examples/test/TestModel.c +20 -0
- data/vendor/cmock/examples/test/TestTaskScheduler.c +104 -0
- data/vendor/cmock/examples/test/TestTemperatureCalculator.c +33 -0
- data/vendor/cmock/examples/test/TestTemperatureFilter.c +69 -0
- data/vendor/cmock/examples/test/TestTimerConductor.c +32 -0
- data/vendor/cmock/examples/test/TestTimerConfigurator.c +112 -0
- data/vendor/cmock/examples/test/TestTimerHardware.c +26 -0
- data/vendor/cmock/examples/test/TestTimerInterruptConfigurator.c +78 -0
- data/vendor/cmock/examples/test/TestTimerInterruptHandler.c +66 -0
- data/vendor/cmock/examples/test/TestTimerModel.c +18 -0
- data/vendor/cmock/examples/test/TestUsartBaudRateRegisterCalculator.c +21 -0
- data/vendor/cmock/examples/test/TestUsartConductor.c +40 -0
- data/vendor/cmock/examples/test/TestUsartConfigurator.c +77 -0
- data/vendor/cmock/examples/test/TestUsartHardware.c +37 -0
- data/vendor/cmock/examples/test/TestUsartModel.c +40 -0
- data/vendor/cmock/examples/test/TestUsartPutChar.c +43 -0
- data/vendor/cmock/examples/test/TestUsartTransmitBufferStatus.c +22 -0
- data/vendor/cmock/iar/iar_v4/Resource/SAM7_FLASH.mac +71 -0
- data/vendor/cmock/iar/iar_v4/Resource/SAM7_RAM.mac +94 -0
- data/vendor/cmock/iar/iar_v4/Resource/SAM7_SIM.mac +67 -0
- data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_FLASH.xcl +185 -0
- data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_RAM.xcl +185 -0
- data/vendor/cmock/iar/iar_v4/Resource/ioat91sam7x256.ddf +2259 -0
- data/vendor/cmock/iar/iar_v4/cmock_demo.dep +3691 -0
- data/vendor/cmock/iar/iar_v4/cmock_demo.ewd +1696 -0
- data/vendor/cmock/iar/iar_v4/cmock_demo.ewp +2581 -0
- data/vendor/cmock/iar/iar_v4/cmock_demo.eww +10 -0
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X-EK.h +61 -0
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.inc +2314 -0
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.rdf +4704 -0
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.tcl +3407 -0
- data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +2268 -0
- data/vendor/cmock/iar/iar_v4/incIAR/ioat91sam7x256.h +4380 -0
- data/vendor/cmock/iar/iar_v4/incIAR/lib_AT91SAM7X256.h +4211 -0
- data/vendor/cmock/iar/iar_v4/settings/cmock_demo.cspy.bat +32 -0
- data/vendor/cmock/iar/iar_v4/settings/cmock_demo.dbgdt +86 -0
- data/vendor/cmock/iar/iar_v4/settings/cmock_demo.dni +42 -0
- data/vendor/cmock/iar/iar_v4/settings/cmock_demo.wsdt +76 -0
- data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup.s79 +266 -0
- data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup_SAM7.c +98 -0
- data/vendor/cmock/iar/iar_v5/Resource/SAM7_FLASH.mac +71 -0
- data/vendor/cmock/iar/iar_v5/Resource/SAM7_RAM.mac +94 -0
- data/vendor/cmock/iar/iar_v5/Resource/SAM7_SIM.mac +67 -0
- data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_FLASH.icf +43 -0
- data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_RAM.icf +42 -0
- data/vendor/cmock/iar/iar_v5/cmock_demo.dep +4204 -0
- data/vendor/cmock/iar/iar_v5/cmock_demo.ewd +1906 -0
- data/vendor/cmock/iar/iar_v5/cmock_demo.ewp +2426 -0
- data/vendor/cmock/iar/iar_v5/cmock_demo.eww +26 -0
- data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X-EK.h +61 -0
- data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +2268 -0
- data/vendor/cmock/iar/iar_v5/incIAR/lib_AT91SAM7X256.h +4211 -0
- data/vendor/cmock/iar/iar_v5/incIAR/project.h +30 -0
- data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +33 -0
- data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.dbgdt +5 -0
- data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.dni +18 -0
- data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.wsdt +74 -0
- data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +12 -0
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo.cspy.bat +33 -0
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo.dbgdt +85 -0
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo.dni +44 -0
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo.wsdt +73 -0
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo_Binary.jlink +12 -0
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +12 -0
- data/vendor/cmock/iar/iar_v5/settings/cmock_demo_RAM_Debug.jlink +12 -0
- data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup.s +299 -0
- data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup_SAM7.c +98 -0
- data/vendor/cmock/rakefile.rb +111 -0
- data/vendor/cmock/rakefile_helper.rb +381 -0
- data/vendor/cmock/targets/gcc.yml +53 -0
- data/vendor/cmock/targets/iar_arm_v4.yml +108 -0
- data/vendor/cmock/targets/iar_arm_v5.yml +93 -0
- data/vendor/cmock/test/c/TestCMockC.c +280 -0
- data/vendor/cmock/test/c/TestCMockC.yml +12 -0
- data/vendor/cmock/test/c/TestCMockCDynamic.c +186 -0
- data/vendor/cmock/test/c/TestCMockCDynamic.yml +12 -0
- data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +35 -0
- data/vendor/cmock/test/c/TestCMockC_Runner.c +37 -0
- data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +25 -0
- data/vendor/cmock/test/spec/spec_helper.rb +12 -0
- data/vendor/cmock/test/system/systest_generator.rb +178 -0
- data/vendor/cmock/test/system/test_compilation/callingconv.h +11 -0
- data/vendor/cmock/test/system/test_compilation/config.yml +9 -0
- data/vendor/cmock/test/system/test_compilation/const.h +15 -0
- data/vendor/cmock/test/system/test_compilation/osek.h +275 -0
- data/vendor/cmock/test/system/test_compilation/parsing.h +47 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +341 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +382 -0
- data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +382 -0
- data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +123 -0
- data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +87 -0
- data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +247 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +108 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +173 -0
- data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +170 -0
- data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +208 -0
- data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +82 -0
- data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +153 -0
- data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +52 -0
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +91 -0
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +59 -0
- data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +222 -0
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +277 -0
- data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +221 -0
- data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +77 -0
- data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +139 -0
- data/vendor/cmock/test/test_helper.rb +44 -0
- data/vendor/cmock/test/unit/cmock_config_test.rb +121 -0
- data/vendor/cmock/test/unit/cmock_config_test.yml +5 -0
- data/vendor/cmock/test/unit/cmock_file_writer_test.rb +30 -0
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +413 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +114 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +190 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +94 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_test.rb +206 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +168 -0
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +291 -0
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +1247 -0
- data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +85 -0
- data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +223 -0
- data/vendor/cmock/vendor/behaviors/Manifest.txt +9 -0
- data/vendor/cmock/vendor/behaviors/Rakefile +19 -0
- data/vendor/cmock/vendor/behaviors/lib/behaviors.rb +76 -0
- data/vendor/cmock/vendor/behaviors/lib/behaviors/reporttask.rb +158 -0
- data/vendor/cmock/vendor/behaviors/test/behaviors_tasks_test.rb +73 -0
- data/vendor/cmock/vendor/behaviors/test/behaviors_test.rb +50 -0
- data/vendor/cmock/vendor/behaviors/test/tasks_test/Rakefile +19 -0
- data/vendor/cmock/vendor/behaviors/test/tasks_test/lib/user.rb +2 -0
- data/vendor/cmock/vendor/behaviors/test/tasks_test/test/user_test.rb +17 -0
- data/vendor/cmock/vendor/hardmock/CHANGES +78 -0
- data/vendor/cmock/vendor/hardmock/LICENSE +7 -0
- data/vendor/cmock/vendor/hardmock/README +70 -0
- data/vendor/cmock/vendor/hardmock/Rakefile +8 -0
- data/vendor/cmock/vendor/hardmock/config/environment.rb +12 -0
- data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +23 -0
- data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +14 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +86 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +22 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +229 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +9 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +26 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +33 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +180 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +53 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +210 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +31 -0
- data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +9 -0
- data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +169 -0
- data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +19 -0
- data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +4 -0
- data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +22 -0
- data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +52 -0
- data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +178 -0
- data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +396 -0
- data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +434 -0
- data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +479 -0
- data/vendor/cmock/vendor/hardmock/test/test_helper.rb +43 -0
- data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +19 -0
- data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +372 -0
- data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +57 -0
- data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +36 -0
- data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +175 -0
- data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +279 -0
- data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +452 -0
- data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +62 -0
- data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +40 -0
- data/vendor/unity/auto/generate_config.yml +36 -0
- data/vendor/unity/auto/unity_test_summary.rb +2 -2
- 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 +216 -0
- data/vendor/unity/docs/license.txt +31 -0
- data/vendor/unity/examples/helper/UnityHelper.c +10 -0
- data/vendor/unity/examples/helper/UnityHelper.h +12 -0
- data/vendor/unity/examples/makefile +40 -0
- data/vendor/unity/examples/rakefile.rb +32 -0
- data/vendor/unity/examples/rakefile_helper.rb +256 -0
- data/vendor/unity/examples/readme.txt +18 -0
- data/vendor/unity/examples/src/ProductionCode.c +24 -0
- data/vendor/unity/examples/src/ProductionCode.h +3 -0
- data/vendor/unity/examples/src/ProductionCode2.c +9 -0
- data/vendor/unity/examples/src/ProductionCode2.h +2 -0
- data/vendor/unity/examples/test/TestProductionCode.c +62 -0
- data/vendor/unity/examples/test/TestProductionCode2.c +31 -0
- data/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
- data/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
- data/vendor/unity/extras/fixture/build/MakefileWorker.mk +331 -0
- data/vendor/unity/extras/fixture/build/filterGcov.sh +61 -0
- data/vendor/unity/extras/fixture/rakefile.rb +37 -0
- data/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
- data/vendor/unity/extras/fixture/readme.txt +9 -0
- data/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
- data/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
- data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
- data/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
- data/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
- data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
- data/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
- data/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
- data/vendor/unity/makefile +35 -0
- data/vendor/unity/rakefile.rb +59 -0
- data/vendor/unity/rakefile_helper.rb +240 -0
- data/vendor/unity/release/version.info +1 -1
- data/vendor/unity/src/unity.c +1 -1
- data/vendor/unity/src/unity_internals.h +5 -5
- data/vendor/unity/targets/gcc_32.yml +44 -0
- data/vendor/unity/targets/hitech_picc18.yml +101 -0
- data/vendor/unity/targets/iar_arm_v4.yml +89 -0
- data/vendor/unity/targets/iar_arm_v5.yml +79 -0
- data/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
- data/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
- data/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
- data/vendor/unity/targets/iar_msp430.yml +94 -0
- data/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
- data/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
- data/vendor/unity/test/expectdata/testsample_def.c +50 -0
- data/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
- data/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
- data/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
- data/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
- data/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
- data/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
- data/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
- data/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
- data/vendor/unity/test/expectdata/testsample_new1.c +60 -0
- data/vendor/unity/test/expectdata/testsample_new2.c +63 -0
- data/vendor/unity/test/expectdata/testsample_param.c +51 -0
- data/vendor/unity/test/expectdata/testsample_run1.c +60 -0
- data/vendor/unity/test/expectdata/testsample_run2.c +63 -0
- data/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
- data/vendor/unity/test/test_generate_test_runner.rb +94 -0
- data/vendor/unity/test/testdata/mocksample.c +51 -0
- data/vendor/unity/test/testdata/sample.yml +9 -0
- data/vendor/unity/test/testdata/testsample.c +51 -0
- data/vendor/unity/test/testparameterized.c +101 -0
- data/vendor/unity/test/testunity.c +2559 -0
- metadata +464 -53
- data/.gitignore +0 -6
- data/.gitmodules +0 -9
- data/.rspec +0 -1
Binary file
|
Binary file
|
@@ -0,0 +1,356 @@
|
|
1
|
+
[All code is copyright © 2007-2010 Cmock Project
|
2
|
+
by Mike Karlesky, Mark VanderVoord, and Greg Williams.
|
3
|
+
|
4
|
+
This Documentation Is Released Under a Creative Commons 3.0
|
5
|
+
Attribution Share-Alike License]
|
6
|
+
|
7
|
+
|
8
|
+
What the What?
|
9
|
+
==============
|
10
|
+
|
11
|
+
CMock is a nice little tool which takes your header files and creates
|
12
|
+
a Mock interface for it so that you can more easily Unit test modules
|
13
|
+
that touch other modules. For each function prototype in your
|
14
|
+
header, like this one:
|
15
|
+
|
16
|
+
int DoesSomething(int a, int b);
|
17
|
+
|
18
|
+
|
19
|
+
...you get an automatically generated DoesSomething function
|
20
|
+
that you can link to instead of your real DoesSomething function.
|
21
|
+
By using this Mocked version, you can then verify that it receives
|
22
|
+
the data you want, and make it return whatever data you desire,
|
23
|
+
make it throw errors when you want, and more... Create these for
|
24
|
+
everything your latest real module touches, and you're suddenly
|
25
|
+
in a position of power: You can control and verify every detail
|
26
|
+
of your latest creation.
|
27
|
+
|
28
|
+
To make that easier, CMock also gives you a bunch of functions
|
29
|
+
like the ones below, so you can tell that generated DoesSomething
|
30
|
+
function how to behave for each test:
|
31
|
+
|
32
|
+
void DoesSomething_ExpectAndReturn(int a, int b, int toReturn);
|
33
|
+
void DoesSomething_ExpectAndThrow(int a, int b, EXCEPTION_T error);
|
34
|
+
void DoesSomething_StubWithCallback(CMOCK_DoesSomething_CALLBACK YourCallback);
|
35
|
+
void DoesSomething_IgnoreAndReturn(int toReturn);
|
36
|
+
|
37
|
+
|
38
|
+
You can pile a bunch of these back to back, and it remembers what
|
39
|
+
you wanted to pass when, like so:
|
40
|
+
|
41
|
+
test_CallsDoesSomething_ShouldDoJustThat(void)
|
42
|
+
{
|
43
|
+
DoesSomething_ExpectAndReturn(1,2,3);
|
44
|
+
DoesSomething_ExpectAndReturn(4,5,6);
|
45
|
+
DoesSomething_ExpectAndThrow(7,8, STATUS_ERROR_OOPS);
|
46
|
+
|
47
|
+
CallsDoesSomething( );
|
48
|
+
}
|
49
|
+
|
50
|
+
|
51
|
+
This test will call CallsDoesSomething, which is the function
|
52
|
+
we are testing. We are expecting that function to call DoesSomething
|
53
|
+
three times. The first time, we check to make sure it's called
|
54
|
+
as DoesSomething(1, 2) and we'll magically return a 3. The second
|
55
|
+
time we check for DoesSomething(4, 5) and we'll return a 6. The
|
56
|
+
third time we verify DoesSomething(7, 8) and we'll throw an error
|
57
|
+
instead of returning anything. If CallsDoesSomething gets
|
58
|
+
any of this wrong, it fails the test. It will fail if you didn't
|
59
|
+
call DoesSomething enough, or too much, or with the wrong arguments,
|
60
|
+
or in the wrong order.
|
61
|
+
|
62
|
+
CMock is based on Unity, which it uses for all internal testing.
|
63
|
+
It uses Ruby to do all the main work (versions 1.8.6 through 1.9.2).
|
64
|
+
|
65
|
+
|
66
|
+
Generated Mock Module Summary
|
67
|
+
=============================
|
68
|
+
|
69
|
+
In addition to the mocks themselves, CMock will generate the
|
70
|
+
following functions for use in your tests. The expect functions
|
71
|
+
are always generated. The other functions are only generated
|
72
|
+
if those plugins are enabled:
|
73
|
+
|
74
|
+
|
75
|
+
Expect:
|
76
|
+
-------
|
77
|
+
|
78
|
+
Your basic staple Expects which will be used for most of your day
|
79
|
+
to day CMock work.
|
80
|
+
|
81
|
+
* `void func(void)` => `void func_Expect(void)`
|
82
|
+
* `void func(params)` => `void func_Expect(expected_params)`
|
83
|
+
* `retval func(void)` => `void func_ExpectAndReturn(retval_to_return)`
|
84
|
+
* `retval func(params)` => `void func_ExpectAndReturn(expected_params, retval_to_return)`
|
85
|
+
|
86
|
+
|
87
|
+
Array:
|
88
|
+
------
|
89
|
+
|
90
|
+
An ExpectWithArray will check as many elements as you specify.
|
91
|
+
If you specify zero elements, it will check just the pointer if
|
92
|
+
`:smart` mode is configured or fail if `:compare_data` is set.
|
93
|
+
|
94
|
+
* `void func(void)` => (nothing. In fact, an additional function is only generated if the params list contains pointers)
|
95
|
+
* `void func(ptr * param, other)` => `void func_ExpectWithArray(ptr* param, int param_depth, other)`
|
96
|
+
* `retval func(void)` => (nothing. In fact, an additional function is only generated if the params list contains pointers)
|
97
|
+
* `retval func(other, ptr* param)` => `void func_ExpectWithArrayAndReturn(other, ptr* param, int param_depth, retval_to_return)`
|
98
|
+
|
99
|
+
|
100
|
+
Callback:
|
101
|
+
---------
|
102
|
+
|
103
|
+
As soon as you stub a callback in a test, it will call the callback
|
104
|
+
whenever the mock is encountered and return the retval returned
|
105
|
+
from the callback (if any) instead of performing the usual expect
|
106
|
+
checks. It can be configured to check the arguments first (like
|
107
|
+
expects) or just jump directly to the callback.
|
108
|
+
|
109
|
+
* `void func(void)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)`
|
110
|
+
where `CMOCK_func_CALLBACK` looks like: `void func(int NumCalls)`
|
111
|
+
* `void func(params)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)`
|
112
|
+
where `CMOCK_func_CALLBACK` looks like: `void func(params, int NumCalls)`
|
113
|
+
* `retval func(void)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)`
|
114
|
+
where `CMOCK_func_CALLBACK` looks like: `retval func(int NumCalls)`
|
115
|
+
* `retval func(params)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)`
|
116
|
+
where `CMOCK_func_CALLBACK` looks like: `retval func(params, int NumCalls)`
|
117
|
+
|
118
|
+
|
119
|
+
Cexception:
|
120
|
+
-----------
|
121
|
+
|
122
|
+
If you are using Cexception for error handling, you can use this
|
123
|
+
to throw errors from inside mocks. Like Expects, it remembers
|
124
|
+
which call was supposed to throw the error, and it still checks
|
125
|
+
parameters.
|
126
|
+
|
127
|
+
* `void func(void)` => `void func_ExpectAndThrow(value_to_throw)`
|
128
|
+
* `void func(params)` => `void func_ExpectAndThrow(expected_params, value_to_throw)`
|
129
|
+
* `retval func(void)` => `void func_ExpectAndThrow(value_to_throw)`
|
130
|
+
* `retval func(params)` => `void func_ExpectAndThrow(expected_params, value_to_throw)`
|
131
|
+
|
132
|
+
|
133
|
+
Ignore:
|
134
|
+
-------
|
135
|
+
|
136
|
+
This plugin supports two modes. You can use it to force CMock to
|
137
|
+
ignore calls to specific functions or to just ignore the arguments
|
138
|
+
passed to those functions. Either way you can specify multiple
|
139
|
+
returns or a single value to always return, whichever you prefer.
|
140
|
+
|
141
|
+
* `void func(void)` => `void func_Ignore(void)`
|
142
|
+
* `void func(params)` => `void func_Ignore(void)`
|
143
|
+
* `retval func(void)` => `void func_IgnoreAndReturn(retval_to_return)`
|
144
|
+
* `retval func(params)` => `void func_IgnoreAndReturn(retval_to_return)`
|
145
|
+
|
146
|
+
|
147
|
+
Running CMock
|
148
|
+
=============
|
149
|
+
|
150
|
+
CMock is a Ruby script and class. You can therefore use it directly
|
151
|
+
from the command line, or include it in your own scripts or rakefiles.
|
152
|
+
|
153
|
+
Mocking from the Command Line
|
154
|
+
-----------------------------
|
155
|
+
|
156
|
+
After unpacking CMock, you will find CMock.rb in the 'lib' directory.
|
157
|
+
This is the file that you want to run. It takes a list of header files
|
158
|
+
to be mocked, as well as an optional yaml file for a more detailed
|
159
|
+
configuration (see config options below).
|
160
|
+
|
161
|
+
For example, this will create three mocks using the configuration
|
162
|
+
specified in MyConfig.yml:
|
163
|
+
|
164
|
+
ruby cmock.rb -oMyConfig.yml super.h duper.h awesome.h
|
165
|
+
|
166
|
+
And this will create two mocks using the default configuration:
|
167
|
+
|
168
|
+
ruby cmock.rb ../mocking/stuff/is/fun.h ../try/it/yourself.h
|
169
|
+
|
170
|
+
Mocking From Scripts or Rake
|
171
|
+
----------------------------
|
172
|
+
|
173
|
+
CMock can be used directly from your own scripts or from a rakefile.
|
174
|
+
Start by including cmock.rb, then create an instance of CMock.
|
175
|
+
When you create your instance, you may initialize it in one of
|
176
|
+
three ways.
|
177
|
+
|
178
|
+
You may specify nothing, allowing it to run with default settings:
|
179
|
+
|
180
|
+
cmock = CMock.new
|
181
|
+
|
182
|
+
You may specify a YAML file containing the configuration options
|
183
|
+
you desire:
|
184
|
+
|
185
|
+
cmock = CMock.new('../MyConfig.yml')
|
186
|
+
|
187
|
+
You may specify the options explicitly:
|
188
|
+
|
189
|
+
cmock = Cmock.new(:plugins => [:cexception, :ignore], :mock_path => 'my/mocks/')
|
190
|
+
|
191
|
+
Config Options:
|
192
|
+
|
193
|
+
The following configuration options can be specified in the
|
194
|
+
yaml file or directly when instantiating.
|
195
|
+
|
196
|
+
Passed as Ruby, they look like this:
|
197
|
+
|
198
|
+
{ :attributes => [“__funky”, “__intrinsic”], :when_ptr => :compare }
|
199
|
+
|
200
|
+
Defined in the yaml file, they look more like this:
|
201
|
+
|
202
|
+
:cmock:
|
203
|
+
:attributes:
|
204
|
+
- __funky
|
205
|
+
- __intrinsic
|
206
|
+
:when_ptr: :compare
|
207
|
+
|
208
|
+
|
209
|
+
* `:attributes`:
|
210
|
+
These are attributes that CMock should ignore for you for testing
|
211
|
+
purposes. Custom compiler extensions and externs are handy things to
|
212
|
+
put here.
|
213
|
+
|
214
|
+
* `:callback_after_arg_check`:
|
215
|
+
Tell `:callback` plugin to do the normal argument checking before it
|
216
|
+
calls the callback function. This defaults to false, where the
|
217
|
+
callback function is called instead of the argument verification.
|
218
|
+
|
219
|
+
* `:callback_include_count`:
|
220
|
+
Tell `:callback` plugin to include an extra parameter to specify the
|
221
|
+
number of times the callback has been called. If set to false, the
|
222
|
+
callback has the same interface as the mocked function. This can be
|
223
|
+
handy when you're wanting to use callback as a stub.
|
224
|
+
|
225
|
+
* `:cexception_include`:
|
226
|
+
Tell `:cexception` plugin where to find CException.h... only need to
|
227
|
+
define if it's not in your build path already.
|
228
|
+
|
229
|
+
* `:enforce_strict_ordering`:
|
230
|
+
CMock always enforces the order that you call a particular function,
|
231
|
+
so if you expect GrabNabber(int size) to be called three times, it
|
232
|
+
will verify that the sizes are in the order you specified. You might
|
233
|
+
also want to make sure that all different functions are called in a
|
234
|
+
particular order. If so, set this to true.
|
235
|
+
|
236
|
+
* `:framework`:
|
237
|
+
Currently the only option is `:unity.` Eventually if we support other
|
238
|
+
unity test frameworks (or if you write one for us), they'll get added
|
239
|
+
here.
|
240
|
+
|
241
|
+
* `:ignore`:
|
242
|
+
Tell `:ignore` plugin to ignore `:args_only` or `:args_and_calls`
|
243
|
+
(default) where it doesn't even care how many times the mock was
|
244
|
+
called
|
245
|
+
|
246
|
+
* `:includes`:
|
247
|
+
An array of additional include files which should be added to the
|
248
|
+
mocks. Useful for global types and definitions used in your project.
|
249
|
+
There are more specific versions if you care WHERE in the mock files
|
250
|
+
the includes get placed. You can define any or all of
|
251
|
+
`:includes_h_pre_orig_header,` `:includes_h_post_orig_header, `
|
252
|
+
`:includes_c_pre_header,` `:includes_c_post_header
|
253
|
+
|
254
|
+
* `:memcmp_if_unknown`:
|
255
|
+
This is true by default. When true, CMock will just do a memory
|
256
|
+
comparison of types that it doesn't recognize (not standard types, not
|
257
|
+
in `:treat_as,` and not in a unity helper). If you instead want it to
|
258
|
+
throw an error, just set this to false.
|
259
|
+
|
260
|
+
* `:mock_path`:
|
261
|
+
The directory where you would like the mock files generated to be
|
262
|
+
placed.
|
263
|
+
|
264
|
+
* `:mock_prefix`:
|
265
|
+
The prefix to append to your mock files. Defaults to “Mock”, so a file
|
266
|
+
“USART.h” will get a mock called “MockUSART.c”
|
267
|
+
|
268
|
+
* `:plugins`:
|
269
|
+
An array of which plugins to enable. 'expect' is always active. Also
|
270
|
+
available currently are `:ignore,` `:array,` `:cexception,` and
|
271
|
+
`:callback:
|
272
|
+
|
273
|
+
* `:treat_as`:
|
274
|
+
The `:treat_as` list is a shortcut for when you have created typedefs
|
275
|
+
of standard types. Why create a custom unity helper for UINT16 when
|
276
|
+
the unity function TEST_ASSERT_EQUAL_HEX16 will work just perfectly?
|
277
|
+
Just add 'UINT16' => 'HEX16' to your list (actually, don't. We already
|
278
|
+
did that one for you). Maybe you have a type that is a pointer to an
|
279
|
+
array of unsigned characters? No problem, just add 'UINT8_T*' =>
|
280
|
+
'HEX8*'
|
281
|
+
|
282
|
+
* `:treat_as_void`:
|
283
|
+
We've seen "fun" legacy systems typedef 'void' with a custom type,
|
284
|
+
like MY_VOID. Add any instances of those to this list to help CMock
|
285
|
+
understand how to deal with your code.
|
286
|
+
|
287
|
+
* `:treat_externs`:
|
288
|
+
Set to `:include` to mock externed functions or `:exclude` to ignore
|
289
|
+
them (the default).
|
290
|
+
|
291
|
+
* `:unity_helper_path`:
|
292
|
+
If you have created a header with your own extensions to unity to
|
293
|
+
handle your own types, you can set this argument to that path. CMock
|
294
|
+
will then automagically pull in your helpers and use them. The only
|
295
|
+
trick is that you make sure you follow the naming convention:
|
296
|
+
UNITY_TEST_ASSERT_EQUAL_YourType
|
297
|
+
|
298
|
+
* `:verbosity`:
|
299
|
+
0 for errors only. 1 for errors and warnings. 2 for normal. 3 for
|
300
|
+
verbose
|
301
|
+
|
302
|
+
* `:when_no_prototypes`:
|
303
|
+
When you give CMock a header file and ask it to create a mock out of
|
304
|
+
it, it usually contains function prototypes (otherwise what was the
|
305
|
+
point?). You can control what happens when this isn't true. You can
|
306
|
+
set this to `:warn,` `:ignore,` or `:error
|
307
|
+
|
308
|
+
* `:when_ptr`:
|
309
|
+
You can customize how CMock deals with pointers (c strings result in
|
310
|
+
string comparisons... we're talking about other pointers here). Your
|
311
|
+
options are `:compare_ptr` to just verify the pointers are the same,
|
312
|
+
`:compare_data` or `:smart` to verify that the data is the same.
|
313
|
+
`:compare_data` and `:smart` behaviors will change slightly based on
|
314
|
+
if you have the array plugin enabled. By default, they compare a
|
315
|
+
single element of what is being pointed to. So if you have a pointer
|
316
|
+
to a struct called ORGAN_T, it will compare one ORGAN_T (whatever that
|
317
|
+
is).
|
318
|
+
|
319
|
+
|
320
|
+
Compiled Options:
|
321
|
+
-----------------
|
322
|
+
|
323
|
+
A number of #defines also exist for customizing the cmock experience.
|
324
|
+
|
325
|
+
CMOCK_MEM_STATIC or CMOCK_MEM_DYNAMIC
|
326
|
+
|
327
|
+
Define one of these to determine if you want to dynamically add
|
328
|
+
memory during tests as required from the heap. If static, you
|
329
|
+
can control the total footprint of Cmock. If dynamic, you will
|
330
|
+
need to make sure you make some heap space available for Cmock.
|
331
|
+
|
332
|
+
CMOCK_MEM_SIZE
|
333
|
+
|
334
|
+
In static mode this is the total amount of memory you are allocating
|
335
|
+
to Cmock. In Dynamic mode this is the size of each chunk allocated
|
336
|
+
at once (larger numbers grab more memory but require less mallocs).
|
337
|
+
|
338
|
+
CMOCK_MEM_ALIGN
|
339
|
+
|
340
|
+
The way to align your data to. Not everything is as flexible as
|
341
|
+
a PC, as most embedded designers know. This defaults to 2, meaning
|
342
|
+
align to the closest 2^2 -> 4 bytes (32 bits). You can turn off alignment
|
343
|
+
by setting 0, force alignment to the closest uint16 with 1 or even
|
344
|
+
to the closest uint64 with 3.
|
345
|
+
|
346
|
+
CMOCK_MEM_PTR_AS_INT
|
347
|
+
|
348
|
+
This is used internally to hold pointers... it needs to be big
|
349
|
+
enough. On most processors a pointer is the same as an unsigned
|
350
|
+
long... but maybe that's not true for yours?
|
351
|
+
|
352
|
+
CMOCK_MEM_INDEX_TYPE
|
353
|
+
|
354
|
+
This needs to be something big enough to point anywhere in Cmock's
|
355
|
+
memory space... usually it's an unsigned int.
|
356
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person
|
4
|
+
obtaining a copy of this software and associated documentation
|
5
|
+
files (the "Software"), to deal in the Software without
|
6
|
+
restriction, including without limitation the rights to use,
|
7
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
+
copies of the Software, and to permit persons to whom the
|
9
|
+
Software is furnished to do so, subject to the following
|
10
|
+
conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be
|
13
|
+
included in all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
The end-user documentation included with the redistribution, if
|
16
|
+
any, must include the following acknowledgment: "This product
|
17
|
+
includes software developed for the CMock Project, by Mike Karlesky,
|
18
|
+
Mark VanderVoord, and Greg Williams and other contributors", in
|
19
|
+
the same place and form as other third-party acknowledgments.
|
20
|
+
Alternately, this acknowledgment may appear in the software
|
21
|
+
itself, in the same form and location as other such third-party
|
22
|
+
acknowledgments.
|
23
|
+
|
24
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
25
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
26
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
27
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
28
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
29
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
30
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
31
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1,43 @@
|
|
1
|
+
compiler:
|
2
|
+
path: gcc
|
3
|
+
source_path: 'src/'
|
4
|
+
unit_tests_path: &unit_tests_path 'test/'
|
5
|
+
build_path: &build_path 'build/'
|
6
|
+
options:
|
7
|
+
- -c
|
8
|
+
includes:
|
9
|
+
prefix: '-I'
|
10
|
+
items:
|
11
|
+
- 'src/'
|
12
|
+
- '../src/'
|
13
|
+
- '../vendor/unity/src/'
|
14
|
+
- '../vendor/unity/examples/helper/'
|
15
|
+
- 'mocks/'
|
16
|
+
- *unit_tests_path
|
17
|
+
defines:
|
18
|
+
prefix: '-D'
|
19
|
+
items:
|
20
|
+
- __monitor
|
21
|
+
object_files:
|
22
|
+
prefix: '-o'
|
23
|
+
extension: '.o'
|
24
|
+
destination: *build_path
|
25
|
+
linker:
|
26
|
+
path: gcc
|
27
|
+
options:
|
28
|
+
- -lm
|
29
|
+
includes:
|
30
|
+
prefix: '-I'
|
31
|
+
object_files:
|
32
|
+
path: *build_path
|
33
|
+
extension: '.o'
|
34
|
+
bin_files:
|
35
|
+
prefix: '-o'
|
36
|
+
extension: '.exe'
|
37
|
+
destination: *build_path
|
38
|
+
:cmock:
|
39
|
+
:plugins: []
|
40
|
+
:includes:
|
41
|
+
- Types.h
|
42
|
+
|
43
|
+
colour: true
|
@@ -0,0 +1,91 @@
|
|
1
|
+
tools_root: &tools_root 'C:\Program Files\IAR Systems\Embedded Workbench 4.0 Kickstart\'
|
2
|
+
compiler:
|
3
|
+
path: [*tools_root, 'arm\bin\iccarm.exe']
|
4
|
+
source_path: 'src\'
|
5
|
+
unit_tests_path: &unit_tests_path 'test\'
|
6
|
+
build_path: &build_path 'build\'
|
7
|
+
options:
|
8
|
+
- --dlib_config
|
9
|
+
- [*tools_root, 'arm\lib\dl4tptinl8n.h']
|
10
|
+
- -z3
|
11
|
+
- --no_cse
|
12
|
+
- --no_unroll
|
13
|
+
- --no_inline
|
14
|
+
- --no_code_motion
|
15
|
+
- --no_tbaa
|
16
|
+
- --no_clustering
|
17
|
+
- --no_scheduling
|
18
|
+
- --debug
|
19
|
+
- --cpu_mode thumb
|
20
|
+
- --endian little
|
21
|
+
- --cpu ARM7TDMI
|
22
|
+
- --stack_align 4
|
23
|
+
- --interwork
|
24
|
+
- -e
|
25
|
+
- --silent
|
26
|
+
- --warnings_are_errors
|
27
|
+
- --fpu None
|
28
|
+
- --diag_suppress Pa050
|
29
|
+
includes:
|
30
|
+
prefix: '-I'
|
31
|
+
items:
|
32
|
+
- 'src/'
|
33
|
+
- '../src/'
|
34
|
+
- '../vendor/unity/src/'
|
35
|
+
- '../vendor/unity/examples/helper/'
|
36
|
+
- 'mocks/'
|
37
|
+
- [*tools_root, 'arm\inc\']
|
38
|
+
- *unit_tests_path
|
39
|
+
defines:
|
40
|
+
prefix: '-D'
|
41
|
+
items:
|
42
|
+
object_files:
|
43
|
+
prefix: '-o'
|
44
|
+
extension: '.r79'
|
45
|
+
destination: *build_path
|
46
|
+
linker:
|
47
|
+
path: [*tools_root, 'common\bin\xlink.exe']
|
48
|
+
options:
|
49
|
+
- -rt
|
50
|
+
- [*tools_root, 'arm\lib\dl4tptinl8n.r79']
|
51
|
+
- -D_L_EXTMEM_START=0
|
52
|
+
- -D_L_EXTMEM_SIZE=0
|
53
|
+
- -D_L_HEAP_SIZE=120
|
54
|
+
- -D_L_STACK_SIZE=32
|
55
|
+
- -e_small_write=_formatted_write
|
56
|
+
- -s
|
57
|
+
- __program_start
|
58
|
+
- -f
|
59
|
+
- [*tools_root, '\arm\config\lnkarm.xcl']
|
60
|
+
includes:
|
61
|
+
prefix: '-I'
|
62
|
+
items:
|
63
|
+
- [*tools_root, 'arm\config\']
|
64
|
+
- [*tools_root, 'arm\lib\']
|
65
|
+
object_files:
|
66
|
+
path: *build_path
|
67
|
+
extension: '.r79'
|
68
|
+
bin_files:
|
69
|
+
prefix: '-o'
|
70
|
+
extension: '.d79'
|
71
|
+
destination: *build_path
|
72
|
+
simulator:
|
73
|
+
path: [*tools_root, 'common\bin\CSpyBat.exe']
|
74
|
+
pre_support:
|
75
|
+
- --silent
|
76
|
+
- [*tools_root, 'arm\bin\armproc.dll']
|
77
|
+
- [*tools_root, 'arm\bin\armsim.dll']
|
78
|
+
post_support:
|
79
|
+
- --plugin
|
80
|
+
- [*tools_root, 'arm\bin\armbat.dll']
|
81
|
+
- --backend
|
82
|
+
- -B
|
83
|
+
- -p
|
84
|
+
- [*tools_root, 'arm\config\ioat91sam7X256.ddf']
|
85
|
+
- -d
|
86
|
+
- sim
|
87
|
+
:cmock:
|
88
|
+
:plugins: []
|
89
|
+
:includes:
|
90
|
+
- Types.h
|
91
|
+
|