ceedling 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +18 -14
- data/README.md +6 -4
- data/assets/project_as_gem.yml +1 -1
- data/assets/rakefile_as_gem.rb +2 -0
- data/assets/rakefile_with_guts.rb +3 -1
- data/ceedling.gemspec +1 -0
- data/examples/blinky/rakefile.rb +2 -2
- data/examples/temp_sensor/rakefile.rb +1 -1
- data/examples/temp_sensor/src/TemperatureFilter.c +1 -2
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
- data/examples/temp_sensor/test/TestTemperatureFilter.c +12 -2
- data/lib/ceedling.rb +94 -22
- data/lib/{build_invoker_utils.rb → ceedling/build_invoker_utils.rb} +27 -27
- data/lib/{cacheinator.rb → ceedling/cacheinator.rb} +42 -42
- data/lib/{cacheinator_helper.rb → ceedling/cacheinator_helper.rb} +12 -12
- data/lib/{cmock_builder.rb → ceedling/cmock_builder.rb} +15 -15
- data/lib/{configurator.rb → ceedling/configurator.rb} +333 -329
- data/lib/{configurator_builder.rb → ceedling/configurator_builder.rb} +437 -437
- data/lib/{configurator_plugins.rb → ceedling/configurator_plugins.rb} +124 -124
- data/lib/{configurator_setup.rb → ceedling/configurator_setup.rb} +124 -124
- data/lib/{configurator_validator.rb → ceedling/configurator_validator.rb} +184 -184
- data/lib/{constants.rb → ceedling/constants.rb} +20 -17
- data/lib/{defaults.rb → ceedling/defaults.rb} +19 -18
- data/lib/{dependinator.rb → ceedling/dependinator.rb} +92 -92
- data/lib/{erb_wrapper.rb → ceedling/erb_wrapper.rb} +8 -8
- data/lib/{file_finder.rb → ceedling/file_finder.rb} +132 -132
- data/lib/{file_finder_helper.rb → ceedling/file_finder_helper.rb} +54 -54
- data/lib/{file_path_utils.rb → ceedling/file_path_utils.rb} +189 -189
- data/lib/{file_system_utils.rb → ceedling/file_system_utils.rb} +69 -69
- data/lib/{file_system_wrapper.rb → ceedling/file_system_wrapper.rb} +9 -9
- data/lib/{file_wrapper.rb → ceedling/file_wrapper.rb} +79 -79
- data/lib/{flaginator.rb → ceedling/flaginator.rb} +54 -54
- data/lib/{generator.rb → ceedling/generator.rb} +164 -164
- data/lib/{generator_helper.rb → ceedling/generator_helper.rb} +40 -40
- data/lib/{generator_test_results.rb → ceedling/generator_test_results.rb} +86 -89
- data/lib/{generator_test_results_sanity_checker.rb → ceedling/generator_test_results_sanity_checker.rb} +64 -62
- data/lib/{generator_test_runner.rb → ceedling/generator_test_runner.rb} +63 -63
- data/lib/{loginator.rb → ceedling/loginator.rb} +31 -31
- data/lib/{makefile.rb → ceedling/makefile.rb} +0 -0
- data/lib/{objects.yml → ceedling/objects.yml} +0 -0
- data/lib/{par_map.rb → ceedling/par_map.rb} +0 -0
- data/lib/{plugin.rb → ceedling/plugin.rb} +80 -80
- data/lib/{plugin_builder.rb → ceedling/plugin_builder.rb} +52 -52
- data/lib/{plugin_manager.rb → ceedling/plugin_manager.rb} +107 -107
- data/lib/{plugin_manager_helper.rb → ceedling/plugin_manager_helper.rb} +19 -19
- data/lib/{plugin_reportinator.rb → ceedling/plugin_reportinator.rb} +2 -2
- data/lib/{plugin_reportinator_helper.rb → ceedling/plugin_reportinator_helper.rb} +1 -1
- data/lib/{preprocessinator.rb → ceedling/preprocessinator.rb} +43 -43
- data/lib/{preprocessinator_extractor.rb → ceedling/preprocessinator_extractor.rb} +30 -30
- data/lib/{preprocessinator_file_handler.rb → ceedling/preprocessinator_file_handler.rb} +21 -21
- data/lib/{preprocessinator_helper.rb → ceedling/preprocessinator_helper.rb} +46 -46
- data/lib/ceedling/preprocessinator_includes_handler.rb +82 -0
- data/lib/{project_config_manager.rb → ceedling/project_config_manager.rb} +38 -38
- data/lib/{project_file_loader.rb → ceedling/project_file_loader.rb} +64 -64
- data/lib/{rake_utils.rb → ceedling/rake_utils.rb} +17 -17
- data/lib/{rake_wrapper.rb → ceedling/rake_wrapper.rb} +33 -33
- data/lib/{rakefile.rb → ceedling/rakefile.rb} +78 -74
- data/lib/{release_invoker.rb → ceedling/release_invoker.rb} +58 -58
- data/lib/{release_invoker_helper.rb → ceedling/release_invoker_helper.rb} +16 -16
- data/lib/{reportinator.rb → ceedling/reportinator.rb} +9 -9
- data/lib/{rules_cmock.rake → ceedling/rules_cmock.rake} +9 -9
- data/lib/{rules_preprocess.rake → ceedling/rules_preprocess.rake} +26 -26
- data/lib/{rules_release.rake → ceedling/rules_release.rake} +79 -79
- data/lib/{rules_release_deep_dependencies.rake → ceedling/rules_release_deep_dependencies.rake} +15 -15
- data/lib/{rules_tests.rake → ceedling/rules_tests.rake} +59 -59
- data/lib/{rules_tests_deep_dependencies.rake → ceedling/rules_tests_deep_dependencies.rake} +15 -15
- data/lib/{setupinator.rb → ceedling/setupinator.rb} +51 -51
- data/lib/{stream_wrapper.rb → ceedling/stream_wrapper.rb} +20 -20
- data/lib/{streaminator.rb → ceedling/streaminator.rb} +40 -41
- data/lib/{streaminator_helper.rb → ceedling/streaminator_helper.rb} +15 -15
- data/lib/{system_utils.rb → ceedling/system_utils.rb} +0 -0
- data/lib/{system_wrapper.rb → ceedling/system_wrapper.rb} +76 -76
- data/lib/{target_loader.rb → ceedling/target_loader.rb} +0 -0
- data/lib/{task_invoker.rb → ceedling/task_invoker.rb} +89 -89
- data/lib/{tasks_base.rake → ceedling/tasks_base.rake} +104 -104
- data/lib/{tasks_filesystem.rake → ceedling/tasks_filesystem.rake} +91 -91
- data/lib/{tasks_release.rake → ceedling/tasks_release.rake} +28 -28
- data/lib/{tasks_release_deep_dependencies.rake → ceedling/tasks_release_deep_dependencies.rake} +9 -9
- data/lib/{tasks_tests.rake → ceedling/tasks_tests.rake} +52 -52
- data/lib/{tasks_tests_deep_dependencies.rake → ceedling/tasks_tests_deep_dependencies.rake} +9 -9
- data/lib/{tasks_vendor.rake → ceedling/tasks_vendor.rake} +36 -36
- data/lib/{test_includes_extractor.rb → ceedling/test_includes_extractor.rb} +81 -81
- data/lib/{test_invoker.rb → ceedling/test_invoker.rb} +97 -97
- data/lib/{test_invoker_helper.rb → ceedling/test_invoker_helper.rb} +28 -28
- data/lib/{tool_executor.rb → ceedling/tool_executor.rb} +215 -212
- data/lib/{tool_executor_helper.rb → ceedling/tool_executor_helper.rb} +115 -115
- data/lib/{verbosinator.rb → ceedling/verbosinator.rb} +10 -10
- data/lib/ceedling/version.rb +1 -1
- data/lib/{yaml_wrapper.rb → ceedling/yaml_wrapper.rb} +17 -16
- data/license.txt +31 -0
- data/plugins/bullseye/lib/bullseye.rb +2 -2
- data/plugins/gcov/gcov.rb +2 -2
- data/plugins/module_generator/lib/module_generator.rb +4 -3
- data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +8 -8
- data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +3 -3
- data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +4 -0
- data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +57 -0
- data/plugins/xml_tests_report/xml_tests_report.rb +4 -4
- data/release/version.info +1 -1
- data/spec/ceedling_spec.rb +154 -0
- data/spec/par_map_spec.rb +1 -1
- data/spec/preprocessinator_extractor_spec.rb +26 -27
- data/spec/preprocessinator_includes_handler_spec.rb +175 -0
- data/spec/spec_helper.rb +8 -27
- data/test_graveyard/integration/paths_test.rb +2 -2
- data/test_graveyard/unit/busted/configurator_builder_test.rb +2 -2
- data/test_graveyard/unit/busted/configurator_test.rb +1 -1
- data/test_graveyard/unit/busted/configurator_validator_test.rb +1 -1
- data/test_graveyard/unit/busted/dependinator_test.rb +1 -1
- data/test_graveyard/unit/busted/file_finder_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/file_finder_test.rb +1 -1
- data/test_graveyard/unit/busted/file_path_utils_test.rb +1 -1
- data/test_graveyard/unit/busted/file_system_utils_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test_results_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test_runner_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_test.rb +1 -1
- data/test_graveyard/unit/busted/project_file_loader_test.rb +1 -1
- data/test_graveyard/unit/busted/setupinator_test.rb +1 -1
- data/test_graveyard/unit/busted/streaminator_test.rb +2 -2
- data/test_graveyard/unit/busted/task_invoker_test.rb +1 -1
- data/test_graveyard/unit/busted/test_includes_extractor_test.rb +1 -1
- data/test_graveyard/unit/busted/test_invoker_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/test_invoker_test.rb +1 -1
- data/test_graveyard/unit/busted/tool_executor_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/tool_executor_test.rb +1 -1
- data/test_graveyard/unit/busted/verbosinator_test.rb +1 -1
- data/test_graveyard/unit/preprocessinator_extractor_test.rb +1 -1
- data/vendor/c_exception/Gemfile +4 -0
- data/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/c_exception/test/TestException.c +25 -14
- data/vendor/c_exception/test/TestException_Runner.c +74 -57
- data/vendor/cmock/Gemfile +11 -0
- data/vendor/cmock/lib/cmock_generator.rb +13 -12
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +44 -0
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +74 -0
- data/vendor/cmock/lib/cmock_generator_utils.rb +67 -42
- data/vendor/cmock/src/cmock.c +20 -30
- data/vendor/cmock/src/cmock.h +1 -0
- data/vendor/cmock/src/cmock_internals.h +43 -0
- data/vendor/cmock/test/c/TestCMockC.c +79 -36
- data/vendor/cmock/test/c/TestCMockC_Runner.c +2 -0
- data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +21 -1
- data/vendor/cmock/test/spec/cmock_generator_plugin_array_spec.rb +52 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +2 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +235 -0
- data/vendor/cmock/test/test_helper.rb +10 -5
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +38 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -0
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +58 -33
- data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
- data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/docs/license.txt +30 -0
- data/vendor/cmock/vendor/c_exception/docs/readme.txt +236 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.c +39 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.h +70 -0
- data/vendor/cmock/vendor/c_exception/makefile +24 -0
- data/vendor/cmock/vendor/c_exception/rakefile.rb +41 -0
- data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
- data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
- data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +27 -0
- data/vendor/cmock/vendor/c_exception/test/TestException.c +291 -0
- data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +62 -0
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +94 -0
- data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
- data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +313 -0
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +139 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +217 -0
- data/vendor/cmock/vendor/unity/docs/license.txt +31 -0
- data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.c +10 -0
- data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.h +12 -0
- data/vendor/cmock/vendor/unity/examples/makefile +40 -0
- data/vendor/cmock/vendor/unity/examples/rakefile.rb +32 -0
- data/vendor/cmock/vendor/unity/examples/rakefile_helper.rb +256 -0
- data/vendor/cmock/vendor/unity/examples/readme.txt +18 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.c +9 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/unity/examples/test/TestProductionCode.c +62 -0
- data/vendor/cmock/vendor/unity/examples/test/TestProductionCode2.c +31 -0
- data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
- data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
- data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/MakefileWorker.mk +0 -0
- data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/filterGcov.sh +0 -0
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +37 -0
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
- data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
- data/vendor/cmock/vendor/unity/makefile +35 -0
- data/vendor/cmock/vendor/unity/rakefile.rb +48 -0
- data/vendor/cmock/vendor/unity/rakefile_helper.rb +240 -0
- data/vendor/cmock/vendor/unity/release/build.info +2 -0
- data/vendor/cmock/vendor/unity/release/version.info +2 -0
- data/vendor/cmock/vendor/unity/src/unity.c +979 -0
- data/vendor/cmock/vendor/unity/src/unity.h +232 -0
- data/vendor/cmock/vendor/unity/src/unity_internals.h +424 -0
- data/vendor/cmock/vendor/unity/targets/gcc.yml +43 -0
- data/vendor/cmock/vendor/unity/targets/gcc_64.yml +44 -0
- data/vendor/cmock/vendor/unity/targets/hitech_picc18.yml +101 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v4.yml +89 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v5.yml +79 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
- data/vendor/cmock/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
- data/vendor/cmock/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
- data/vendor/cmock/vendor/unity/targets/iar_msp430.yml +94 -0
- data/vendor/cmock/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +50 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +60 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +63 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +51 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +60 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +63 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
- data/vendor/cmock/vendor/unity/test/test_generate_test_runner.rb +94 -0
- data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
- data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
- data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
- data/vendor/cmock/vendor/unity/test/testparameterized.c +101 -0
- data/vendor/cmock/vendor/unity/test/testunity.c +2024 -0
- data/vendor/unity/Gemfile +4 -0
- data/vendor/unity/auto/generate_test_runner.rb +6 -3
- data/vendor/unity/examples/makefile +2 -2
- data/vendor/unity/examples/rakefile.rb +13 -2
- data/vendor/unity/extras/fixture/rakefile.rb +1 -1
- data/vendor/unity/extras/fixture/rakefile_helper.rb +4 -3
- data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -12
- data/vendor/unity/extras/fixture/src/unity_fixture.h +5 -5
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -1
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -3
- data/vendor/unity/makefile +2 -2
- data/vendor/unity/src/unity.c +183 -16
- data/vendor/unity/src/unity.h +18 -5
- data/vendor/unity/src/unity_internals.h +57 -23
- data/vendor/unity/targets/gcc_64.yml +45 -0
- data/vendor/unity/test/testunity.c +436 -28
- metadata +200 -137
- data/ceedling-0.13.0.rc4.gem +0 -0
- data/ceedling.sublime-project +0 -8
- data/ceedling.sublime-workspace +0 -365
- data/lib/preprocessinator_includes_handler.rb +0 -55
- data/tags +0 -977
- data/vendor/cmock/vendor/hardmock/CHANGES +0 -78
- data/vendor/cmock/vendor/hardmock/LICENSE +0 -7
- data/vendor/cmock/vendor/hardmock/README +0 -70
- data/vendor/cmock/vendor/hardmock/Rakefile +0 -8
- data/vendor/cmock/vendor/hardmock/config/environment.rb +0 -12
- data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +0 -23
- data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +0 -14
- data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +0 -86
- data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +0 -22
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +0 -26
- data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
- data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +0 -180
- data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
- data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
- data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
- data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +0 -9
- data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
- data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
- data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
- data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +0 -22
- data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
- data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
- data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
- data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
- data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
- data/vendor/cmock/vendor/hardmock/test/test_helper.rb +0 -43
- data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
- data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +0 -372
- data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +0 -57
- data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
- data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
- data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +0 -279
- data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
- data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +0 -62
- data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
class PluginManagerHelper
|
|
3
|
-
|
|
4
|
-
def include?(plugins, name)
|
|
5
|
-
include = false
|
|
6
|
-
plugins.each do |plugin|
|
|
7
|
-
if (plugin.name == name)
|
|
8
|
-
include = true
|
|
9
|
-
break
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
return include
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def instantiate_plugin_script(plugin, system_objects, name)
|
|
16
|
-
return eval("#{plugin}.new(system_objects, name)")
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
1
|
+
|
|
2
|
+
class PluginManagerHelper
|
|
3
|
+
|
|
4
|
+
def include?(plugins, name)
|
|
5
|
+
include = false
|
|
6
|
+
plugins.each do |plugin|
|
|
7
|
+
if (plugin.name == name)
|
|
8
|
+
include = true
|
|
9
|
+
break
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
return include
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def instantiate_plugin_script(plugin, system_objects, name)
|
|
16
|
+
return eval("#{plugin}.new(system_objects, name)")
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
class Preprocessinator
|
|
3
|
-
|
|
4
|
-
attr_reader :preprocess_file_proc
|
|
5
|
-
|
|
6
|
-
constructor :preprocessinator_helper, :preprocessinator_includes_handler, :preprocessinator_file_handler, :task_invoker, :file_path_utils, :yaml_wrapper
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def setup
|
|
10
|
-
# fashion ourselves callbacks @preprocessinator_helper can use
|
|
11
|
-
@preprocess_includes_proc = Proc.new { |filepath| self.preprocess_shallow_includes(filepath) }
|
|
12
|
-
@preprocess_file_proc = Proc.new { |filepath| self.preprocess_file(filepath) }
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def preprocess_test_and_invoke_test_mocks(test)
|
|
17
|
-
@preprocessinator_helper.preprocess_includes(test, @preprocess_includes_proc)
|
|
18
|
-
|
|
19
|
-
mocks_list = @preprocessinator_helper.assemble_mocks_list(test)
|
|
20
|
-
|
|
21
|
-
@preprocessinator_helper.preprocess_mockable_headers(mocks_list, @preprocess_file_proc)
|
|
22
|
-
|
|
23
|
-
@task_invoker.invoke_test_mocks(mocks_list)
|
|
24
|
-
|
|
25
|
-
@preprocessinator_helper.preprocess_test_file(test, @preprocess_file_proc)
|
|
26
|
-
|
|
27
|
-
return mocks_list
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def preprocess_shallow_includes(filepath)
|
|
31
|
-
dependencies_rule = @preprocessinator_includes_handler.form_shallow_dependencies_rule(filepath)
|
|
32
|
-
includes = @preprocessinator_includes_handler.extract_shallow_includes(dependencies_rule)
|
|
33
|
-
|
|
34
|
-
@preprocessinator_includes_handler.write_shallow_includes_list(
|
|
35
|
-
@file_path_utils.form_preprocessed_includes_list_filepath(filepath), includes)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def preprocess_file(filepath)
|
|
39
|
-
@preprocessinator_includes_handler.invoke_shallow_includes_list(filepath)
|
|
40
|
-
@preprocessinator_file_handler.preprocess_file( filepath, @yaml_wrapper.load(@file_path_utils.form_preprocessed_includes_list_filepath(filepath)) )
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
end
|
|
1
|
+
|
|
2
|
+
class Preprocessinator
|
|
3
|
+
|
|
4
|
+
attr_reader :preprocess_file_proc
|
|
5
|
+
|
|
6
|
+
constructor :preprocessinator_helper, :preprocessinator_includes_handler, :preprocessinator_file_handler, :task_invoker, :file_path_utils, :yaml_wrapper
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def setup
|
|
10
|
+
# fashion ourselves callbacks @preprocessinator_helper can use
|
|
11
|
+
@preprocess_includes_proc = Proc.new { |filepath| self.preprocess_shallow_includes(filepath) }
|
|
12
|
+
@preprocess_file_proc = Proc.new { |filepath| self.preprocess_file(filepath) }
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def preprocess_test_and_invoke_test_mocks(test)
|
|
17
|
+
@preprocessinator_helper.preprocess_includes(test, @preprocess_includes_proc)
|
|
18
|
+
|
|
19
|
+
mocks_list = @preprocessinator_helper.assemble_mocks_list(test)
|
|
20
|
+
|
|
21
|
+
@preprocessinator_helper.preprocess_mockable_headers(mocks_list, @preprocess_file_proc)
|
|
22
|
+
|
|
23
|
+
@task_invoker.invoke_test_mocks(mocks_list)
|
|
24
|
+
|
|
25
|
+
@preprocessinator_helper.preprocess_test_file(test, @preprocess_file_proc)
|
|
26
|
+
|
|
27
|
+
return mocks_list
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def preprocess_shallow_includes(filepath)
|
|
31
|
+
dependencies_rule = @preprocessinator_includes_handler.form_shallow_dependencies_rule(filepath)
|
|
32
|
+
includes = @preprocessinator_includes_handler.extract_shallow_includes(dependencies_rule)
|
|
33
|
+
|
|
34
|
+
@preprocessinator_includes_handler.write_shallow_includes_list(
|
|
35
|
+
@file_path_utils.form_preprocessed_includes_list_filepath(filepath), includes)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def preprocess_file(filepath)
|
|
39
|
+
@preprocessinator_includes_handler.invoke_shallow_includes_list(filepath)
|
|
40
|
+
@preprocessinator_file_handler.preprocess_file( filepath, @yaml_wrapper.load(@file_path_utils.form_preprocessed_includes_list_filepath(filepath)) )
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
class PreprocessinatorExtractor
|
|
2
|
-
def extract_base_file_from_preprocessed_expansion(filepath)
|
|
3
|
-
# preprocessing by way of toolchain preprocessor expands macros, eliminates
|
|
4
|
-
# comments, strips out #ifdef code, etc. however, it also expands in place
|
|
5
|
-
# each #include'd file. so, we must extract only the lines of the file
|
|
6
|
-
# that belong to the file originally preprocessed
|
|
7
|
-
|
|
8
|
-
# iterate through all lines and alternate between extract and ignore modes
|
|
9
|
-
# all lines between a '#'line containing file name of our filepath and the
|
|
10
|
-
# next '#'line should be extracted
|
|
11
|
-
|
|
12
|
-
base_name = File.basename(filepath)
|
|
13
|
-
not_pragma = /^#(?!pragma\b)/ # preprocessor directive that's not a #pragma
|
|
14
|
-
pattern = /^#.*(\s|\/|\\|\")#{Regexp.escape(base_name)}/
|
|
15
|
-
found_file = false # have we found the file we care about?
|
|
16
|
-
|
|
17
|
-
lines = []
|
|
18
|
-
File.readlines(filepath).each do |line|
|
|
19
|
-
if found_file and not line.match(not_pragma)
|
|
20
|
-
lines << line
|
|
21
|
-
else
|
|
22
|
-
found_file = false
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
found_file = true if line.match(pattern)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
return lines
|
|
29
|
-
end
|
|
30
|
-
end
|
|
1
|
+
class PreprocessinatorExtractor
|
|
2
|
+
def extract_base_file_from_preprocessed_expansion(filepath)
|
|
3
|
+
# preprocessing by way of toolchain preprocessor expands macros, eliminates
|
|
4
|
+
# comments, strips out #ifdef code, etc. however, it also expands in place
|
|
5
|
+
# each #include'd file. so, we must extract only the lines of the file
|
|
6
|
+
# that belong to the file originally preprocessed
|
|
7
|
+
|
|
8
|
+
# iterate through all lines and alternate between extract and ignore modes
|
|
9
|
+
# all lines between a '#'line containing file name of our filepath and the
|
|
10
|
+
# next '#'line should be extracted
|
|
11
|
+
|
|
12
|
+
base_name = File.basename(filepath)
|
|
13
|
+
not_pragma = /^#(?!pragma\b)/ # preprocessor directive that's not a #pragma
|
|
14
|
+
pattern = /^#.*(\s|\/|\\|\")#{Regexp.escape(base_name)}/
|
|
15
|
+
found_file = false # have we found the file we care about?
|
|
16
|
+
|
|
17
|
+
lines = []
|
|
18
|
+
File.readlines(filepath).each do |line|
|
|
19
|
+
if found_file and not line.match(not_pragma)
|
|
20
|
+
lines << line
|
|
21
|
+
else
|
|
22
|
+
found_file = false
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
found_file = true if line.match(pattern)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
return lines
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
class PreprocessinatorFileHandler
|
|
4
|
-
|
|
5
|
-
constructor :preprocessinator_extractor, :configurator, :tool_executor, :file_path_utils, :file_wrapper
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def preprocess_file(filepath, includes)
|
|
9
|
-
preprocessed_filepath = @file_path_utils.form_preprocessed_file_filepath(filepath)
|
|
10
|
-
|
|
11
|
-
command = @tool_executor.build_command_line(@configurator.tools_test_file_preprocessor, filepath, preprocessed_filepath)
|
|
12
|
-
@tool_executor.exec(command[:line], command[:options])
|
|
13
|
-
|
|
14
|
-
contents = @preprocessinator_extractor.extract_base_file_from_preprocessed_expansion(preprocessed_filepath)
|
|
15
|
-
|
|
16
|
-
includes.each{|include| contents.unshift("#include \"#{include}\"")}
|
|
17
|
-
|
|
18
|
-
@file_wrapper.write(preprocessed_filepath, contents.join("\n"))
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
end
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
class PreprocessinatorFileHandler
|
|
4
|
+
|
|
5
|
+
constructor :preprocessinator_extractor, :configurator, :tool_executor, :file_path_utils, :file_wrapper
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def preprocess_file(filepath, includes)
|
|
9
|
+
preprocessed_filepath = @file_path_utils.form_preprocessed_file_filepath(filepath)
|
|
10
|
+
|
|
11
|
+
command = @tool_executor.build_command_line(@configurator.tools_test_file_preprocessor, filepath, preprocessed_filepath)
|
|
12
|
+
@tool_executor.exec(command[:line], command[:options])
|
|
13
|
+
|
|
14
|
+
contents = @preprocessinator_extractor.extract_base_file_from_preprocessed_expansion(preprocessed_filepath)
|
|
15
|
+
|
|
16
|
+
includes.each{|include| contents.unshift("#include \"#{include}\"")}
|
|
17
|
+
|
|
18
|
+
@file_wrapper.write(preprocessed_filepath, contents.join("\n"))
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
class PreprocessinatorHelper
|
|
4
|
-
|
|
5
|
-
constructor :configurator, :test_includes_extractor, :task_invoker, :file_finder, :file_path_utils
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def preprocess_includes(test, preprocess_includes_proc)
|
|
9
|
-
if (@configurator.project_use_test_preprocessor)
|
|
10
|
-
preprocessed_includes_list = @file_path_utils.form_preprocessed_includes_list_filepath(test)
|
|
11
|
-
preprocess_includes_proc.call( @file_finder.find_test_from_file_path(preprocessed_includes_list) )
|
|
12
|
-
@test_includes_extractor.parse_includes_list(preprocessed_includes_list)
|
|
13
|
-
else
|
|
14
|
-
@test_includes_extractor.parse_test_file(test)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def assemble_mocks_list(test)
|
|
19
|
-
return @file_path_utils.form_mocks_source_filelist( @test_includes_extractor.lookup_raw_mock_list(test) )
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def preprocess_mockable_headers(mock_list, preprocess_file_proc)
|
|
23
|
-
if (@configurator.project_use_test_preprocessor)
|
|
24
|
-
preprocess_files_smartly(
|
|
25
|
-
@file_path_utils.form_preprocessed_mockable_headers_filelist(mock_list),
|
|
26
|
-
preprocess_file_proc ) { |file| @file_finder.find_header_file(file) }
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def preprocess_test_file(test, preprocess_file_proc)
|
|
31
|
-
return if (!@configurator.project_use_test_preprocessor)
|
|
32
|
-
|
|
33
|
-
preprocess_file_proc.call(test)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
private ############################
|
|
37
|
-
|
|
38
|
-
def preprocess_files_smartly(file_list, preprocess_file_proc)
|
|
39
|
-
if (@configurator.project_use_deep_dependencies)
|
|
40
|
-
@task_invoker.invoke_test_preprocessed_files(file_list)
|
|
41
|
-
else
|
|
42
|
-
file_list.each { |file| preprocess_file_proc.call( yield(file) ) }
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
end
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
class PreprocessinatorHelper
|
|
4
|
+
|
|
5
|
+
constructor :configurator, :test_includes_extractor, :task_invoker, :file_finder, :file_path_utils
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def preprocess_includes(test, preprocess_includes_proc)
|
|
9
|
+
if (@configurator.project_use_test_preprocessor)
|
|
10
|
+
preprocessed_includes_list = @file_path_utils.form_preprocessed_includes_list_filepath(test)
|
|
11
|
+
preprocess_includes_proc.call( @file_finder.find_test_from_file_path(preprocessed_includes_list) )
|
|
12
|
+
@test_includes_extractor.parse_includes_list(preprocessed_includes_list)
|
|
13
|
+
else
|
|
14
|
+
@test_includes_extractor.parse_test_file(test)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def assemble_mocks_list(test)
|
|
19
|
+
return @file_path_utils.form_mocks_source_filelist( @test_includes_extractor.lookup_raw_mock_list(test) )
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def preprocess_mockable_headers(mock_list, preprocess_file_proc)
|
|
23
|
+
if (@configurator.project_use_test_preprocessor)
|
|
24
|
+
preprocess_files_smartly(
|
|
25
|
+
@file_path_utils.form_preprocessed_mockable_headers_filelist(mock_list),
|
|
26
|
+
preprocess_file_proc ) { |file| @file_finder.find_header_file(file) }
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def preprocess_test_file(test, preprocess_file_proc)
|
|
31
|
+
return if (!@configurator.project_use_test_preprocessor)
|
|
32
|
+
|
|
33
|
+
preprocess_file_proc.call(test)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
private ############################
|
|
37
|
+
|
|
38
|
+
def preprocess_files_smartly(file_list, preprocess_file_proc)
|
|
39
|
+
if (@configurator.project_use_deep_dependencies)
|
|
40
|
+
@task_invoker.invoke_test_preprocessed_files(file_list)
|
|
41
|
+
else
|
|
42
|
+
file_list.each { |file| preprocess_file_proc.call( yield(file) ) }
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
class PreprocessinatorIncludesHandler
|
|
4
|
+
|
|
5
|
+
constructor :configurator, :tool_executor, :task_invoker, :file_path_utils, :yaml_wrapper, :file_wrapper
|
|
6
|
+
|
|
7
|
+
# shallow includes: only those headers a source file explicitly includes
|
|
8
|
+
|
|
9
|
+
def invoke_shallow_includes_list(filepath)
|
|
10
|
+
@task_invoker.invoke_test_shallow_include_lists( [@file_path_utils.form_preprocessed_includes_list_filepath(filepath)] )
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
##
|
|
14
|
+
# Ask the preprocessor for a make-style dependency rule of only the headers
|
|
15
|
+
# the source file immediately includes.
|
|
16
|
+
#
|
|
17
|
+
# === Arguments
|
|
18
|
+
# +filepath+ _String_:: Path to the test file to process.
|
|
19
|
+
#
|
|
20
|
+
# === Return
|
|
21
|
+
# _String_:: The text of the dependency rule generated by the preprocessor.
|
|
22
|
+
def form_shallow_dependencies_rule(filepath)
|
|
23
|
+
# change filename (prefix of '_') to prevent preprocessor from finding
|
|
24
|
+
# include files in temp directory containing file it's scanning
|
|
25
|
+
temp_filepath = @file_path_utils.form_temp_path(filepath, '_')
|
|
26
|
+
|
|
27
|
+
# read the file and replace all include statements with a decorated version
|
|
28
|
+
# (decorating the names creates file names that don't exist, thus preventing
|
|
29
|
+
# the preprocessor from snaking out and discovering the entire include path
|
|
30
|
+
# that winds through the code). The decorated filenames indicate files that
|
|
31
|
+
# are included directly by the test file.
|
|
32
|
+
contents = @file_wrapper.read(filepath)
|
|
33
|
+
contents.gsub!( /^\s*#include\s+[\"<]\s*(\S+)\s*[\">]/, "#include \"\\1\"\n#include \"@@@@\\1\"" )
|
|
34
|
+
@file_wrapper.write( temp_filepath, contents )
|
|
35
|
+
|
|
36
|
+
# extract the make-style dependency rule telling the preprocessor to
|
|
37
|
+
# ignore the fact that it can't find the included files
|
|
38
|
+
command = @tool_executor.build_command_line(@configurator.tools_test_includes_preprocessor, temp_filepath)
|
|
39
|
+
shell_result = @tool_executor.exec(command[:line], command[:options])
|
|
40
|
+
|
|
41
|
+
return shell_result[:output]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
##
|
|
45
|
+
# Extract the headers that are directly included by a source file using the
|
|
46
|
+
# provided, annotated Make dependency rule.
|
|
47
|
+
#
|
|
48
|
+
# === Arguments
|
|
49
|
+
# +make_rule+ _String_:: Annotated Make dependency rule.
|
|
50
|
+
#
|
|
51
|
+
# === Return
|
|
52
|
+
# _Array_ of _String_:: Array of the direct dependencies for the source file.
|
|
53
|
+
def extract_shallow_includes(make_rule)
|
|
54
|
+
# Extract the dependencies from the make rule
|
|
55
|
+
hdr_ext = @configurator.extension_header
|
|
56
|
+
dependencies = make_rule.split.find_all {|path| path.end_with?(hdr_ext) }.uniq
|
|
57
|
+
dependencies.map! {|hdr| hdr.gsub('\\','/') }
|
|
58
|
+
|
|
59
|
+
# Separate the real files form the annotated ones and remove the '@@@@'
|
|
60
|
+
annotated_headers, real_headers = dependencies.partition {|hdr| hdr =~ /^@@@@/ }
|
|
61
|
+
annotated_headers.map! {|hdr| hdr.gsub('@@@@','') }
|
|
62
|
+
|
|
63
|
+
# Find which of our annotated headers are "real" dependencies. This is
|
|
64
|
+
# intended to weed out dependencies that have been removed due to build
|
|
65
|
+
# options defined in the project yaml and/or in the headers themselves.
|
|
66
|
+
annotated_headers.find_all do |annotated_header|
|
|
67
|
+
# find the index of the "real" include that matches the annotated one.
|
|
68
|
+
idx = real_headers.find_index do |real_header|
|
|
69
|
+
real_header =~ /^(.*\/)?#{Regexp.escape(annotated_header)}$/
|
|
70
|
+
end
|
|
71
|
+
# If we found a real include, delete it from the array and return it,
|
|
72
|
+
# otherwise return nil. Since nil is falsy this has the effect of making
|
|
73
|
+
# find_all return only the annotated headers for which a real include was
|
|
74
|
+
# found/deleted
|
|
75
|
+
idx ? real_headers.delete_at(idx) : nil
|
|
76
|
+
end.compact
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def write_shallow_includes_list(filepath, list)
|
|
80
|
+
@yaml_wrapper.dump(filepath, list)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
require 'constants'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class ProjectConfigManager
|
|
5
|
-
|
|
6
|
-
attr_reader :options_files, :release_config_changed, :test_config_changed
|
|
7
|
-
attr_accessor :config_hash
|
|
8
|
-
|
|
9
|
-
constructor :cacheinator, :yaml_wrapper
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def setup
|
|
13
|
-
@options_files = []
|
|
14
|
-
@release_config_changed = false
|
|
15
|
-
@test_config_changed = false
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def merge_options(config_hash, option_filepath)
|
|
20
|
-
@options_files << File.basename( option_filepath )
|
|
21
|
-
config_hash.deep_merge( @yaml_wrapper.load( option_filepath ) )
|
|
22
|
-
return config_hash
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def process_release_config_change
|
|
28
|
-
# has project configuration changed since last release build
|
|
29
|
-
@release_config_changed = @cacheinator.diff_cached_release_config?( @config_hash )
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def process_test_config_change
|
|
34
|
-
# has project configuration changed since last test build
|
|
35
|
-
@test_config_changed = @cacheinator.diff_cached_test_config?( @config_hash )
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
end
|
|
1
|
+
require 'ceedling/constants'
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ProjectConfigManager
|
|
5
|
+
|
|
6
|
+
attr_reader :options_files, :release_config_changed, :test_config_changed
|
|
7
|
+
attr_accessor :config_hash
|
|
8
|
+
|
|
9
|
+
constructor :cacheinator, :yaml_wrapper
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
@options_files = []
|
|
14
|
+
@release_config_changed = false
|
|
15
|
+
@test_config_changed = false
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def merge_options(config_hash, option_filepath)
|
|
20
|
+
@options_files << File.basename( option_filepath )
|
|
21
|
+
config_hash.deep_merge( @yaml_wrapper.load( option_filepath ) )
|
|
22
|
+
return config_hash
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def process_release_config_change
|
|
28
|
+
# has project configuration changed since last release build
|
|
29
|
+
@release_config_changed = @cacheinator.diff_cached_release_config?( @config_hash )
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def process_test_config_change
|
|
34
|
+
# has project configuration changed since last test build
|
|
35
|
+
@test_config_changed = @cacheinator.diff_cached_test_config?( @config_hash )
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|