ceedling 0.19.0 → 0.20.2
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/Rakefile +10 -10
- data/bin/ceedling +205 -92
- data/ceedling-0.19.0.gem +0 -0
- data/config/test_environment.rb +12 -12
- data/docs/CeedlingPacket.md +866 -853
- data/docs/CeedlingPacket.odt +0 -0
- data/docs/CeedlingPacket.pdf +0 -0
- data/examples/temp_sensor/rakefile.rb +4 -4
- data/examples/temp_sensor/src/AdcConductor.c +42 -42
- data/examples/temp_sensor/src/AdcConductor.h +13 -13
- data/examples/temp_sensor/src/AdcHardware.c +27 -27
- data/examples/temp_sensor/src/AdcHardware.h +11 -11
- data/examples/temp_sensor/src/AdcHardwareConfigurator.c +18 -18
- data/examples/temp_sensor/src/AdcHardwareConfigurator.h +10 -10
- data/examples/temp_sensor/src/AdcModel.c +33 -33
- data/examples/temp_sensor/src/AdcModel.h +13 -13
- data/examples/temp_sensor/src/AdcTemperatureSensor.c +51 -51
- data/examples/temp_sensor/src/AdcTemperatureSensor.h +10 -10
- data/examples/temp_sensor/src/Executor.c +25 -25
- data/examples/temp_sensor/src/Executor.h +9 -9
- data/examples/temp_sensor/src/IntrinsicsWrapper.c +18 -18
- data/examples/temp_sensor/src/IntrinsicsWrapper.h +7 -7
- data/examples/temp_sensor/src/Main.c +46 -46
- data/examples/temp_sensor/src/Main.h +7 -7
- data/examples/temp_sensor/src/Model.c +10 -10
- data/examples/temp_sensor/src/Model.h +8 -8
- data/examples/temp_sensor/src/ModelConfig.h +7 -7
- data/examples/temp_sensor/src/TaskScheduler.c +72 -72
- data/examples/temp_sensor/src/TaskScheduler.h +11 -11
- data/examples/temp_sensor/src/TemperatureCalculator.c +27 -27
- data/examples/temp_sensor/src/TemperatureCalculator.h +8 -8
- data/examples/temp_sensor/src/TemperatureFilter.c +38 -38
- data/examples/temp_sensor/src/TemperatureFilter.h +10 -10
- data/examples/temp_sensor/src/TimerConductor.c +15 -15
- data/examples/temp_sensor/src/TimerConductor.h +9 -9
- data/examples/temp_sensor/src/TimerConfigurator.c +51 -51
- data/examples/temp_sensor/src/TimerConfigurator.h +15 -15
- data/examples/temp_sensor/src/TimerHardware.c +15 -15
- data/examples/temp_sensor/src/TimerHardware.h +8 -8
- data/examples/temp_sensor/src/TimerInterruptConfigurator.c +55 -55
- data/examples/temp_sensor/src/TimerInterruptConfigurator.h +13 -13
- data/examples/temp_sensor/src/TimerInterruptHandler.c +25 -25
- data/examples/temp_sensor/src/TimerInterruptHandler.h +10 -10
- data/examples/temp_sensor/src/TimerModel.c +9 -9
- data/examples/temp_sensor/src/TimerModel.h +8 -8
- data/examples/temp_sensor/src/Types.h +90 -90
- data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +18 -18
- data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +8 -8
- data/examples/temp_sensor/src/UsartConductor.c +21 -21
- data/examples/temp_sensor/src/UsartConductor.h +7 -7
- data/examples/temp_sensor/src/UsartConfigurator.c +39 -39
- data/examples/temp_sensor/src/UsartConfigurator.h +13 -13
- data/examples/temp_sensor/src/UsartHardware.c +22 -22
- data/examples/temp_sensor/src/UsartHardware.h +9 -9
- data/examples/temp_sensor/src/UsartModel.c +34 -34
- data/examples/temp_sensor/src/UsartModel.h +10 -10
- data/examples/temp_sensor/src/UsartPutChar.c +16 -16
- data/examples/temp_sensor/src/UsartPutChar.h +8 -8
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +7 -7
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +8 -8
- data/examples/temp_sensor/test/TestAdcConductor.c +121 -121
- data/examples/temp_sensor/test/TestAdcHardware.c +44 -44
- data/examples/temp_sensor/test/TestAdcModel.c +33 -33
- data/examples/temp_sensor/test/TestExecutor.c +36 -36
- data/examples/temp_sensor/test/TestMain.c +24 -24
- data/examples/temp_sensor/test/TestModel.c +20 -20
- data/examples/temp_sensor/test/TestTaskScheduler.c +104 -104
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +33 -33
- data/examples/temp_sensor/test/TestTemperatureFilter.c +79 -79
- data/examples/temp_sensor/test/TestTimerConductor.c +32 -32
- data/examples/temp_sensor/test/TestTimerHardware.c +26 -26
- data/examples/temp_sensor/test/TestTimerModel.c +18 -18
- data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +21 -21
- data/examples/temp_sensor/test/TestUsartConductor.c +40 -40
- data/examples/temp_sensor/test/TestUsartHardware.c +36 -36
- data/examples/temp_sensor/test/TestUsartModel.c +36 -36
- data/examples/temp_sensor/test/support/UnityHelper.c +12 -12
- data/examples/temp_sensor/test/support/UnityHelper.h +12 -12
- data/lib/ceedling/configurator_builder.rb +1 -1
- data/lib/ceedling/tasks_base.rake +10 -2
- data/lib/ceedling/tool_executor.rb +3 -0
- data/lib/ceedling/version.rb +3 -3
- data/license.txt +1 -1
- data/plugins/bullseye/bullseye.rake +162 -162
- data/plugins/gcov/gcov.rake +152 -152
- data/plugins/module_generator/lib/module_generator.rb +145 -145
- data/plugins/module_generator/module_generator.rake +14 -14
- data/plugins/stdout_gtestlike_tests_report/assets/template.erb +84 -0
- data/plugins/stdout_gtestlike_tests_report/assets/template.erb copy +59 -0
- data/plugins/stdout_gtestlike_tests_report/config/stdout_gtestlike_tests_report.yml +4 -0
- data/plugins/stdout_gtestlike_tests_report/lib/stdout_gtestlike_tests_report.rb +43 -0
- data/spec/system/deployment_spec.rb +0 -1
- data/test_graveyard/integration/paths_test.rb +80 -80
- data/test_graveyard/integration/rake_rules_aux_dependencies_test.rb +75 -75
- data/test_graveyard/integration/rake_rules_cmock_test.rb +74 -74
- data/test_graveyard/integration/rake_rules_preprocess_test.rb +178 -178
- data/test_graveyard/integration/rake_rules_test.rb +268 -268
- data/test_graveyard/integration/rake_tasks_test.rb +103 -103
- data/test_graveyard/integration_test_helper.rb +34 -34
- data/test_graveyard/rakefile_rules.rb +10 -10
- data/test_graveyard/rakefile_rules_aux_dependencies.rb +10 -10
- data/test_graveyard/rakefile_rules_cmock.rb +10 -10
- data/test_graveyard/rakefile_rules_preprocess.rb +10 -10
- data/test_graveyard/rakefile_tasks.rb +10 -10
- data/test_graveyard/system/file_system_test.rb +78 -78
- data/test_graveyard/system/project_mocks_test.rb +38 -38
- data/test_graveyard/system/project_simple_test.rb +39 -39
- data/test_graveyard/system/rule_mocks_test.rb +44 -44
- data/test_graveyard/system/rule_runners_test.rb +44 -44
- data/test_graveyard/system_test_helper.rb +73 -73
- data/test_graveyard/test_helper.rb +93 -93
- data/test_graveyard/unit/busted/configurator_builder_test.rb +569 -569
- data/test_graveyard/unit/busted/configurator_helper_test.rb +234 -234
- data/test_graveyard/unit/busted/configurator_test.rb +232 -232
- data/test_graveyard/unit/busted/configurator_validator_test.rb +169 -169
- data/test_graveyard/unit/busted/deep_merge_fix_test.rb +55 -55
- data/test_graveyard/unit/busted/dependinator_test.rb +129 -129
- data/test_graveyard/unit/busted/file_finder_helper_test.rb +45 -45
- data/test_graveyard/unit/busted/file_finder_test.rb +114 -114
- data/test_graveyard/unit/busted/file_path_utils_test.rb +97 -97
- data/test_graveyard/unit/busted/file_system_utils_test.rb +21 -21
- data/test_graveyard/unit/busted/generator_test.rb +187 -187
- data/test_graveyard/unit/busted/generator_test_results_test.rb +129 -129
- data/test_graveyard/unit/busted/generator_test_runner_test.rb +475 -475
- data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +39 -39
- data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +156 -156
- data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +93 -93
- data/test_graveyard/unit/busted/preprocessinator_test.rb +57 -57
- data/test_graveyard/unit/busted/project_file_loader_test.rb +142 -142
- data/test_graveyard/unit/busted/setupinator_test.rb +45 -45
- data/test_graveyard/unit/busted/streaminator_test.rb +49 -49
- data/test_graveyard/unit/busted/task_invoker_test.rb +69 -69
- data/test_graveyard/unit/busted/test_includes_extractor_test.rb +111 -111
- data/test_graveyard/unit/busted/test_invoker_helper_test.rb +62 -62
- data/test_graveyard/unit/busted/test_invoker_test.rb +47 -47
- data/test_graveyard/unit/busted/tool_executor_helper_test.rb +100 -100
- data/test_graveyard/unit/busted/tool_executor_test.rb +351 -351
- data/test_graveyard/unit/busted/verbosinator_test.rb +65 -65
- data/test_graveyard/unit/preprocessinator_extractor_test.rb +731 -731
- data/test_graveyard/unit_test_helper.rb +16 -16
- data/vendor/c_exception/LICENSE.txt +30 -30
- data/vendor/c_exception/README.md +11 -1
- data/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
- data/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
- data/vendor/c_exception/docs/readme.txt +261 -242
- data/vendor/c_exception/lib/CException.c +46 -46
- data/vendor/c_exception/lib/CException.h +110 -86
- data/vendor/c_exception/makefile +23 -23
- data/vendor/c_exception/test/CExceptionConfig.h +46 -46
- data/vendor/c_exception/test/TestException.c +391 -342
- data/vendor/c_exception/test/TestException_Runner.c +5 -12
- data/vendor/c_exception/vendor/unity/README.md +211 -0
- data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +1 -1
- data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +38 -38
- data/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -36
- data/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -202
- data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +391 -320
- data/vendor/c_exception/vendor/unity/auto/parseOutput.rb +2 -0
- data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +260 -0
- data/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +8 -0
- data/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +135 -0
- data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +148 -139
- 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 +224 -216
- data/vendor/c_exception/vendor/unity/docs/license.txt +21 -31
- data/vendor/c_exception/vendor/unity/examples/example_1/makefile +40 -15
- data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -0
- data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +32 -25
- data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +29 -22
- data/vendor/c_exception/vendor/unity/examples/example_2/makefile +40 -14
- data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +2 -0
- data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +2 -2
- data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -1
- data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +2 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +48 -37
- data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -179
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +135 -94
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +13 -17
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -18
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +30 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +60 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +4 -3
- data/vendor/c_exception/vendor/unity/extras/fixture/test/{testunity_fixture.c → template_fixture_tests.c} +0 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +182 -27
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +13 -0
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +8 -6
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +2 -2
- data/vendor/c_exception/vendor/unity/release/build.info +1 -1
- data/vendor/c_exception/vendor/unity/release/version.info +1 -1
- data/vendor/c_exception/vendor/unity/src/unity.c +1333 -1145
- data/vendor/c_exception/vendor/unity/src/unity.h +290 -307
- data/vendor/c_exception/vendor/unity/src/unity_internals.h +758 -620
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +7 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +7 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +55 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +15 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +4 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +4 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +13 -0
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +4 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +4 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +4 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -6
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +9 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +7 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +7 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +9 -5
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +7 -3
- data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +10 -6
- data/vendor/c_exception/vendor/unity/{rakefile.rb → test/rakefile} +60 -61
- data/vendor/c_exception/vendor/unity/{rakefile_helper.rb → test/rakefile_helper.rb} +255 -249
- data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +83 -0
- data/vendor/c_exception/vendor/unity/{targets → test/targets}/clang_strict.yml +83 -83
- data/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +49 -0
- data/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +50 -0
- data/vendor/c_exception/vendor/unity/{targets/gcc_64.yml → test/targets/gcc_auto_limits.yml} +46 -45
- data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +47 -0
- data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +58 -0
- data/vendor/{cmock/vendor/c_exception/vendor/unity/targets/gcc_64.yml → c_exception/vendor/unity/test/targets/gcc_manual_math.yml} +46 -45
- data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/hitech_picc18.yml +101 -101
- data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/iar_arm_v4.yml +89 -89
- data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/iar_arm_v5.yml +79 -79
- data/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_arm_v5_3.yml +79 -79
- data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -93
- data/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_cortexm3_v5.yml +83 -83
- data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/iar_msp430.yml +94 -94
- data/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_sh2a_v6.yml +85 -85
- data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -51
- data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +8 -8
- data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +68 -51
- data/vendor/{cmock/vendor/c_exception/vendor/unity/test → c_exception/vendor/unity/test/tests}/test_generate_test_runner.rb +102 -88
- data/vendor/{cmock/vendor/c_exception/vendor/unity/test → c_exception/vendor/unity/test/tests}/testparameterized.c +104 -101
- data/vendor/c_exception/vendor/unity/test/{testunity.c → tests/testunity.c} +3682 -3447
- data/vendor/cmock/docs/CMock_Summary.md +3 -0
- data/vendor/cmock/lib/cmock_config.rb +1 -0
- data/vendor/cmock/lib/cmock_file_writer.rb +7 -3
- data/vendor/cmock/lib/cmock_generator.rb +3 -2
- data/vendor/cmock/lib/cmock_header_parser.rb +12 -5
- data/vendor/cmock/release/version.info +1 -1
- data/vendor/cmock/test/system/test_compilation/parsing.h +3 -0
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +7 -0
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +57 -1
- data/vendor/cmock/vendor/c_exception/LICENSE.txt +30 -30
- data/vendor/cmock/vendor/c_exception/README.md +11 -1
- 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 +261 -242
- data/vendor/cmock/vendor/c_exception/lib/CException.c +46 -46
- data/vendor/cmock/vendor/c_exception/lib/CException.h +110 -86
- data/vendor/cmock/vendor/c_exception/makefile +23 -23
- data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +46 -46
- data/vendor/cmock/vendor/c_exception/test/TestException.c +391 -342
- data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +5 -12
- data/vendor/cmock/vendor/c_exception/vendor/unity/README.md +211 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +38 -38
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -36
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -202
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +391 -320
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parseOutput.rb +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +260 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +8 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +135 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +148 -139
- 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 +224 -216
- data/vendor/cmock/vendor/c_exception/vendor/unity/docs/license.txt +21 -31
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +40 -15
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +32 -25
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +29 -22
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +40 -14
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +2 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +2 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +48 -37
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -179
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +135 -94
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +13 -17
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -18
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +30 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +60 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +4 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/{testunity_fixture.c → template_fixture_tests.c} +0 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +182 -27
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +13 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +8 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +2 -2
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +1333 -1145
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +290 -307
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +758 -620
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +7 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +7 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +55 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +15 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +4 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +4 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +13 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +4 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +4 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +4 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +9 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +7 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +7 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +9 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +7 -3
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +10 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/{rakefile.rb → test/rakefile} +60 -61
- data/vendor/cmock/vendor/c_exception/vendor/unity/{rakefile_helper.rb → test/rakefile_helper.rb} +255 -249
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +83 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/{targets → test/targets}/clang_strict.yml +83 -83
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +49 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +50 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/{targets/gcc_32.yml → test/targets/gcc_auto_limits.yml} +46 -44
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +47 -0
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +58 -0
- data/vendor/{c_exception/vendor/unity/targets/gcc_32.yml → cmock/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml} +46 -44
- data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/hitech_picc18.yml +101 -101
- data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/iar_arm_v4.yml +89 -89
- data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/iar_arm_v5.yml +79 -79
- data/vendor/cmock/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_arm_v5_3.yml +79 -79
- data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -93
- data/vendor/cmock/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_cortexm3_v5.yml +83 -83
- data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/iar_msp430.yml +94 -94
- data/vendor/cmock/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_sh2a_v6.yml +85 -85
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -51
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/sample.yml +8 -8
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testsample.c +68 -51
- data/vendor/{c_exception/vendor/unity/test → cmock/vendor/c_exception/vendor/unity/test/tests}/test_generate_test_runner.rb +102 -88
- data/vendor/{c_exception/vendor/unity/test → cmock/vendor/c_exception/vendor/unity/test/tests}/testparameterized.c +104 -101
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/{testunity.c → tests/testunity.c} +3682 -3447
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +30 -13
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +260 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +96 -93
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -19
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +18 -17
- data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +66 -5
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +2 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/{testunity_fixture.c → template_fixture_tests.c} +0 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +187 -27
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +14 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +6 -5
- data/vendor/cmock/vendor/unity/release/version.info +1 -1
- data/vendor/cmock/vendor/unity/src/unity.c +38 -27
- data/vendor/cmock/vendor/unity/src/unity.h +5 -0
- data/vendor/cmock/vendor/unity/src/unity_internals.h +22 -18
- data/vendor/cmock/vendor/unity/test/Makefile +52 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +4 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +4 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +4 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.h +7 -4
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.h +6 -4
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +4 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +4 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +4 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +4 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +4 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +4 -0
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +1 -1
- data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -1
- data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +0 -1
- data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -1
- data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -1
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +0 -1
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_sizeof.yml +0 -1
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -1
- data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +0 -1
- data/vendor/cmock/vendor/unity/test/testdata/testsample.c +19 -2
- data/vendor/cmock/vendor/unity/test/tests/testunity.c +55 -4
- data/vendor/unity/auto/generate_test_runner.rb +4 -2
- data/vendor/unity/auto/stylize_as_junit.rb +260 -0
- data/vendor/unity/extras/fixture/src/unity_fixture.c +24 -41
- data/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +5 -7
- data/vendor/unity/extras/fixture/test/Makefile +53 -8
- data/vendor/unity/extras/fixture/test/{testunity_fixture.c → template_fixture_tests.c} +0 -0
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +129 -32
- data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -0
- data/vendor/unity/extras/fixture/test/unity_output_Spy.c +4 -4
- data/vendor/unity/release/version.info +1 -1
- data/vendor/unity/src/unity.c +32 -21
- data/vendor/unity/src/unity.h +5 -0
- data/vendor/unity/src/unity_internals.h +7 -3
- data/vendor/unity/test/Makefile +52 -0
- data/vendor/unity/test/expectdata/testsample_cmd.c +4 -0
- data/vendor/unity/test/expectdata/testsample_def.c +4 -0
- data/vendor/unity/test/expectdata/testsample_head1.c +4 -0
- data/vendor/unity/test/expectdata/testsample_head1.h +7 -4
- data/vendor/unity/test/expectdata/testsample_mock_head1.h +6 -4
- data/vendor/unity/test/expectdata/testsample_new1.c +4 -0
- data/vendor/unity/test/expectdata/testsample_new2.c +4 -0
- data/vendor/unity/test/expectdata/testsample_param.c +4 -0
- data/vendor/unity/test/expectdata/testsample_run1.c +4 -0
- data/vendor/unity/test/expectdata/testsample_run2.c +4 -0
- data/vendor/unity/test/expectdata/testsample_yaml.c +4 -0
- data/vendor/unity/test/testdata/testsample.c +19 -2
- data/vendor/unity/test/tests/testunity.c +35 -4
- metadata +75 -52
- data/ceedling-0.18.0.gem +0 -0
- data/docs/CeedlingLogo.png +0 -0
- data/vendor/c_exception/vendor/unity/Gemfile +0 -4
- data/vendor/c_exception/vendor/unity/Gemfile.lock +0 -12
- data/vendor/c_exception/vendor/unity/examples/example_3/makefile +0 -41
- data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +0 -46
- data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +0 -50
- data/vendor/c_exception/vendor/unity/makefile +0 -37
- data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile +0 -4
- data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile.lock +0 -12
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/makefile +0 -41
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +0 -46
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +0 -50
- data/vendor/cmock/vendor/c_exception/vendor/unity/makefile +0 -37
|
@@ -1,268 +1,268 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../integration_test_helper'
|
|
2
|
-
require 'rubygems'
|
|
3
|
-
require 'rake'
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class RakeRulesTest < Test::Unit::TestCase
|
|
7
|
-
|
|
8
|
-
def setup
|
|
9
|
-
rake_setup('rakefile_rules.rb', :file_finder, :file_path_utils, :generator)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def teardown
|
|
13
|
-
Rake.application = nil
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
######################################
|
|
18
|
-
####### Test Runner Generation #######
|
|
19
|
-
######################################
|
|
20
|
-
|
|
21
|
-
should "recognize missing test runner files, find their source, and execute rake tasks from the rule for test runner generation" do
|
|
22
|
-
# default values as set in test_helper
|
|
23
|
-
redefine_global_constant('PROJECT_TEST_FILE_PREFIX', 'test_')
|
|
24
|
-
redefine_global_constant('TEST_RUNNER_FILE_SUFFIX', '_runner')
|
|
25
|
-
redefine_global_constant('EXTENSION_SOURCE', '.c')
|
|
26
|
-
|
|
27
|
-
# reload rakefile with new global constants
|
|
28
|
-
setup()
|
|
29
|
-
|
|
30
|
-
runner_src1 = 'tests/a/test_thing.c'
|
|
31
|
-
runner_src2 = 'tests/b/test_another_thing.c'
|
|
32
|
-
runner_src3 = 'tests/b/test_and_another_thing.c'
|
|
33
|
-
runner1 = 'build/tests/runners/test_thing_runner.c'
|
|
34
|
-
runner2 = 'test_another_thing_runner.c'
|
|
35
|
-
runner3 = 'runners/test_another_thing_runner.c'
|
|
36
|
-
|
|
37
|
-
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
38
|
-
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
39
|
-
@rake.define_task(Rake::FileTask, runner_src1)
|
|
40
|
-
@rake.define_task(Rake::FileTask, runner_src2)
|
|
41
|
-
@rake.define_task(Rake::FileTask, runner_src3)
|
|
42
|
-
|
|
43
|
-
# set up expectations
|
|
44
|
-
@file_finder.expects.find_test_from_runner_path(runner1).returns(runner_src1)
|
|
45
|
-
@generator.expects.generate_test_runner(runner_src1, runner1)
|
|
46
|
-
@file_finder.expects.find_test_from_runner_path(runner2).returns(runner_src2)
|
|
47
|
-
@generator.expects.generate_test_runner(runner_src2, runner2)
|
|
48
|
-
@file_finder.expects.find_test_from_runner_path(runner3).returns(runner_src3)
|
|
49
|
-
@generator.expects.generate_test_runner(runner_src3, runner3)
|
|
50
|
-
|
|
51
|
-
# invoke the test runner creation rule under test
|
|
52
|
-
@rake[runner1].invoke
|
|
53
|
-
@rake[runner2].invoke
|
|
54
|
-
@rake[runner3].invoke
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
should "handle alternate prefixes, suffixes, and source extensions for test runner generation rule" do
|
|
58
|
-
redefine_global_constant('PROJECT_TEST_FILE_PREFIX', 'Test')
|
|
59
|
-
redefine_global_constant('TEST_RUNNER_FILE_SUFFIX', 'Runner')
|
|
60
|
-
redefine_global_constant('EXTENSION_SOURCE', '.x')
|
|
61
|
-
|
|
62
|
-
# reload rakefile with new global constants
|
|
63
|
-
setup()
|
|
64
|
-
|
|
65
|
-
runner_src1 = 'files/tests/TestOneTwoThree.x'
|
|
66
|
-
runner1 = 'build/runners/TestOneTwoThreeRunner.x'
|
|
67
|
-
|
|
68
|
-
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
69
|
-
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
70
|
-
@rake.define_task(Rake::FileTask, runner_src1)
|
|
71
|
-
|
|
72
|
-
# set up expectations
|
|
73
|
-
@file_finder.expects.find_test_from_runner_path(runner1).returns(runner_src1)
|
|
74
|
-
@generator.expects.generate_test_runner(runner_src1, runner1)
|
|
75
|
-
|
|
76
|
-
# invoke the test runner creation rule under test
|
|
77
|
-
@rake[runner1].invoke
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
##################################################
|
|
81
|
-
####### Compilation Object File Generation #######
|
|
82
|
-
##################################################
|
|
83
|
-
|
|
84
|
-
should "recognize missing object files, find their source, and execute rake tasks from the rule for object file generation" do
|
|
85
|
-
# default values as set in test_helper
|
|
86
|
-
redefine_global_constant('PROJECT_TEST_BUILD_OUTPUT_PATH', 'project/build/tests/output')
|
|
87
|
-
redefine_global_constant('EXTENSION_OBJECT', '.o')
|
|
88
|
-
|
|
89
|
-
# reload rakefile with new global constants
|
|
90
|
-
setup()
|
|
91
|
-
|
|
92
|
-
object_src1 = 'tests/a/test_thing.c'
|
|
93
|
-
object_src2 = 'tests/b/test_another_thing.c'
|
|
94
|
-
object_src3 = 'tests/b/test_and_another_thing.c'
|
|
95
|
-
object1 = 'project/build/tests/output/test_thing.o'
|
|
96
|
-
object2 = 'project/build/tests/output/test_another_thing_runner.o'
|
|
97
|
-
object3 = 'project/build/tests/output/test_and_another_thing.o'
|
|
98
|
-
|
|
99
|
-
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
100
|
-
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
101
|
-
@rake.define_task(Rake::FileTask, object_src1)
|
|
102
|
-
@rake.define_task(Rake::FileTask, object_src2)
|
|
103
|
-
@rake.define_task(Rake::FileTask, object_src3)
|
|
104
|
-
|
|
105
|
-
# set up expectations
|
|
106
|
-
@file_finder.expects.find_compilation_input_file(object1).returns(object_src1)
|
|
107
|
-
@generator.expects.generate_object_file(object_src1, object1)
|
|
108
|
-
@file_finder.expects.find_compilation_input_file(object2).returns(object_src2)
|
|
109
|
-
@generator.expects.generate_object_file(object_src2, object2)
|
|
110
|
-
@file_finder.expects.find_compilation_input_file(object3).returns(object_src3)
|
|
111
|
-
@generator.expects.generate_object_file(object_src3, object3)
|
|
112
|
-
|
|
113
|
-
# invoke the test object creation rule under test
|
|
114
|
-
@rake[object1].invoke
|
|
115
|
-
@rake[object2].invoke
|
|
116
|
-
@rake[object3].invoke
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
should "handle alternate build file paths and object file extensions for object generation rule" do
|
|
120
|
-
redefine_global_constant('PROJECT_TEST_BUILD_OUTPUT_PATH', 'build/stuff/out')
|
|
121
|
-
redefine_global_constant('EXTENSION_OBJECT', '.obj')
|
|
122
|
-
|
|
123
|
-
# reload rakefile with new global constants
|
|
124
|
-
setup()
|
|
125
|
-
|
|
126
|
-
object_src1 = 'tests/a/test_thing.c'
|
|
127
|
-
object1 = 'build/stuff/out/test_thing.obj'
|
|
128
|
-
|
|
129
|
-
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
130
|
-
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
131
|
-
@rake.define_task(Rake::FileTask, object_src1)
|
|
132
|
-
|
|
133
|
-
# set up expectations
|
|
134
|
-
@file_finder.expects.find_compilation_input_file(object1).returns(object_src1)
|
|
135
|
-
@generator.expects.generate_object_file(object_src1, object1)
|
|
136
|
-
|
|
137
|
-
# invoke the test runner creation rule under test
|
|
138
|
-
@rake[object1].invoke
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
##########################################
|
|
142
|
-
####### Executable File Generation #######
|
|
143
|
-
##########################################
|
|
144
|
-
|
|
145
|
-
should "recognize missing executable files, find their object files, and execute rake tasks from the rule for executable generation" do
|
|
146
|
-
# default values as set in test_helper
|
|
147
|
-
redefine_global_constant('PROJECT_TEST_BUILD_OUTPUT_PATH', 'project/build/tests/output')
|
|
148
|
-
redefine_global_constant('EXTENSION_EXECUTABLE', '.out')
|
|
149
|
-
|
|
150
|
-
# reload rakefile with new global constants
|
|
151
|
-
setup()
|
|
152
|
-
|
|
153
|
-
executable_prereqs1 = ['project/build/tests/output/unity.o', 'project/build/tests/output/mock_stuff.o', 'project/build/tests/output/thing.o']
|
|
154
|
-
executable_prereqs2 = ['project/build/tests/output/able.o', 'project/build/tests/output/unity.o']
|
|
155
|
-
executable1 = 'project/build/tests/output/test_thing.out'
|
|
156
|
-
executable2 = 'project/build/tests/output/test_able.out'
|
|
157
|
-
|
|
158
|
-
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
159
|
-
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
160
|
-
@rake.define_task(Rake::FileTask, executable_prereqs1[0])
|
|
161
|
-
@rake.define_task(Rake::FileTask, executable_prereqs1[1])
|
|
162
|
-
@rake.define_task(Rake::FileTask, executable_prereqs1[2])
|
|
163
|
-
@rake.define_task(Rake::FileTask, executable_prereqs2[0])
|
|
164
|
-
@rake.define_task(Rake::FileTask, executable_prereqs2[1])
|
|
165
|
-
|
|
166
|
-
task = @rake.define_task(Rake::FileTask, executable1)
|
|
167
|
-
task.enhance(executable_prereqs1)
|
|
168
|
-
task = @rake.define_task(Rake::FileTask, executable2)
|
|
169
|
-
task.enhance(executable_prereqs2)
|
|
170
|
-
|
|
171
|
-
# set up expectations
|
|
172
|
-
@generator.expects.generate_executable_file(executable_prereqs1, executable1)
|
|
173
|
-
@generator.expects.generate_executable_file(executable_prereqs2, executable2)
|
|
174
|
-
|
|
175
|
-
# invoke the test object creation rule under test
|
|
176
|
-
@rake[executable1].invoke
|
|
177
|
-
@rake[executable2].invoke
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
should "handle alternate build file paths and executable extensions for executable generation rule" do
|
|
181
|
-
# default values as set in test_helper
|
|
182
|
-
redefine_global_constant('PROJECT_TEST_BUILD_OUTPUT_PATH', 'build/dump')
|
|
183
|
-
redefine_global_constant('EXTENSION_EXECUTABLE', '.exe')
|
|
184
|
-
|
|
185
|
-
# reload rakefile with new global constants
|
|
186
|
-
setup()
|
|
187
|
-
|
|
188
|
-
executable_prereqs1 = ['project/build/tests/output/able.o', 'project/build/tests/output/unity.o']
|
|
189
|
-
executable1 = 'build/dump/test_able.exe'
|
|
190
|
-
|
|
191
|
-
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
192
|
-
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
193
|
-
@rake.define_task(Rake::FileTask, executable_prereqs1[0])
|
|
194
|
-
@rake.define_task(Rake::FileTask, executable_prereqs1[1])
|
|
195
|
-
|
|
196
|
-
task = @rake.define_task(Rake::FileTask, executable1)
|
|
197
|
-
task.enhance(executable_prereqs1)
|
|
198
|
-
|
|
199
|
-
# set up expectations
|
|
200
|
-
@generator.expects.generate_executable_file(executable_prereqs1, executable1)
|
|
201
|
-
|
|
202
|
-
# invoke the test object creation rule under test
|
|
203
|
-
@rake[executable1].invoke
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
###############################################################
|
|
207
|
-
####### Test Pass File Generation (i.e. execute a test) #######
|
|
208
|
-
###############################################################
|
|
209
|
-
|
|
210
|
-
should "recognize missing test pass files, find the test executable, and execute rake tasks from the rule for test result generation" do
|
|
211
|
-
# default values as set in test_helper
|
|
212
|
-
redefine_global_constant('PROJECT_TEST_RESULTS_PATH', 'project/build/tests/results')
|
|
213
|
-
redefine_global_constant('EXTENSION_TESTPASS', '.pass')
|
|
214
|
-
|
|
215
|
-
# reload rakefile with new global constants
|
|
216
|
-
setup()
|
|
217
|
-
|
|
218
|
-
pass_results_src1 = 'project/build/tests/output/test_thing.exe'
|
|
219
|
-
pass_results_src2 = 'project/build/tests/output/test_another_thing.exe'
|
|
220
|
-
pass_results_src3 = 'project/build/tests/output/test_and_another_thing.exe'
|
|
221
|
-
pass_results1 = 'project/build/tests/results/test_thing.pass'
|
|
222
|
-
pass_results2 = 'project/build/tests/results/test_another_thing_runner.pass'
|
|
223
|
-
pass_results3 = 'project/build/tests/results/test_and_another_thing.pass'
|
|
224
|
-
|
|
225
|
-
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
226
|
-
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
227
|
-
@rake.define_task(Rake::FileTask, pass_results_src1)
|
|
228
|
-
@rake.define_task(Rake::FileTask, pass_results_src2)
|
|
229
|
-
@rake.define_task(Rake::FileTask, pass_results_src3)
|
|
230
|
-
|
|
231
|
-
# set up expectations
|
|
232
|
-
@file_path_utils.expects.form_executable_filepath(pass_results1).returns(pass_results_src1)
|
|
233
|
-
@generator.expects.generate_test_results(pass_results_src1, pass_results1)
|
|
234
|
-
@file_path_utils.expects.form_executable_filepath(pass_results2).returns(pass_results_src2)
|
|
235
|
-
@generator.expects.generate_test_results(pass_results_src2, pass_results2)
|
|
236
|
-
@file_path_utils.expects.form_executable_filepath(pass_results3).returns(pass_results_src3)
|
|
237
|
-
@generator.expects.generate_test_results(pass_results_src3, pass_results3)
|
|
238
|
-
|
|
239
|
-
# invoke the test pass results creation rule under test
|
|
240
|
-
@rake[pass_results1].invoke
|
|
241
|
-
@rake[pass_results2].invoke
|
|
242
|
-
@rake[pass_results3].invoke
|
|
243
|
-
end
|
|
244
|
-
|
|
245
|
-
should "handle alternate test results file paths and test pass file extensions for test results generation rule" do
|
|
246
|
-
# default values as set in test_helper
|
|
247
|
-
redefine_global_constant('PROJECT_TEST_RESULTS_PATH', 'project/test_run')
|
|
248
|
-
redefine_global_constant('EXTENSION_TESTPASS', '.testpass')
|
|
249
|
-
|
|
250
|
-
# reload rakefile with new global constants
|
|
251
|
-
setup()
|
|
252
|
-
|
|
253
|
-
pass_results_src1 = 'project/build/tests/output/test_thing.exe'
|
|
254
|
-
pass_results1 = 'project/test_run/test_thing.testpass'
|
|
255
|
-
|
|
256
|
-
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
257
|
-
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
258
|
-
@rake.define_task(Rake::FileTask, pass_results_src1)
|
|
259
|
-
|
|
260
|
-
# set up expectations
|
|
261
|
-
@file_path_utils.expects.form_executable_filepath(pass_results1).returns(pass_results_src1)
|
|
262
|
-
@generator.expects.generate_test_results(pass_results_src1, pass_results1)
|
|
263
|
-
|
|
264
|
-
# invoke the test pass results creation rule under test
|
|
265
|
-
@rake[pass_results1].invoke
|
|
266
|
-
end
|
|
267
|
-
|
|
268
|
-
end
|
|
1
|
+
require File.dirname(__FILE__) + '/../integration_test_helper'
|
|
2
|
+
require 'rubygems'
|
|
3
|
+
require 'rake'
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class RakeRulesTest < Test::Unit::TestCase
|
|
7
|
+
|
|
8
|
+
def setup
|
|
9
|
+
rake_setup('rakefile_rules.rb', :file_finder, :file_path_utils, :generator)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def teardown
|
|
13
|
+
Rake.application = nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
######################################
|
|
18
|
+
####### Test Runner Generation #######
|
|
19
|
+
######################################
|
|
20
|
+
|
|
21
|
+
should "recognize missing test runner files, find their source, and execute rake tasks from the rule for test runner generation" do
|
|
22
|
+
# default values as set in test_helper
|
|
23
|
+
redefine_global_constant('PROJECT_TEST_FILE_PREFIX', 'test_')
|
|
24
|
+
redefine_global_constant('TEST_RUNNER_FILE_SUFFIX', '_runner')
|
|
25
|
+
redefine_global_constant('EXTENSION_SOURCE', '.c')
|
|
26
|
+
|
|
27
|
+
# reload rakefile with new global constants
|
|
28
|
+
setup()
|
|
29
|
+
|
|
30
|
+
runner_src1 = 'tests/a/test_thing.c'
|
|
31
|
+
runner_src2 = 'tests/b/test_another_thing.c'
|
|
32
|
+
runner_src3 = 'tests/b/test_and_another_thing.c'
|
|
33
|
+
runner1 = 'build/tests/runners/test_thing_runner.c'
|
|
34
|
+
runner2 = 'test_another_thing_runner.c'
|
|
35
|
+
runner3 = 'runners/test_another_thing_runner.c'
|
|
36
|
+
|
|
37
|
+
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
38
|
+
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
39
|
+
@rake.define_task(Rake::FileTask, runner_src1)
|
|
40
|
+
@rake.define_task(Rake::FileTask, runner_src2)
|
|
41
|
+
@rake.define_task(Rake::FileTask, runner_src3)
|
|
42
|
+
|
|
43
|
+
# set up expectations
|
|
44
|
+
@file_finder.expects.find_test_from_runner_path(runner1).returns(runner_src1)
|
|
45
|
+
@generator.expects.generate_test_runner(runner_src1, runner1)
|
|
46
|
+
@file_finder.expects.find_test_from_runner_path(runner2).returns(runner_src2)
|
|
47
|
+
@generator.expects.generate_test_runner(runner_src2, runner2)
|
|
48
|
+
@file_finder.expects.find_test_from_runner_path(runner3).returns(runner_src3)
|
|
49
|
+
@generator.expects.generate_test_runner(runner_src3, runner3)
|
|
50
|
+
|
|
51
|
+
# invoke the test runner creation rule under test
|
|
52
|
+
@rake[runner1].invoke
|
|
53
|
+
@rake[runner2].invoke
|
|
54
|
+
@rake[runner3].invoke
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
should "handle alternate prefixes, suffixes, and source extensions for test runner generation rule" do
|
|
58
|
+
redefine_global_constant('PROJECT_TEST_FILE_PREFIX', 'Test')
|
|
59
|
+
redefine_global_constant('TEST_RUNNER_FILE_SUFFIX', 'Runner')
|
|
60
|
+
redefine_global_constant('EXTENSION_SOURCE', '.x')
|
|
61
|
+
|
|
62
|
+
# reload rakefile with new global constants
|
|
63
|
+
setup()
|
|
64
|
+
|
|
65
|
+
runner_src1 = 'files/tests/TestOneTwoThree.x'
|
|
66
|
+
runner1 = 'build/runners/TestOneTwoThreeRunner.x'
|
|
67
|
+
|
|
68
|
+
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
69
|
+
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
70
|
+
@rake.define_task(Rake::FileTask, runner_src1)
|
|
71
|
+
|
|
72
|
+
# set up expectations
|
|
73
|
+
@file_finder.expects.find_test_from_runner_path(runner1).returns(runner_src1)
|
|
74
|
+
@generator.expects.generate_test_runner(runner_src1, runner1)
|
|
75
|
+
|
|
76
|
+
# invoke the test runner creation rule under test
|
|
77
|
+
@rake[runner1].invoke
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
##################################################
|
|
81
|
+
####### Compilation Object File Generation #######
|
|
82
|
+
##################################################
|
|
83
|
+
|
|
84
|
+
should "recognize missing object files, find their source, and execute rake tasks from the rule for object file generation" do
|
|
85
|
+
# default values as set in test_helper
|
|
86
|
+
redefine_global_constant('PROJECT_TEST_BUILD_OUTPUT_PATH', 'project/build/tests/output')
|
|
87
|
+
redefine_global_constant('EXTENSION_OBJECT', '.o')
|
|
88
|
+
|
|
89
|
+
# reload rakefile with new global constants
|
|
90
|
+
setup()
|
|
91
|
+
|
|
92
|
+
object_src1 = 'tests/a/test_thing.c'
|
|
93
|
+
object_src2 = 'tests/b/test_another_thing.c'
|
|
94
|
+
object_src3 = 'tests/b/test_and_another_thing.c'
|
|
95
|
+
object1 = 'project/build/tests/output/test_thing.o'
|
|
96
|
+
object2 = 'project/build/tests/output/test_another_thing_runner.o'
|
|
97
|
+
object3 = 'project/build/tests/output/test_and_another_thing.o'
|
|
98
|
+
|
|
99
|
+
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
100
|
+
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
101
|
+
@rake.define_task(Rake::FileTask, object_src1)
|
|
102
|
+
@rake.define_task(Rake::FileTask, object_src2)
|
|
103
|
+
@rake.define_task(Rake::FileTask, object_src3)
|
|
104
|
+
|
|
105
|
+
# set up expectations
|
|
106
|
+
@file_finder.expects.find_compilation_input_file(object1).returns(object_src1)
|
|
107
|
+
@generator.expects.generate_object_file(object_src1, object1)
|
|
108
|
+
@file_finder.expects.find_compilation_input_file(object2).returns(object_src2)
|
|
109
|
+
@generator.expects.generate_object_file(object_src2, object2)
|
|
110
|
+
@file_finder.expects.find_compilation_input_file(object3).returns(object_src3)
|
|
111
|
+
@generator.expects.generate_object_file(object_src3, object3)
|
|
112
|
+
|
|
113
|
+
# invoke the test object creation rule under test
|
|
114
|
+
@rake[object1].invoke
|
|
115
|
+
@rake[object2].invoke
|
|
116
|
+
@rake[object3].invoke
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
should "handle alternate build file paths and object file extensions for object generation rule" do
|
|
120
|
+
redefine_global_constant('PROJECT_TEST_BUILD_OUTPUT_PATH', 'build/stuff/out')
|
|
121
|
+
redefine_global_constant('EXTENSION_OBJECT', '.obj')
|
|
122
|
+
|
|
123
|
+
# reload rakefile with new global constants
|
|
124
|
+
setup()
|
|
125
|
+
|
|
126
|
+
object_src1 = 'tests/a/test_thing.c'
|
|
127
|
+
object1 = 'build/stuff/out/test_thing.obj'
|
|
128
|
+
|
|
129
|
+
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
130
|
+
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
131
|
+
@rake.define_task(Rake::FileTask, object_src1)
|
|
132
|
+
|
|
133
|
+
# set up expectations
|
|
134
|
+
@file_finder.expects.find_compilation_input_file(object1).returns(object_src1)
|
|
135
|
+
@generator.expects.generate_object_file(object_src1, object1)
|
|
136
|
+
|
|
137
|
+
# invoke the test runner creation rule under test
|
|
138
|
+
@rake[object1].invoke
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
##########################################
|
|
142
|
+
####### Executable File Generation #######
|
|
143
|
+
##########################################
|
|
144
|
+
|
|
145
|
+
should "recognize missing executable files, find their object files, and execute rake tasks from the rule for executable generation" do
|
|
146
|
+
# default values as set in test_helper
|
|
147
|
+
redefine_global_constant('PROJECT_TEST_BUILD_OUTPUT_PATH', 'project/build/tests/output')
|
|
148
|
+
redefine_global_constant('EXTENSION_EXECUTABLE', '.out')
|
|
149
|
+
|
|
150
|
+
# reload rakefile with new global constants
|
|
151
|
+
setup()
|
|
152
|
+
|
|
153
|
+
executable_prereqs1 = ['project/build/tests/output/unity.o', 'project/build/tests/output/mock_stuff.o', 'project/build/tests/output/thing.o']
|
|
154
|
+
executable_prereqs2 = ['project/build/tests/output/able.o', 'project/build/tests/output/unity.o']
|
|
155
|
+
executable1 = 'project/build/tests/output/test_thing.out'
|
|
156
|
+
executable2 = 'project/build/tests/output/test_able.out'
|
|
157
|
+
|
|
158
|
+
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
159
|
+
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
160
|
+
@rake.define_task(Rake::FileTask, executable_prereqs1[0])
|
|
161
|
+
@rake.define_task(Rake::FileTask, executable_prereqs1[1])
|
|
162
|
+
@rake.define_task(Rake::FileTask, executable_prereqs1[2])
|
|
163
|
+
@rake.define_task(Rake::FileTask, executable_prereqs2[0])
|
|
164
|
+
@rake.define_task(Rake::FileTask, executable_prereqs2[1])
|
|
165
|
+
|
|
166
|
+
task = @rake.define_task(Rake::FileTask, executable1)
|
|
167
|
+
task.enhance(executable_prereqs1)
|
|
168
|
+
task = @rake.define_task(Rake::FileTask, executable2)
|
|
169
|
+
task.enhance(executable_prereqs2)
|
|
170
|
+
|
|
171
|
+
# set up expectations
|
|
172
|
+
@generator.expects.generate_executable_file(executable_prereqs1, executable1)
|
|
173
|
+
@generator.expects.generate_executable_file(executable_prereqs2, executable2)
|
|
174
|
+
|
|
175
|
+
# invoke the test object creation rule under test
|
|
176
|
+
@rake[executable1].invoke
|
|
177
|
+
@rake[executable2].invoke
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
should "handle alternate build file paths and executable extensions for executable generation rule" do
|
|
181
|
+
# default values as set in test_helper
|
|
182
|
+
redefine_global_constant('PROJECT_TEST_BUILD_OUTPUT_PATH', 'build/dump')
|
|
183
|
+
redefine_global_constant('EXTENSION_EXECUTABLE', '.exe')
|
|
184
|
+
|
|
185
|
+
# reload rakefile with new global constants
|
|
186
|
+
setup()
|
|
187
|
+
|
|
188
|
+
executable_prereqs1 = ['project/build/tests/output/able.o', 'project/build/tests/output/unity.o']
|
|
189
|
+
executable1 = 'build/dump/test_able.exe'
|
|
190
|
+
|
|
191
|
+
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
192
|
+
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
193
|
+
@rake.define_task(Rake::FileTask, executable_prereqs1[0])
|
|
194
|
+
@rake.define_task(Rake::FileTask, executable_prereqs1[1])
|
|
195
|
+
|
|
196
|
+
task = @rake.define_task(Rake::FileTask, executable1)
|
|
197
|
+
task.enhance(executable_prereqs1)
|
|
198
|
+
|
|
199
|
+
# set up expectations
|
|
200
|
+
@generator.expects.generate_executable_file(executable_prereqs1, executable1)
|
|
201
|
+
|
|
202
|
+
# invoke the test object creation rule under test
|
|
203
|
+
@rake[executable1].invoke
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
###############################################################
|
|
207
|
+
####### Test Pass File Generation (i.e. execute a test) #######
|
|
208
|
+
###############################################################
|
|
209
|
+
|
|
210
|
+
should "recognize missing test pass files, find the test executable, and execute rake tasks from the rule for test result generation" do
|
|
211
|
+
# default values as set in test_helper
|
|
212
|
+
redefine_global_constant('PROJECT_TEST_RESULTS_PATH', 'project/build/tests/results')
|
|
213
|
+
redefine_global_constant('EXTENSION_TESTPASS', '.pass')
|
|
214
|
+
|
|
215
|
+
# reload rakefile with new global constants
|
|
216
|
+
setup()
|
|
217
|
+
|
|
218
|
+
pass_results_src1 = 'project/build/tests/output/test_thing.exe'
|
|
219
|
+
pass_results_src2 = 'project/build/tests/output/test_another_thing.exe'
|
|
220
|
+
pass_results_src3 = 'project/build/tests/output/test_and_another_thing.exe'
|
|
221
|
+
pass_results1 = 'project/build/tests/results/test_thing.pass'
|
|
222
|
+
pass_results2 = 'project/build/tests/results/test_another_thing_runner.pass'
|
|
223
|
+
pass_results3 = 'project/build/tests/results/test_and_another_thing.pass'
|
|
224
|
+
|
|
225
|
+
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
226
|
+
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
227
|
+
@rake.define_task(Rake::FileTask, pass_results_src1)
|
|
228
|
+
@rake.define_task(Rake::FileTask, pass_results_src2)
|
|
229
|
+
@rake.define_task(Rake::FileTask, pass_results_src3)
|
|
230
|
+
|
|
231
|
+
# set up expectations
|
|
232
|
+
@file_path_utils.expects.form_executable_filepath(pass_results1).returns(pass_results_src1)
|
|
233
|
+
@generator.expects.generate_test_results(pass_results_src1, pass_results1)
|
|
234
|
+
@file_path_utils.expects.form_executable_filepath(pass_results2).returns(pass_results_src2)
|
|
235
|
+
@generator.expects.generate_test_results(pass_results_src2, pass_results2)
|
|
236
|
+
@file_path_utils.expects.form_executable_filepath(pass_results3).returns(pass_results_src3)
|
|
237
|
+
@generator.expects.generate_test_results(pass_results_src3, pass_results3)
|
|
238
|
+
|
|
239
|
+
# invoke the test pass results creation rule under test
|
|
240
|
+
@rake[pass_results1].invoke
|
|
241
|
+
@rake[pass_results2].invoke
|
|
242
|
+
@rake[pass_results3].invoke
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
should "handle alternate test results file paths and test pass file extensions for test results generation rule" do
|
|
246
|
+
# default values as set in test_helper
|
|
247
|
+
redefine_global_constant('PROJECT_TEST_RESULTS_PATH', 'project/test_run')
|
|
248
|
+
redefine_global_constant('EXTENSION_TESTPASS', '.testpass')
|
|
249
|
+
|
|
250
|
+
# reload rakefile with new global constants
|
|
251
|
+
setup()
|
|
252
|
+
|
|
253
|
+
pass_results_src1 = 'project/build/tests/output/test_thing.exe'
|
|
254
|
+
pass_results1 = 'project/test_run/test_thing.testpass'
|
|
255
|
+
|
|
256
|
+
# fake out rake so it won't look for the test files on disk and find they don't exist.
|
|
257
|
+
# by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
|
|
258
|
+
@rake.define_task(Rake::FileTask, pass_results_src1)
|
|
259
|
+
|
|
260
|
+
# set up expectations
|
|
261
|
+
@file_path_utils.expects.form_executable_filepath(pass_results1).returns(pass_results_src1)
|
|
262
|
+
@generator.expects.generate_test_results(pass_results_src1, pass_results1)
|
|
263
|
+
|
|
264
|
+
# invoke the test pass results creation rule under test
|
|
265
|
+
@rake[pass_results1].invoke
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
end
|