From 14133df7ae775eeb5149bce956dd54a90b98d309 Mon Sep 17 00:00:00 2001 From: swaldhoer <34184299+swaldhoer@users.noreply.github.com> Date: Sat, 20 Jul 2024 11:02:45 +0200 Subject: [PATCH] add pre-commit configuration fix trailing whitespace and fix end of file fix shebang or mod fix line endings --- .github/workflows/main.yml | 5 +- .github/workflows/pre-commit.yml | 50 ++++++ .gitmodules | 2 +- .pre-commit-config.yaml | 19 ++ Rakefile | 0 assets/default_gitignore | 2 +- assets/project_as_gem.yml | 72 ++++---- assets/project_with_guts.yml | 74 ++++---- assets/test_example_file_unity_printf.c | 1 - assets/test_example_file_verbose.c | 1 - bin/app_cfg.rb | 2 +- bin/ceedling | 9 +- bin/cli.rb | 62 +++---- bin/cli_handler.rb | 12 +- bin/cli_helper.rb | 24 +-- bin/configinator.rb | 2 +- bin/objects.yml | 2 - bin/path_validator.rb | 2 +- bin/projectinator.rb | 4 +- ceedling.gemspec | 8 +- config/test_environment.rb | 2 +- .../temp_sensor/mixin/add_unity_helper.yml | 2 +- examples/temp_sensor/project.yml | 72 ++++---- examples/temp_sensor/src/AdcConductor.c | 1 - .../temp_sensor/src/AdcTemperatureSensor.c | 5 +- examples/temp_sensor/src/Main.c | 2 +- examples/temp_sensor/src/Model.c | 1 - examples/temp_sensor/src/TaskScheduler.c | 1 - .../temp_sensor/src/TemperatureCalculator.c | 2 +- examples/temp_sensor/src/TemperatureFilter.c | 2 +- examples/temp_sensor/src/TimerConfigurator.c | 1 - .../temp_sensor/src/TimerInterruptHandler.c | 1 - examples/temp_sensor/src/TimerModel.c | 1 - examples/temp_sensor/test/TestExecutor.c | 2 +- examples/temp_sensor/test/TestMain.c | 2 +- examples/temp_sensor/test/TestUsartHardware.c | 2 +- .../temp_sensor/test/adc/TestAdcConductor.c | 1 - .../temp_sensor/test/support/UnityHelper.c | 1 - .../temp_sensor/test/support/UnityHelper.h | 0 lib/ceedling.rb | 2 +- lib/ceedling/build_batchinator.rb | 1 - lib/ceedling/cacheinator.rb | 10 +- lib/ceedling/cacheinator_helper.rb | 2 +- lib/ceedling/config_matchinator.rb | 4 +- lib/ceedling/config_walkinator.rb | 6 +- lib/ceedling/configurator.rb | 21 ++- lib/ceedling/configurator_builder.rb | 4 +- lib/ceedling/configurator_plugins.rb | 2 +- lib/ceedling/configurator_setup.rb | 10 +- lib/ceedling/configurator_validator.rb | 42 ++--- lib/ceedling/constants.rb | 8 +- lib/ceedling/erb_wrapper.rb | 2 +- lib/ceedling/exceptions.rb | 2 +- lib/ceedling/file_finder.rb | 9 +- lib/ceedling/file_finder_helper.rb | 26 ++- lib/ceedling/file_path_collection_utils.rb | 14 +- lib/ceedling/file_path_utils.rb | 4 +- lib/ceedling/file_system_wrapper.rb | 2 +- lib/ceedling/generator.rb | 18 +- lib/ceedling/generator_helper.rb | 6 +- lib/ceedling/generator_mocks.rb | 4 +- lib/ceedling/generator_test_results.rb | 22 +-- .../generator_test_results_backtrace.rb | 2 +- .../generator_test_results_sanity_checker.rb | 20 +-- lib/ceedling/generator_test_runner.rb | 4 +- lib/ceedling/include_pathinator.rb | 2 +- lib/ceedling/loginator.rb | 2 +- lib/ceedling/makefile.rb | 4 +- lib/ceedling/objects.yml | 2 +- lib/ceedling/plugin.rb | 2 +- lib/ceedling/plugin_manager.rb | 2 +- lib/ceedling/plugin_reportinator.rb | 22 +-- lib/ceedling/plugin_reportinator_helper.rb | 10 +- lib/ceedling/preprocessinator.rb | 20 +-- lib/ceedling/preprocessinator_file_handler.rb | 10 +- .../preprocessinator_includes_handler.rb | 44 ++--- lib/ceedling/rake_utils.rb | 2 +- lib/ceedling/rakefile.rb | 2 +- lib/ceedling/reportinator.rb | 6 +- lib/ceedling/rules_release.rake | 1 - lib/ceedling/rules_tests.rake | 1 - lib/ceedling/setupinator.rb | 4 +- lib/ceedling/stream_wrapper.rb | 2 +- lib/ceedling/system_utils.rb | 6 +- lib/ceedling/system_wrapper.rb | 10 +- lib/ceedling/task_invoker.rb | 16 +- lib/ceedling/tasks_base.rake | 1 - lib/ceedling/tasks_filesystem.rake | 4 +- lib/ceedling/tasks_release.rake | 9 +- lib/ceedling/tasks_tests.rake | 1 - lib/ceedling/test_context_extractor.rb | 8 +- lib/ceedling/test_invoker.rb | 24 +-- lib/ceedling/test_invoker_helper.rb | 14 +- lib/ceedling/tool_executor_helper.rb | 2 +- lib/ceedling/tool_validator.rb | 16 +- plugins/beep/config/defaults_beep.rb | 6 +- plugins/beep/lib/beep.rb | 15 +- plugins/bullseye/assets/template.erb | 1 - plugins/bullseye/bullseye.rake | 1 + plugins/bullseye/config/defaults.yml | 0 plugins/bullseye/lib/bullseye.rb | 27 +-- plugins/command_hooks/lib/command_hooks.rb | 39 ++-- .../lib/compile_commands_json_db.rb | 6 +- plugins/dependencies/Rakefile | 2 +- plugins/dependencies/config/defaults.yml | 24 +-- plugins/dependencies/dependencies.rake | 1 - plugins/dependencies/example/boss/project.yml | 16 +- plugins/dependencies/example/boss/src/boss.c | 2 +- plugins/dependencies/example/boss/src/boss.h | 2 +- plugins/dependencies/example/boss/src/main.c | 4 +- .../example/boss/test/test_boss.c | 2 +- .../example/supervisor/project.yml | 14 +- .../example/supervisor/src/supervisor.c | 2 +- .../example/supervisor/src/supervisor.h | 2 +- .../example/supervisor/test/test_supervisor.c | 2 +- plugins/dependencies/lib/dependencies.rb | 36 ++-- plugins/fff/Rakefile | 2 +- plugins/fff/config/fff.yml | 2 +- plugins/fff/examples/fff_example/project.yml | 13 +- .../fff/examples/fff_example/src/display.c | 2 +- plugins/fff/lib/fff_mock_generator.rb | 2 +- .../spec/fff_mock_header_generator_spec.rb | 2 +- .../spec/fff_mock_source_generator_spec.rb | 2 +- plugins/fff/spec/header_generator.rb | 2 +- plugins/fff/src/fff_unity_helper.h | 2 +- plugins/fff/vendor/fff/LICENSE | 2 +- plugins/fff/vendor/fff/Makefile | 2 +- plugins/fff/vendor/fff/buildandtest | 2 +- plugins/fff/vendor/fff/examples/Makefile | 4 +- .../fff/examples/driver_testing/Makefile | 2 +- .../examples/driver_testing/driver.test.cpp | 1 - .../vendor/fff/examples/embedded_ui/Kata.txt | 24 +-- .../vendor/fff/examples/embedded_ui/Makefile | 4 +- .../fff/examples/embedded_ui/UI_test_cpp.cpp | 2 - plugins/fff/vendor/fff/fakegen.rb | 32 ++-- plugins/fff/vendor/fff/fff.h | 168 +++++++++--------- plugins/fff/vendor/fff/gtest/Makefile | 3 +- plugins/fff/vendor/fff/test/Makefile | 9 +- plugins/fff/vendor/fff/test/fff_test_cpp.cpp | 1 - .../vendor/fff/test/fff_test_global_cpp.cpp | 2 - .../fff/vendor/fff/test/test_cases.include | 2 - plugins/gcov/gcov.rake | 2 +- plugins/gcov/lib/gcov.rb | 10 +- plugins/gcov/lib/gcovr_reportinator.rb | 10 +- .../gcov/lib/reportgenerator_reportinator.rb | 4 +- plugins/module_generator/Rakefile | 6 +- .../config/module_generator.yml | 4 +- plugins/module_generator/example/project.yml | 18 +- .../module_generator/lib/module_generator.rb | 3 +- .../module_generator/module_generator.rake | 1 + .../config/defaults.yml | 2 +- .../lib/report_build_warnings_log.rb | 2 +- .../config/defaults.yml | 2 +- .../lib/cppunit_tests_reporter.rb | 2 +- .../lib/html_tests_reporter.rb | 2 +- .../lib/json_tests_reporter.rb | 6 +- .../lib/junit_tests_reporter.rb | 2 +- .../lib/report_tests_log_factory.rb | 12 +- .../lib/tests_reporter.rb | 6 +- .../assets/template.erb | 1 - .../lib/report_tests_pretty_stdout.rb | 6 +- .../lib/report_tests_raw_output_log.rb | 2 +- .../config/defaults.yml | 2 +- .../lib/report_tests_teamcity_stdout.rb | 8 +- spec/configurator_builder_spec.rb | 2 +- spec/configurator_helper_spec.rb | 2 +- spec/configurator_spec.rb | 2 +- spec/file_finder_helper_spec.rb | 4 +- spec/gcov/gcov_test_cases_spec.rb | 6 +- ...erator_test_results_sanity_checker_spec.rb | 6 +- spec/generator_test_results_spec.rb | 8 +- spec/reportinator_spec.rb | 2 +- spec/spec_helper.rb | 2 - spec/support/other_target.yml | 1 - spec/support/target.yml | 1 - spec/support/test_example_mangled.pass | 2 +- spec/system_utils_spec.rb | 6 +- spec/tool_executor_helper_spec.rb | 6 +- vendor/behaviors/Rakefile | 12 +- vendor/behaviors/lib/behaviors.rb | 8 +- vendor/behaviors/lib/behaviors/reporttask.rb | 14 +- vendor/behaviors/test/behaviors_tasks_test.rb | 2 +- vendor/diy/History.txt | 4 +- vendor/diy/README.rdoc | 8 +- vendor/diy/TODO.txt | 1 - vendor/diy/diy.gemspec | 1 - vendor/diy/lib/diy.rb | 60 +++---- vendor/diy/lib/diy/factory.rb | 5 +- vendor/diy/sample_code/objects.yml | 1 - vendor/diy/test/constructor.rb | 8 +- vendor/diy/test/diy_test.rb | 46 ++--- vendor/diy/test/files/cat/extra_conflict.yml | 2 +- vendor/diy/test/files/donkey/foo.rb | 1 - vendor/diy/test/files/factory/dog.rb | 1 - vendor/diy/test/files/factory/kitten.rb | 1 - .../functions/attached_things_builder.rb | 2 +- .../test/files/functions/invalid_method.yml | 4 +- .../test/files/functions/method_extractor.rb | 4 +- .../files/functions/nonsingleton_objects.yml | 4 +- vendor/diy/test/files/functions/objects.yml | 8 +- vendor/diy/test/files/functions/thing.rb | 2 +- .../diy/test/files/functions/thing_builder.rb | 14 +- .../test/files/functions/things_builder.rb | 2 +- vendor/diy/test/files/gnu/objects.yml | 1 - vendor/diy/test/files/gnu/thinger.rb | 1 - vendor/diy/test/files/goat/plane.rb | 2 +- .../files/namespace/bad_module_specified.yml | 1 - .../files/namespace/class_name_combine.yml | 1 - vendor/diy/test/files/namespace/hello.txt | 2 +- .../files/namespace/no_module_specified.yml | 1 - vendor/diy/test/files/namespace/objects.yml | 3 +- .../diy/test/files/namespace/subcontext.yml | 3 +- .../diy/test/files/non_singleton/objects.yml | 1 - vendor/diy/test/test_helper.rb | 6 +- vendor/hardmock/CHANGES | 16 +- vendor/hardmock/README | 8 +- vendor/hardmock/config/environment.rb | 2 +- vendor/hardmock/lib/assert_error.rb | 4 +- vendor/hardmock/lib/extend_test_unit.rb | 2 +- vendor/hardmock/lib/hardmock.rb | 6 +- vendor/hardmock/lib/hardmock/errors.rb | 4 +- vendor/hardmock/lib/hardmock/expectation.rb | 32 ++-- vendor/hardmock/lib/hardmock/expector.rb | 6 +- .../hardmock/lib/hardmock/method_cleanout.rb | 2 +- vendor/hardmock/lib/hardmock/mock.rb | 22 +-- vendor/hardmock/lib/hardmock/stubbing.rb | 21 ++- vendor/hardmock/lib/hardmock/trapper.rb | 8 +- vendor/hardmock/lib/test_unit_before_after.rb | 26 +-- vendor/hardmock/rake_tasks/rdoc.rake | 3 +- .../test/functional/assert_error_test.rb | 14 +- .../test/functional/auto_verify_test.rb | 26 +-- .../test/functional/direct_mock_usage_test.rb | 74 ++++---- .../hardmock/test/functional/hardmock_test.rb | 63 ++++--- .../hardmock/test/functional/stubbing_test.rb | 33 ++-- vendor/hardmock/test/test_helper.rb | 4 +- .../test/unit/expectation_builder_test.rb | 6 +- vendor/hardmock/test/unit/expectation_test.rb | 112 ++++++------ .../test/unit/method_cleanout_test.rb | 4 +- .../hardmock/test/unit/mock_control_test.rb | 18 +- vendor/hardmock/test/unit/mock_test.rb | 44 ++--- .../test/unit/test_unit_before_after_test.rb | 22 +-- vendor/hardmock/test/unit/trapper_test.rb | 4 +- 242 files changed, 1218 insertions(+), 1211 deletions(-) create mode 100644 .github/workflows/pre-commit.yml create mode 100644 .pre-commit-config.yaml mode change 100644 => 100755 Rakefile mode change 100755 => 100644 examples/temp_sensor/test/support/UnityHelper.h mode change 100755 => 100644 plugins/bullseye/config/defaults.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 680cf5cb6..6600d3a1f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,7 +55,7 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - + # Install Ruby Testing Tools (Bundler version should match the one in Gemfile.lock) - name: Install Ruby Testing Tools run: | @@ -152,7 +152,7 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - + # Install Ruby Testing Tools # Bundler version should match the one in Gemfile.lock - name: Install Ruby Testing Tools @@ -284,4 +284,3 @@ jobs: # prerelease: true # files: | # *.gem - diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml new file mode 100644 index 000000000..f5b71e3c9 --- /dev/null +++ b/.github/workflows/pre-commit.yml @@ -0,0 +1,50 @@ +# ========================================================================= +# Ceedling - Test-Centered Build System for C +# ThrowTheSwitch.org +# Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams +# SPDX-License-Identifier: MIT +# ========================================================================= + +--- +# Continuous Integration Workflow +name: pre-commit + +# Triggers the workflow on push or pull request events for master & test branches +on: + push: + branches: + - 'master' + - 'test/**' + pull_request: + branches: [ master ] + workflow_dispatch: + + +# Needed by softprops/action-gh-release +permissions: + # Allow built gem file push to Github release + contents: write + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + # based on https://pre-commit.com/#github-actions-example + - name: set PY + run: echo "PY=$(python3.12 -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV + - name: Cache pre-commit + uses: actions/cache@v4 + with: + path: ~/.cache/pre-commit + key: pre-commit| ${{ env.PY }} | ${{ hashFiles('.pre-commit-config.yaml') }} + - name: Install pre-commit + # install fixed version for reproducibility + run: python3.12 -m pip install pre-commit==3.7.1 + - name: Run pre-commit + run: pre-commit run --all-files diff --git a/.gitmodules b/.gitmodules index e00535031..5515f213c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,5 +8,5 @@ branch = master [submodule "vendor/cmock"] path = vendor/cmock - url = https://github.com/ThrowTheSwitch/CMock.git + url = https://github.com/ThrowTheSwitch/CMock.git branch = master diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..0a4d70c11 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,19 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.6.0 + hooks: + - id: check-added-large-files + - id: check-case-conflict + - id: check-executables-have-shebangs + - id: check-merge-conflict + - id: check-shebang-scripts-are-executable + - id: check-symlinks + - id: check-yaml + args: [--allow-multiple-documents] + - id: destroyed-symlinks + - id: end-of-file-fixer + - id: fix-byte-order-marker + - id: mixed-line-ending + - id: trailing-whitespace + exclude_types: + - markdown diff --git a/Rakefile b/Rakefile old mode 100644 new mode 100755 diff --git a/assets/default_gitignore b/assets/default_gitignore index 492412d9f..1dadd9fd8 100644 --- a/assets/default_gitignore +++ b/assets/default_gitignore @@ -3,5 +3,5 @@ /build/ # But reserve the artifacts/ subdirectory for revision control. -# Ceedling's notion of artifacts includes reports or release binaries you *may* want to revision. +# Ceedling's notion of artifacts includes reports or release binaries you *may* want to revision. !/build/artifacts/ diff --git a/assets/project_as_gem.yml b/assets/project_as_gem.yml index 1427b5cb5..53d02c176 100644 --- a/assets/project_as_gem.yml +++ b/assets/project_as_gem.yml @@ -23,7 +23,7 @@ :default_tasks: - test:all - # performance options. If your tools start giving mysterious errors, consider + # performance options. If your tools start giving mysterious errors, consider # dropping this to 1 to force single-tasking :test_threads: 8 :compile_threads: 8 @@ -47,8 +47,8 @@ :artifacts: [] # Plugins are optional Ceedling features which can be enabled. Ceedling supports -# a variety of plugins which may effect the way things are compiled, reported, -# or may provide new command options. Refer to the readme in each plugin for +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for # details on how to use it. :plugins: :load_paths: [] @@ -75,10 +75,10 @@ # Specify which reports you'd like from the log factory :report_tests_log_factory: :reports: - - json - - junit - - cppunit - - html + - json + - junit + - cppunit + - html # override the default extensions for your system and toolchain :extension: @@ -123,8 +123,8 @@ - TEST # Simple list option to add symbol 'TEST' to compilation of all files in all test executables :release: [] - # Enable to inject name of a test as a unique compilation symbol into its respective executable build. - :use_test_definition: FALSE + # Enable to inject name of a test as a unique compilation symbol into its respective executable build. + :use_test_definition: FALSE # Configure additional command line flags provided to tools used in each build step # :flags: @@ -188,7 +188,7 @@ :callback_include_count: true # Do we want cmock to include the number of calls to this callback, when using callbacks? :callback_after_arg_check: false # Do we want cmock to enforce an argument check first when using a callback? #:includes: [] # You can add additional includes here, or specify the location with the options below - #:includes_h_pre_orig_header: [] + #:includes_h_pre_orig_header: [] #:includes_h_post_orig_header: [] #:includes_c_pre_header: [] #:includes_c_post_header: [] @@ -196,7 +196,7 @@ #:array_size_name: 'size|len' # Specify a name or names that CMock might automatically recognize as the length of an array :exclude_setjmp_h: false # Don't use setjmp when running CMock. Note that this might result in late reporting or out-of-order failures. -# Configuration options specific to Unity. +# Configuration options specific to Unity. :unity: :defines: - UNITY_EXCLUDE_FLOAT @@ -296,7 +296,7 @@ # :includes: # - include/** -# :subprojects: +# :subprojects: # :paths: # - :name: libprojectA # :source: @@ -338,64 +338,64 @@ # As [:tools] is blank, gcc will be used (so long as it's in your system path) # See documentation to configure a given toolchain for use # :tools: -# :test_compiler: +# :test_compiler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_linker: +# :test_linker: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_assembler: +# :test_assembler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_fixture: +# :test_fixture: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_includes_preprocessor: +# :test_includes_preprocessor: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_file_preprocessor: +# :test_file_preprocessor: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_file_preprocessor_directives: +# :test_file_preprocessor_directives: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_dependencies_generator: +# :test_dependencies_generator: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_compiler: +# :release_compiler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_linker: +# :release_linker: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_assembler: +# :release_assembler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_dependencies_generator: +# :release_dependencies_generator: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE ... diff --git a/assets/project_with_guts.yml b/assets/project_with_guts.yml index f1067493c..3c40aa554 100644 --- a/assets/project_with_guts.yml +++ b/assets/project_with_guts.yml @@ -23,7 +23,7 @@ :default_tasks: - test:all - # performance options. If your tools start giving mysterious errors, consider + # performance options. If your tools start giving mysterious errors, consider # dropping this to 1 to force single-tasking :test_threads: 8 :compile_threads: 8 @@ -47,8 +47,8 @@ :artifacts: [] # Plugins are optional Ceedling features which can be enabled. Ceedling supports -# a variety of plugins which may effect the way things are compiled, reported, -# or may provide new command options. Refer to the readme in each plugin for +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for # details on how to use it. :plugins: :load_paths: [] @@ -75,10 +75,10 @@ # Specify which reports you'd like from the log factory :report_tests_log_factory: :reports: - - json - - junit - - cppunit - - html + - json + - junit + - cppunit + - html # override the default extensions for your system and toolchain :extension: @@ -123,8 +123,8 @@ - TEST # Simple list option to add symbol 'TEST' to compilation of all files in all test executables :release: [] - # Enable to inject name of a test as a unique compilation symbol into its respective executable build. - :use_test_definition: FALSE + # Enable to inject name of a test as a unique compilation symbol into its respective executable build. + :use_test_definition: FALSE # Configure additional command line flags provided to tools used in each build step # :flags: @@ -188,7 +188,7 @@ :callback_include_count: true # Do we want cmock to include the number of calls to this callback, when using callbacks? :callback_after_arg_check: false # Do we want cmock to enforce an argument check first when using a callback? #:includes: [] # You can add additional includes here, or specify the location with the options below - #:includes_h_pre_orig_header: [] + #:includes_h_pre_orig_header: [] #:includes_h_post_orig_header: [] #:includes_c_pre_header: [] #:includes_c_post_header: [] @@ -196,7 +196,7 @@ #:array_size_name: 'size|len' # Specify a name or names that CMock might automatically recognize as the length of an array :exclude_setjmp_h: false # Don't use setjmp when running CMock. Note that this might result in late reporting or out-of-order failures. -# Configuration options specific to Unity. +# Configuration options specific to Unity. :unity: :defines: - UNITY_EXCLUDE_FLOAT @@ -267,7 +267,7 @@ # :includes: # :tst: [] # :src: [] -# :boilerplates: +# :boilerplates: # :src: "" # :inc: "" # :tst: "" @@ -296,7 +296,7 @@ # :includes: # - include/** -# :subprojects: +# :subprojects: # :paths: # - :name: libprojectA # :source: @@ -339,64 +339,64 @@ # As [:tools] is blank, gcc will be used (so long as it's in your system path) # See documentation to configure a given toolchain for use # :tools: -# :test_compiler: +# :test_compiler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_linker: +# :test_linker: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_assembler: +# :test_assembler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_fixture: +# :test_fixture: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_includes_preprocessor: +# :test_includes_preprocessor: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_file_preprocessor: +# :test_file_preprocessor: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_file_preprocessor_directives: +# :test_file_preprocessor_directives: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_dependencies_generator: +# :test_dependencies_generator: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_compiler: +# :release_compiler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_linker: +# :release_linker: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_assembler: +# :release_assembler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_dependencies_generator: +# :release_dependencies_generator: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE ... diff --git a/assets/test_example_file_unity_printf.c b/assets/test_example_file_unity_printf.c index b87da5434..135ce90df 100644 --- a/assets/test_example_file_unity_printf.c +++ b/assets/test_example_file_unity_printf.c @@ -16,4 +16,3 @@ void test_add_numbers_adds_numbers(void) { TEST_PRINTF("1 + 1 =%d", 1 + 1); TEST_ASSERT_EQUAL_INT(2, add_numbers(1,1)); } - diff --git a/assets/test_example_file_verbose.c b/assets/test_example_file_verbose.c index 63d2f3819..70c3c3473 100644 --- a/assets/test_example_file_verbose.c +++ b/assets/test_example_file_verbose.c @@ -16,4 +16,3 @@ void test_add_numbers_adds_numbers(void) { printf("1 + 1 = 2\n"); TEST_ASSERT_EQUAL_INT(2, add_numbers(1,1)); } - diff --git a/bin/app_cfg.rb b/bin/app_cfg.rb index e09c33d7e..12d0ac065 100644 --- a/bin/app_cfg.rb +++ b/bin/app_cfg.rb @@ -70,7 +70,7 @@ def initialize() rescue # Do nothing; allow value already set to stand as default end - end + end def set_project_config(config) @app_cfg[:project_config] = config diff --git a/bin/ceedling b/bin/ceedling index 0b928258b..1698731fd 100755 --- a/bin/ceedling +++ b/bin/ceedling @@ -57,7 +57,7 @@ begin # 4. Perform object construction + dependency injection from bin/objects.yml # 5. Remove all paths added to $LOAD_PATH # (Main application will restore certain paths -- possibly updated by :which_ceedling) - $LOAD_PATH.unshift( + $LOAD_PATH.unshift( CEEDLING_APPCFG[:ceedling_lib_path], diy_vendor_path ) @@ -87,7 +87,7 @@ begin # 2. `objects` hash filled with DIY output # 3. CEEDLING_HANDOFF_OBJECTS global is set require 'cli' - + # Remove all load paths we've relied on (main application will set up load paths again) $LOAD_PATH.delete( ceedling_bin_path ) $LOAD_PATH.delete( CEEDLING_APPCFG[:ceedling_lib_path] ) @@ -118,7 +118,7 @@ begin when '--version', '-v' # Call Ceedling's version handler directly objects[:cli_handler].version() - end + end # Run command line args through Thor (including "naked" Rake tasks) else @@ -137,7 +137,7 @@ rescue Thor::UndefinedCommandError # our Thor configuration doesn't see those flags. # We catch the exception of unrecognized Thor commands here (i.e. any "naked" Rake tasks), # and try again by forcing the Thor `build` command at the beginning of the command line. - # This way, our Thor handling will process option flags and properly pass the Rake tasks + # This way, our Thor handling will process option flags and properly pass the Rake tasks # along as well. # Necessary nested exception handling @@ -158,4 +158,3 @@ rescue StandardError => ex boom_handler( objects[:loginator], ex ) exit(1) end - diff --git a/bin/cli.rb b/bin/cli.rb index fb4f38632..c82ae7b33 100644 --- a/bin/cli.rb +++ b/bin/cli.rb @@ -22,7 +22,7 @@ ## Ceedling's command line is processed with these mechanisms: ## 1. Special / edge case hacking of ARGV directly. ## 2. Thor for all application commands and flags. -## 3. Handing off to Rake from either (1) or (2) for task listing or running +## 3. Handing off to Rake from either (1) or (2) for task listing or running ## build tasks. ## ## EDGE CASE HACKING @@ -30,8 +30,8 @@ ## Special / edge cases: ## 1. Silent backwards compatibility support for Rake's `-T`. ## 2. Thor does not recognize "naked" Rake build tasks as application commands -## (`ceedling test:all` instead of `ceedling build test:all`). So, we catch -## this exception and then provide the command line back to Thor as a `build` +## (`ceedling test:all` instead of `ceedling build test:all`). So, we catch +## this exception and then provide the command line back to Thor as a `build` ## command line. This also allows us to ensure Thor processes `build` option ## flags following naked build tasks that would otherwise be ignored if ## we simply passed a failing command line to Rake. @@ -45,12 +45,12 @@ ## command. The build command takes flags and tasks. Tasks are handed off to ## Rake to process. If no `build` keyword is present and `build` flags come ## after tasks, Thor sees the command line as unhandled commands. -## * The PermissiveCLI code handles unrecognized command exception so as to +## * The PermissiveCLI code handles unrecognized command exception so as to ## eat the Thor complaint and re-throw the exception for edge case handling. ## ## NOTES ## ----- -## * Ultimately, any unrecognized command or task is processed by Rake, and +## * Ultimately, any unrecognized command or task is processed by Rake, and ## Rake makes the complaint. ## @@ -69,12 +69,12 @@ ## brittle code -- relying on globals, etc. ## ## Because of this, care has been taken that this class contains as little -## logic as possible and is the funnel for any and all necessary global +## logic as possible and is the funnel for any and all necessary global ## references and other little oddball needs. ## -# Special handling to prevent Thor from barfing on unrecognized CLI arguments +# Special handling to prevent Thor from barfing on unrecognized CLI arguments # (i.e. Rake tasks) module PermissiveCLI def self.extended(base) @@ -124,15 +124,15 @@ module CeedlingTasks DOC_MIXIN_FLAG = "Merges the configuration mixin by name or filepath." - LONGDOC_LOCAL_FLAG = "`--local` copies Ceedling and its dependencies to a vendor/ - subdirectory in the root of the project. It also installs a - platform-appropriate executable script `ceedling` at the root of the + LONGDOC_LOCAL_FLAG = "`--local` copies Ceedling and its dependencies to a vendor/ + subdirectory in the root of the project. It also installs a + platform-appropriate executable script `ceedling` at the root of the project." - LONGDOC_MIXIN_FLAG = "`--mixin` merges the specified configuration mixin. This - flag may be repeated for multiple mixins. A simple mixin name initiates a - lookup from within mixin load paths in your project file and among built-in - mixins. A filepath and/or filename (with extension) will instead merge the + LONGDOC_MIXIN_FLAG = "`--mixin` merges the specified configuration mixin. This + flag may be repeated for multiple mixins. A simple mixin name initiates a + lookup from within mixin load paths in your project file and among built-in + mixins. A filepath and/or filename (with extension) will instead merge the specified YAML file. See documentation for complete details. \x5> --mixin my_compiler --mixin my/path/mixin.yml" @@ -167,14 +167,14 @@ def initialize(args, config, options) method_option :debug, :type => :boolean, :default => false, :hide => true long_desc( CEEDLING_HANDOFF_OBJECTS[:loginator].sanitize( <<-LONGDESC - `ceedling help` provides summary help for all available application commands + `ceedling help` provides summary help for all available application commands and build tasks. COMMAND is optional and will produce detailed help for a specific application command -- not a build or plugin task, however. - `ceedling help` also lists the available build operations from loading your - project configuration. Optionally, a project filepath and/or mixins may be + `ceedling help` also lists the available build operations from loading your + project configuration. Optionally, a project filepath and/or mixins may be provided to load a different project configuration than the default. Notes on Optional Flags: @@ -216,7 +216,7 @@ def help(command=nil) • #{LONGDOC_LOCAL_FLAG} - • `--force` completely destroys anything found in the target path for the + • `--force` completely destroys anything found in the target path for the new project. LONGDESC ) ) @@ -240,8 +240,8 @@ def new(name, dest=nil) PATH is required and should be the root of the project to upgrade. - This command only meaningfully operates on projects wth a local vendored copy - of Ceedling (in /vendor/) and optional documentation (in + This command only meaningfully operates on projects wth a local vendored copy + of Ceedling (in /vendor/) and optional documentation (in /docs/). Running this command replaces vendored Ceedling with the version running @@ -252,7 +252,7 @@ def new(name, dest=nil) Notes on Optional Flags: - • `--project` specifies a filename (optionally with leading path) for the + • `--project` specifies a filename (optionally with leading path) for the project configuration file used in the project existence check. Otherwise, the default ./#{DEFAULT_PROJECT_FILENAME} at the root of the project is checked. @@ -290,14 +290,14 @@ def upgrade(path) \x5 > ceedling build test:all TASKS are zero or more build operations created from your project configuration. - If no tasks are provided, built-in default tasks or your :project ↳ + If no tasks are provided, built-in default tasks or your :project ↳ :default_tasks will be executed. Notes on Optional Flags: • #{LONGDOC_MIXIN_FLAG} - • `--test-case` and its inverse `--exclude-test-case` set test case name + • `--test-case` and its inverse `--exclude-test-case` set test case name matchers to run only a subset of the unit test suite. See docs for full details. LONGDESC ) ) @@ -325,8 +325,8 @@ def build(*tasks) FILEPATH is a required path to a destination YAML file. A nonexistent path will be created. - SECTIONS is an optional config “path” that extracts a portion of a configuration. The - top-level YAML container will be the path’s last element. + SECTIONS is an optional config “path” that extracts a portion of a configuration. The + top-level YAML container will be the path’s last element. The following example will produce config.yml containing ':test_compiler: {...}'. \x5> ceedling dumpconfig my/path/config.yml tools test_compiler @@ -334,8 +334,8 @@ def build(*tasks) • #{LONGDOC_MIXIN_FLAG} - • `--app` loads various settings, merges defaults, loads plugin config changes, and validates - the configuration. Disabling it dumps project config after any mixins but before any + • `--app` loads various settings, merges defaults, loads plugin config changes, and validates + the configuration. Disabling it dumps project config after any mixins but before any application manipulations. LONGDESC ) ) @@ -384,7 +384,7 @@ def environment() <<-LONGDESC `ceedling examples` lists the names of the example projects that come packaged with Ceedling. - The output of this list is most useful when used by the `ceedling example` (no ‘s’) command + The output of this list is most useful when used by the `ceedling example` (no ‘s’) command to extract an example project to your filesystem. LONGDESC ) ) @@ -404,14 +404,14 @@ def examples() method_option :debug, :type => :boolean, :default => false, :hide => true long_desc( CEEDLING_HANDOFF_OBJECTS[:loginator].sanitize( <<-LONGDESC - `ceedling example` extracts the named example project from within Ceedling to + `ceedling example` extracts the named example project from within Ceedling to your filesystem. NAME is required to specify the example to extract. A list of example projects - is available with the `examples` command. NAME will be the containing directory + is available with the `examples` command. NAME will be the containing directory for the extracted project. - DEST is an optional containing directory path (ex: /). The default + DEST is an optional containing directory path (ex: /). The default is your working directory. A nonexistent path will be created. Notes on Optional Flags: diff --git a/bin/cli_handler.rb b/bin/cli_handler.rb index 236ad036a..24dda7ec2 100644 --- a/bin/cli_handler.rb +++ b/bin/cli_handler.rb @@ -103,7 +103,7 @@ def new_project(env, app_cfg, options, name, dest) # Copy / set up project file @helper.create_project_file( dest, options[:local] ) if options[:configs] - # Copy Git Ignore file + # Copy Git Ignore file if options[:gitsupport] @actions._copy_file( File.join( 'assets', 'default_gitignore' ), @@ -112,7 +112,7 @@ def new_project(env, app_cfg, options, name, dest) ) @actions._touch_file( File.join( dest, 'test/support', '.gitkeep') ) end - + @loginator.log() # Blank line @loginator.log( "New project '#{name}' created at #{dest}/\n", Verbosity::NORMAL, LogLabels::TITLE ) end @@ -196,7 +196,7 @@ def build(env:, app_cfg:, options:{}, tasks:) _, path = @helper.which_ceedling?( env:env, config:config, app_cfg:app_cfg ) - @helper.load_ceedling( + @helper.load_ceedling( config: config, rakefile_path: path, default_tasks: default_tasks @@ -225,7 +225,7 @@ def dumpconfig(env, app_cfg, options, filepath, sections) _, path = @helper.which_ceedling?( env:env, config:config, app_cfg:app_cfg ) - config = @helper.load_ceedling( + config = @helper.load_ceedling( config: config, rakefile_path: path, default_tasks: default_tasks @@ -237,7 +237,7 @@ def dumpconfig(env, app_cfg, options, filepath, sections) @helper.dump_yaml( config, filepath, sections ) @loginator.log() # Blank line - @loginator.log( "Dumped project configuration to #{filepath}\n", Verbosity::NORMAL, LogLabels::TITLE ) + @loginator.log( "Dumped project configuration to #{filepath}\n", Verbosity::NORMAL, LogLabels::TITLE ) end end @@ -369,7 +369,7 @@ def version() private def list_rake_tasks(env:, app_cfg:, filepath:nil, mixins:[], silent:false) - _, config = + _, config = @configinator.loadinate( builtin_mixins:BUILTIN_MIXINS, filepath: filepath, diff --git a/bin/cli_helper.rb b/bin/cli_helper.rb index bb432349b..d53857155 100644 --- a/bin/cli_helper.rb +++ b/bin/cli_helper.rb @@ -112,7 +112,7 @@ def which_ceedling?(env:, config:{}, app_cfg:) # Update variable to full application start path ceedling_path = app_cfg[:ceedling_rakefile_filepath] - + @loginator.log( " > Launching Ceedling from #{ceedling_path}/", Verbosity::OBNOXIOUS ) return :path, ceedling_path @@ -254,7 +254,7 @@ def dump_yaml(config, filepath, sections) if !sections.empty? # Symbolify section names _sections = sections.map {|section| section.to_sym} - + # Try to extract subconfig from section path walked = @config_walkinator.fetch_value( config, *_sections ) @@ -362,7 +362,7 @@ def vendor_tools(ceedling_root, dest) # Copy folders from current Ceedling into project %w{plugins lib bin}.each do |folder| - @actions._directory( + @actions._directory( folder, File.join( vendor_path, folder ), :force => true @@ -375,12 +375,12 @@ def vendor_tools(ceedling_root, dest) # Assembly necessary subcomponent dirs components = [ 'vendor/c_exception/lib/', - 'vendor/cmock/config/', - 'vendor/cmock/lib/', - 'vendor/cmock/src/', - 'vendor/diy/lib/', - 'vendor/unity/auto/', - 'vendor/unity/src/', + 'vendor/cmock/config/', + 'vendor/cmock/lib/', + 'vendor/cmock/src/', + 'vendor/diy/lib/', + 'vendor/unity/auto/', + 'vendor/unity/src/', ] # Copy necessary subcomponent dirs into project @@ -402,11 +402,11 @@ def vendor_tools(ceedling_root, dest) # Look up licenses using a Glob as capitalization can be inconsistent glob = File.join( ceedling_root, src, 'license.txt' ) listing = @file_wrapper.directory_listing( glob ) # Already case-insensitive - + # Safety check on nil references since we explicitly reference first element next if listing.empty? - - # Add license copying to hash + + # Add license copying to hash license = listing.first filepath = File.join( vendor_path, src, File.basename( license ) ) license_files[ filepath ] = license diff --git a/bin/configinator.rb b/bin/configinator.rb index b99aa86f5..c6693c3e9 100644 --- a/bin/configinator.rb +++ b/bin/configinator.rb @@ -108,4 +108,4 @@ def default_tasks(config:, default_tasks:) return default_tasks end -end \ No newline at end of file +end diff --git a/bin/objects.yml b/bin/objects.yml index cf63d15aa..0c1347506 100644 --- a/bin/objects.yml +++ b/bin/objects.yml @@ -76,5 +76,3 @@ configinator: - config_walkinator - projectinator - mixinator - - diff --git a/bin/path_validator.rb b/bin/path_validator.rb index 91dd793f5..37118db7f 100644 --- a/bin/path_validator.rb +++ b/bin/path_validator.rb @@ -51,4 +51,4 @@ def filepath?(str) return (!File.extname( str ).empty?) || (str.include?( File::SEPARATOR )) end -end \ No newline at end of file +end diff --git a/bin/projectinator.rb b/bin/projectinator.rb index 62412efd7..a94a9f03e 100644 --- a/bin/projectinator.rb +++ b/bin/projectinator.rb @@ -33,7 +33,7 @@ def load(filepath:nil, env:{}, silent:false) elsif env[PROJECT_FILEPATH_ENV_VAR] filepath = env[PROJECT_FILEPATH_ENV_VAR] @path_validator.standardize_paths( filepath ) - config = load_filepath( + config = load_filepath( filepath, "from environment variable `#{PROJECT_FILEPATH_ENV_VAR}`", silent @@ -59,7 +59,7 @@ def load(filepath:nil, env:{}, silent:false) # Determine if project configuration is available. # - Simplest, default case simply tries to load default project file location. - # - Otherwise, attempts to load a filepath, the default environment variable, + # - Otherwise, attempts to load a filepath, the default environment variable, # or both can be specified. def config_available?(filepath:nil, env:{}, silent:true) available = true diff --git a/ceedling.gemspec b/ceedling.gemspec index 06549a05f..ab2118794 100644 --- a/ceedling.gemspec +++ b/ceedling.gemspec @@ -21,8 +21,8 @@ Gem::Specification.new do |s| s.description = <<-DESC Ceedling is a build automation tool that helps you create and run C unit test suites. -Ceedling provides two core functions: - [1] It packages up several tools including the C unit test framework Unity, the mock generation tool CMock, and other features. +Ceedling provides two core functions: + [1] It packages up several tools including the C unit test framework Unity, the mock generation tool CMock, and other features. [2] It simplifies tool configuration for embedded or native C toolchains and automates the running and reporting of tests. Ceedling projects are created with a YAML configuration file. A variety of conventions within the tool simplify generating mocks from C files and assembling suites of unit test functions. @@ -36,9 +36,9 @@ Ceedling projects are created with a YAML configuration file. A variety of conve "mailing_list_uri" => "https://groups.google.com/forum/#!categories/throwtheswitch/ceedling", "source_code_uri" => "https://github.com/ThrowTheSwitch/Ceedling" } - + s.required_ruby_version = ">= 3.0.0" - + s.add_dependency "thor", ">= 0.14" s.add_dependency "rake", ">= 12", "< 14" s.add_dependency "deep_merge", "~> 1.2" diff --git a/config/test_environment.rb b/config/test_environment.rb index affaacce3..9fc2a8c5a 100644 --- a/config/test_environment.rb +++ b/config/test_environment.rb @@ -6,7 +6,7 @@ # ========================================================================= # Setup our load path: -[ +[ 'lib', 'test', 'vendor/behaviors/lib', diff --git a/examples/temp_sensor/mixin/add_unity_helper.yml b/examples/temp_sensor/mixin/add_unity_helper.yml index c24772311..720789242 100644 --- a/examples/temp_sensor/mixin/add_unity_helper.yml +++ b/examples/temp_sensor/mixin/add_unity_helper.yml @@ -15,6 +15,6 @@ # Add the unity helper configuration to cmock :cmock: - :unity_helper_path: + :unity_helper_path: - test/support/UnityHelper.h ... diff --git a/examples/temp_sensor/project.yml b/examples/temp_sensor/project.yml index 25138210d..0cb40f422 100644 --- a/examples/temp_sensor/project.yml +++ b/examples/temp_sensor/project.yml @@ -22,7 +22,7 @@ :default_tasks: - test:all - # performance options. If your tools start giving mysterious errors, consider + # performance options. If your tools start giving mysterious errors, consider # dropping this to 1 to force single-tasking :test_threads: 8 :compile_threads: 8 @@ -47,8 +47,8 @@ - mixin # Plugins are optional Ceedling features which can be enabled. Ceedling supports -# a variety of plugins which may effect the way things are compiled, reported, -# or may provide new command options. Refer to the readme in each plugin for +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for # details on how to use it. :plugins: :load_paths: [] @@ -75,10 +75,10 @@ # Specify which reports you'd like from the log factory :report_tests_log_factory: :reports: - - json - - junit - - cppunit - - html + - json + - junit + - cppunit + - html # override the default extensions for your system and toolchain :extension: @@ -123,14 +123,14 @@ - TEST # Simple list option to add symbol 'TEST' to compilation of all files in all test executables :release: [] - # Enable to inject name of a test as a unique compilation symbol into its respective executable build. - :use_test_definition: FALSE + # Enable to inject name of a test as a unique compilation symbol into its respective executable build. + :use_test_definition: FALSE # Configure additional command line flags provided to tools used in each build step :flags: :test: :compile: - 'TemperatureCalculator': + 'TemperatureCalculator': - '-DSUPPLY_VOLTAGE=3.0' # Configuration Options specific to CMock. See CMock docs for details @@ -215,7 +215,7 @@ # :includes: # :tst: [] # :src: []:module_generator: -# :boilerplates: +# :boilerplates: # :src: "" # :inc: "" # :tst: "" @@ -244,7 +244,7 @@ # :includes: # - include/** -# :subprojects: +# :subprojects: # :paths: # - :name: libprojectA # :source: @@ -287,64 +287,64 @@ # As [:tools] is blank, gcc will be used (so long as it's in your system path) # See documentation to configure a given toolchain for use # :tools: -# :test_compiler: +# :test_compiler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_linker: +# :test_linker: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_assembler: +# :test_assembler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_fixture: +# :test_fixture: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_includes_preprocessor: +# :test_includes_preprocessor: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_file_preprocessor: +# :test_file_preprocessor: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_file_preprocessor_directives: +# :test_file_preprocessor_directives: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :test_dependencies_generator: +# :test_dependencies_generator: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_compiler: +# :release_compiler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_linker: +# :release_linker: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_assembler: +# :release_assembler: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE -# :release_dependencies_generator: +# :release_dependencies_generator: # :executable: # :arguments: [] -# :name: +# :name: # :optional: FALSE ... diff --git a/examples/temp_sensor/src/AdcConductor.c b/examples/temp_sensor/src/AdcConductor.c index b18a2f47a..1f23b750e 100644 --- a/examples/temp_sensor/src/AdcConductor.c +++ b/examples/temp_sensor/src/AdcConductor.c @@ -46,4 +46,3 @@ bool AdcConductor_YetAnotherTest(void) return AdModel_DoNothingExceptTestPointers(&example); } - diff --git a/examples/temp_sensor/src/AdcTemperatureSensor.c b/examples/temp_sensor/src/AdcTemperatureSensor.c index 9176fb7e1..4cf9f7152 100644 --- a/examples/temp_sensor/src/AdcTemperatureSensor.c +++ b/examples/temp_sensor/src/AdcTemperatureSensor.c @@ -8,7 +8,7 @@ #include "Types.h" #include "AdcTemperatureSensor.h" -static inline uint32 ConvertAdcCountsToPicovolts(uint32 counts); +static inline uint32 ConvertAdcCountsToPicovolts(uint32 counts); static inline uint16 ConvertPicovoltsToMillivolts(uint32 picovolts); // @@ -48,11 +48,10 @@ static inline uint16 ConvertPicovoltsToMillivolts(uint32 picovolts) { const uint32 halfMillivoltInPicovolts = 500000; const uint32 picovoltsPerMillivolt = 1000000; - + // Add 0.5 mV to result so that truncation yields properly rounded result picovolts += halfMillivoltInPicovolts; // Divide appropriately to convert to millivolts return (uint16)(picovolts / picovoltsPerMillivolt); } - diff --git a/examples/temp_sensor/src/Main.c b/examples/temp_sensor/src/Main.c index 251d6af27..78c6cf258 100644 --- a/examples/temp_sensor/src/Main.c +++ b/examples/temp_sensor/src/Main.c @@ -41,7 +41,7 @@ int AppMain(void) Executor_Init(); while(Executor_Run()); - + return 0; } diff --git a/examples/temp_sensor/src/Model.c b/examples/temp_sensor/src/Model.c index 5a29ad37e..035a39d88 100644 --- a/examples/temp_sensor/src/Model.c +++ b/examples/temp_sensor/src/Model.c @@ -14,4 +14,3 @@ void Model_Init(void) TaskScheduler_Init(); TemperatureFilter_Init(); } - diff --git a/examples/temp_sensor/src/TaskScheduler.c b/examples/temp_sensor/src/TaskScheduler.c index 9d5e72cbe..8736b8fa9 100644 --- a/examples/temp_sensor/src/TaskScheduler.c +++ b/examples/temp_sensor/src/TaskScheduler.c @@ -76,4 +76,3 @@ bool TaskScheduler_DoAdc(void) return doIt; } - diff --git a/examples/temp_sensor/src/TemperatureCalculator.c b/examples/temp_sensor/src/TemperatureCalculator.c index d1741c88e..e0964b379 100644 --- a/examples/temp_sensor/src/TemperatureCalculator.c +++ b/examples/temp_sensor/src/TemperatureCalculator.c @@ -25,7 +25,7 @@ float TemperatureCalculator_Calculate(uint16 millivolts) const double coefficient_B = -0.1382009; double sensor_voltage = ((double)millivolts / 1000); double resistance; - + if (millivolts == 0) { return -INFINITY; diff --git a/examples/temp_sensor/src/TemperatureFilter.c b/examples/temp_sensor/src/TemperatureFilter.c index 92c27b395..0b3567739 100644 --- a/examples/temp_sensor/src/TemperatureFilter.c +++ b/examples/temp_sensor/src/TemperatureFilter.c @@ -39,7 +39,7 @@ void TemperatureFilter_ProcessInput(float temperature) initialized = FALSE; temperature = -INFINITY; } - + temperatureInCelcius = (temperatureInCelcius * 0.75f) + (temperature * 0.25); } } diff --git a/examples/temp_sensor/src/TimerConfigurator.c b/examples/temp_sensor/src/TimerConfigurator.c index 5e1c4c8d5..f2b3486de 100644 --- a/examples/temp_sensor/src/TimerConfigurator.c +++ b/examples/temp_sensor/src/TimerConfigurator.c @@ -55,4 +55,3 @@ void Timer_Start(void) { AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG; } - diff --git a/examples/temp_sensor/src/TimerInterruptHandler.c b/examples/temp_sensor/src/TimerInterruptHandler.c index 95d99b711..3e9e76aab 100644 --- a/examples/temp_sensor/src/TimerInterruptHandler.c +++ b/examples/temp_sensor/src/TimerInterruptHandler.c @@ -29,4 +29,3 @@ void Timer_InterruptHandler(void) systemTime += 10; } } - diff --git a/examples/temp_sensor/src/TimerModel.c b/examples/temp_sensor/src/TimerModel.c index 6ff88ed37..776b8e115 100644 --- a/examples/temp_sensor/src/TimerModel.c +++ b/examples/temp_sensor/src/TimerModel.c @@ -13,4 +13,3 @@ void TimerModel_UpdateTime(uint32 systemTime) { TaskScheduler_Update(systemTime); } - diff --git a/examples/temp_sensor/test/TestExecutor.c b/examples/temp_sensor/test/TestExecutor.c index 83b11fc81..54af0cc2b 100644 --- a/examples/temp_sensor/test/TestExecutor.c +++ b/examples/temp_sensor/test/TestExecutor.c @@ -29,7 +29,7 @@ void testInitShouldCallInitOfAllConductorsAndTheModel(void) AdcConductor_Init_Expect(); TimerConductor_Init_Expect(); Interrupt_Enable_Expect(); - + Executor_Init(); } diff --git a/examples/temp_sensor/test/TestMain.c b/examples/temp_sensor/test/TestMain.c index a9c081c07..e0ac93409 100644 --- a/examples/temp_sensor/test/TestMain.c +++ b/examples/temp_sensor/test/TestMain.c @@ -26,6 +26,6 @@ void testMainShouldCallExecutorInitAndContinueToCallExecutorRunUntilHalted(void) Executor_Run_ExpectAndReturn(TRUE); Executor_Run_ExpectAndReturn(TRUE); Executor_Run_ExpectAndReturn(FALSE); - + AppMain(); } diff --git a/examples/temp_sensor/test/TestUsartHardware.c b/examples/temp_sensor/test/TestUsartHardware.c index bddc206b1..9f8ae5803 100644 --- a/examples/temp_sensor/test/TestUsartHardware.c +++ b/examples/temp_sensor/test/TestUsartHardware.c @@ -38,6 +38,6 @@ void testTransmitStringShouldSendDesiredStringOutUsingUsart(void) Usart_PutChar_Expect('l'); Usart_PutChar_Expect('l'); Usart_PutChar_Expect('o'); - + UsartHardware_TransmitString("hello"); } diff --git a/examples/temp_sensor/test/adc/TestAdcConductor.c b/examples/temp_sensor/test/adc/TestAdcConductor.c index efeff8554..53a51a6f6 100644 --- a/examples/temp_sensor/test/adc/TestAdcConductor.c +++ b/examples/temp_sensor/test/adc/TestAdcConductor.c @@ -125,4 +125,3 @@ void test_AdcConductor_YetAnotherTest_Should_VerifyThatPointersToStructsAreTesta // // TEST_ASSERT_FALSE(AdcConductor_YetAnotherTest()); //} - diff --git a/examples/temp_sensor/test/support/UnityHelper.c b/examples/temp_sensor/test/support/UnityHelper.c index 3513ae070..16c7ae5f3 100644 --- a/examples/temp_sensor/test/support/UnityHelper.c +++ b/examples/temp_sensor/test/support/UnityHelper.c @@ -16,4 +16,3 @@ void AssertEqualEXAMPLE_STRUCT_T(const EXAMPLE_STRUCT_T expected, const EXAMPLE_ UNITY_TEST_ASSERT_EQUAL_INT(expected.y, actual.y, line, "EXAMPLE_STRUCT_T.y check failed"); } #endif - diff --git a/examples/temp_sensor/test/support/UnityHelper.h b/examples/temp_sensor/test/support/UnityHelper.h old mode 100755 new mode 100644 diff --git a/lib/ceedling.rb b/lib/ceedling.rb index 28d271980..5c32acac8 100644 --- a/lib/ceedling.rb +++ b/lib/ceedling.rb @@ -11,4 +11,4 @@ module Ceedling # Emtpy -end \ No newline at end of file +end diff --git a/lib/ceedling/build_batchinator.rb b/lib/ceedling/build_batchinator.rb index db6f0ab86..5d0778375 100644 --- a/lib/ceedling/build_batchinator.rb +++ b/lib/ceedling/build_batchinator.rb @@ -105,4 +105,3 @@ def shutdown_threads(workers) end end - diff --git a/lib/ceedling/cacheinator.rb b/lib/ceedling/cacheinator.rb index 57bff8ad8..1450361ae 100644 --- a/lib/ceedling/cacheinator.rb +++ b/lib/ceedling/cacheinator.rb @@ -8,7 +8,7 @@ class Cacheinator constructor :cacheinator_helper, :file_path_utils, :file_wrapper, :yaml_wrapper - + def cache_test_config(hash) @yaml_wrapper.dump( @file_path_utils.form_test_build_cache_path( INPUT_CONFIGURATION_CACHE_FILE), hash ) end @@ -17,15 +17,15 @@ def cache_release_config(hash) @yaml_wrapper.dump( @file_path_utils.form_release_build_cache_path( INPUT_CONFIGURATION_CACHE_FILE ), hash ) end - + def diff_cached_test_file( filepath ) cached_filepath = @file_path_utils.form_test_build_cache_path( filepath ) - + if (@file_wrapper.exist?( cached_filepath ) and (!@file_wrapper.compare( filepath, cached_filepath ))) @file_wrapper.cp(filepath, cached_filepath, {:preserve => false}) return filepath elsif (!@file_wrapper.exist?( cached_filepath )) - @file_wrapper.cp(filepath, cached_filepath, {:preserve => false}) + @file_wrapper.cp(filepath, cached_filepath, {:preserve => false}) return filepath end @@ -49,5 +49,5 @@ def diff_cached_release_config?(hash) return @cacheinator_helper.diff_cached_config?( cached_filepath, hash ) end - + end diff --git a/lib/ceedling/cacheinator_helper.rb b/lib/ceedling/cacheinator_helper.rb index 356762181..474d2208a 100644 --- a/lib/ceedling/cacheinator_helper.rb +++ b/lib/ceedling/cacheinator_helper.rb @@ -8,7 +8,7 @@ class CacheinatorHelper constructor :file_wrapper, :yaml_wrapper - + def diff_cached_config?(cached_filepath, hash) return false if ( not @file_wrapper.exist?(cached_filepath) ) return true if (@yaml_wrapper.load(cached_filepath) != hash) diff --git a/lib/ceedling/config_matchinator.rb b/lib/ceedling/config_matchinator.rb index 2bc57dfd6..eaa96223b 100644 --- a/lib/ceedling/config_matchinator.rb +++ b/lib/ceedling/config_matchinator.rb @@ -112,7 +112,7 @@ def matches?(hash:, filepath:, section:, context:, operation:nil) # Iterate through every hash touple [matcher key, values array] # In prioritized order match test filepath against each matcher key. - # This order matches on special patterns first to ensure no funny business with simple substring matching + # This order matches on special patterns first to ensure no funny business with simple substring matching # 1. All files wildcard ('*') # 2. Regex (/.../) # 3. Wildcard filepath matching (e.g. 'name*') @@ -146,7 +146,7 @@ def matches?(hash:, filepath:, section:, context:, operation:nil) # Note: (3) will do this if the matcher key lacks a '*', but this is a just-in-case backup elsif (filepath.include?(_matcher)) matched = true - end + end if matched _values += values diff --git a/lib/ceedling/config_walkinator.rb b/lib/ceedling/config_walkinator.rb index 3d715f381..21898a9b1 100644 --- a/lib/ceedling/config_walkinator.rb +++ b/lib/ceedling/config_walkinator.rb @@ -6,7 +6,7 @@ # ========================================================================= class ConfigWalkinator - + def fetch_value(hash, *keys) value = nil depth = 0 @@ -22,8 +22,8 @@ def fetch_value(hash, *keys) break end } if !hash.nil? - + return {:value => value, :depth => depth} end - + end diff --git a/lib/ceedling/configurator.rb b/lib/ceedling/configurator.rb index 23a96361c..1a6430db8 100644 --- a/lib/ceedling/configurator.rb +++ b/lib/ceedling/configurator.rb @@ -72,13 +72,13 @@ def reset_defaults(config) def set_verbosity(config) # PROJECT_VERBOSITY and PROJECT_DEBUG set at command line processing before Ceedling is loaded - # Configurator will later try to create these accessors automatically but will silently + # Configurator will later try to create these accessors automatically but will silently # fail if they already exist. if (!!defined?(PROJECT_DEBUG) and PROJECT_DEBUG) or (config[:project][:debug]) eval("def project_debug() return true end", binding()) else - eval("def project_debug() return false end", binding()) + eval("def project_debug() return false end", binding()) end if !!defined?(PROJECT_VERBOSITY) @@ -148,7 +148,7 @@ def prepare_plugins_load_paths(plugins_load_path, config) def merge_plugins_defaults(paths_hash, config, default_config) # Config YAML defaults plugins plugin_yml_defaults = @configurator_plugins.find_plugin_yml_defaults( config, paths_hash ) - + # Config Ruby-based hash defaults plugins plugin_hash_defaults = @configurator_plugins.find_plugin_hash_defaults( config, paths_hash ) @@ -227,7 +227,7 @@ def populate_cmock_config(config) def populate_defaults( config_hash, defaults_hash ) msg = @reportinator.generate_progress( 'Populating project configuration with collected default values' ) - @loginator.log( msg, Verbosity::OBNOXIOUS ) + @loginator.log( msg, Verbosity::OBNOXIOUS ) @configurator_builder.populate_defaults( config_hash, defaults_hash ) end @@ -235,7 +235,7 @@ def populate_defaults( config_hash, defaults_hash ) def populate_test_runner_generation_config(config) msg = @reportinator.generate_progress( 'Populating test runner generation settings' ) - @loginator.log( msg, Verbosity::OBNOXIOUS ) + @loginator.log( msg, Verbosity::OBNOXIOUS ) use_backtrace = config[:project][:use_backtrace] @@ -263,7 +263,7 @@ def populate_exceptions_config(config) # Automagically set exception handling if CMock is configured for it if config[:cmock][:plugins] && config[:cmock][:plugins].include?(:cexception) msg = @reportinator.generate_progress( 'Enabling CException use based on CMock plugins settings' ) - @loginator.log( msg, Verbosity::OBNOXIOUS ) + @loginator.log( msg, Verbosity::OBNOXIOUS ) config[:project][:use_exceptions] = true end @@ -329,7 +329,7 @@ def populate_tools_supplemental_arguments(config) config[:tools].each do |key, tool| name = key.to_s() - # Supplemental tool definition + # Supplemental tool definition supplemental = config[(prefix + name).to_sym] if (not supplemental.nil?) @@ -362,7 +362,7 @@ def discover_plugins(paths_hash, config) msg = " > Programmatic plugins: " + @configurator_plugins.programmatic_plugins.map{|p| p[:plugin]}.join( ', ' ) @loginator.log( msg, Verbosity::DEBUG ) end - + # Config plugins config_plugins = @configurator_plugins.find_config_plugins( config, paths_hash ) if !@configurator_plugins.config_plugins.empty? @@ -395,7 +395,7 @@ def merge_config_plugins(config) # Special handling for plugin paths if (_config.include?( :paths )) - _config[:paths].update( _config[:paths] ) do |k,v| + _config[:paths].update( _config[:paths] ) do |k,v| plugin_path = hash[:path].match( /(.*)[\/]config[\/]\w+\.yml/ )[1] v.map {|vv| File.expand_path( vv.gsub!( /\$PLUGIN_PATH/, plugin_path) ) } end @@ -649,7 +649,7 @@ def collect_path_list( container ) paths << container[key] if (key.to_s =~ /_path(s)?$/) end end - + return paths.flatten() end @@ -691,4 +691,3 @@ def traverse_hash_eval_string_arrays(config) end end - diff --git a/lib/ceedling/configurator_builder.rb b/lib/ceedling/configurator_builder.rb index 006dbcbcf..0678bffa3 100644 --- a/lib/ceedling/configurator_builder.rb +++ b/lib/ceedling/configurator_builder.rb @@ -98,7 +98,7 @@ def populate_defaults(config, defaults) end when Array - config[section] = defaults[section] + config[section] = defaults[section] end end end @@ -480,7 +480,7 @@ def collect_test_fixture_extra_link_objects(in_hash) # No build paths here so plugins can remap if necessary (i.e. path mapping happens at runtime) objects.map! { |object| object.ext(in_hash[:extension_object]) } - return { + return { :collection_all_support => sources, :collection_test_fixture_extra_link_objects => objects } diff --git a/lib/ceedling/configurator_plugins.rb b/lib/ceedling/configurator_plugins.rb index 1af764009..548708de4 100644 --- a/lib/ceedling/configurator_plugins.rb +++ b/lib/ceedling/configurator_plugins.rb @@ -56,7 +56,7 @@ def process_aux_load_paths(config) plugin_paths[(plugin + '_path').to_sym] = path # Add paths to Ruby load paths that contain *.rb files - @system_wrapper.add_load_path( File.join( path, 'config') ) if is_config_plugin + @system_wrapper.add_load_path( File.join( path, 'config') ) if is_config_plugin @system_wrapper.add_load_path( File.join( path, 'lib') ) if is_programmatic_plugin # We found load_path/ + / path that exists, skip ahead diff --git a/lib/ceedling/configurator_setup.rb b/lib/ceedling/configurator_setup.rb index 67a53874f..60f6cd735 100644 --- a/lib/ceedling/configurator_setup.rb +++ b/lib/ceedling/configurator_setup.rb @@ -143,7 +143,7 @@ def validate_paths(config) if config[:cmock][:unity_helper] config[:cmock][:unity_helper].each do |path| - valid &= @configurator_validator.validate_filepath_simple( path, :cmock, :unity_helper ) + valid &= @configurator_validator.validate_filepath_simple( path, :cmock, :unity_helper ) end end @@ -232,11 +232,11 @@ def validate_threads(config) end when Symbol if compile_threads != :auto - @loginator.log( ":project ↳ :compile_threads is neither an integer nor :auto", Verbosity::ERRORS ) + @loginator.log( ":project ↳ :compile_threads is neither an integer nor :auto", Verbosity::ERRORS ) valid = false end else - @loginator.log( ":project ↳ :compile_threads is neither an integer nor :auto", Verbosity::ERRORS ) + @loginator.log( ":project ↳ :compile_threads is neither an integer nor :auto", Verbosity::ERRORS ) valid = false end @@ -248,11 +248,11 @@ def validate_threads(config) end when Symbol if test_threads != :auto - @loginator.log( ":project ↳ :test_threads is neither an integer nor :auto", Verbosity::ERRORS ) + @loginator.log( ":project ↳ :test_threads is neither an integer nor :auto", Verbosity::ERRORS ) valid = false end else - @loginator.log( ":project ↳ :test_threads is neither an integer nor :auto", Verbosity::ERRORS ) + @loginator.log( ":project ↳ :test_threads is neither an integer nor :auto", Verbosity::ERRORS ) valid = false end diff --git a/lib/ceedling/configurator_validator.rb b/lib/ceedling/configurator_validator.rb index d5a3fa02f..87139358b 100644 --- a/lib/ceedling/configurator_validator.rb +++ b/lib/ceedling/configurator_validator.rb @@ -12,7 +12,7 @@ class ConfiguratorValidator - + constructor :config_walkinator, :file_wrapper, :loginator, :system_wrapper, :reportinator, :tool_validator # Walk into config hash verify existence of data at key depth @@ -22,9 +22,9 @@ def exists?(config, *keys) if (not exist) walk = @reportinator.generate_config_walk( keys ) - @loginator.log( "Required config file entry #{walk} does not exist.", Verbosity::ERRORS ) + @loginator.log( "Required config file entry #{walk} does not exist.", Verbosity::ERRORS ) end - + return exist end @@ -37,7 +37,7 @@ def validate_path_list(config, *keys) # Return early if we couldn't walk into hash and find a value return false if (list.nil?) - + list.each do |path| # Trim add/subtract notation & glob specifiers _path = FilePathUtils::no_decorators( path ) @@ -47,11 +47,11 @@ def validate_path_list(config, *keys) # If (partial) path does not exist, complain if (not @file_wrapper.exist?( _path )) walk = @reportinator.generate_config_walk( keys, hash[:depth] ) - @loginator.log( "Config path #{walk} => '#{_path}' does not exist in the filesystem.", Verbosity::ERRORS ) + @loginator.log( "Config path #{walk} => '#{_path}' does not exist in the filesystem.", Verbosity::ERRORS ) exist = false - end + end end - + return exist end @@ -67,7 +67,7 @@ def validate_paths_entries(config, key) # Return early if we couldn't walk into hash and find a value return false if (list.nil?) - + list.each do |path| dirs = [] # Working list @@ -90,7 +90,7 @@ def validate_paths_entries(config, key) # For each result, add it to the working list *if* it's a directory dirs << entry if @file_wrapper.directory?(entry) end - + # Handle edge case of subdirectories glob but not subdirectories # (Containing parent directory will still exist) next if dirs.empty? and _path =~ /\/\*{1,2}$/ @@ -103,7 +103,7 @@ def validate_paths_entries(config, key) valid = false end end - + return valid end @@ -119,7 +119,7 @@ def validate_files_entries(config, key) # Return early if we couldn't walk into hash and find a value return false if (list.nil?) - + list.each do |path| # Trim add/subtract notation _path = FilePathUtils::no_aggregation_decorators( path ) @@ -130,18 +130,18 @@ def validate_files_entries(config, key) @loginator.log( warning, Verbosity::COMPLAIN ) next # Skip to next path - end + end filelist = @file_wrapper.instantiate_file_list(_path) # If file list is empty, complain if (filelist.size == 0) error = "#{walk} => '#{_path}' yielded no files -- matching glob is malformed or files do not exist" - @loginator.log( error, Verbosity::ERRORS ) + @loginator.log( error, Verbosity::ERRORS ) valid = false - end + end end - + return valid end @@ -149,16 +149,16 @@ def validate_files_entries(config, key) # Simple path verification def validate_filepath_simple(path, *keys) validate_path = path - + if (not @file_wrapper.exist?(validate_path)) walk = @reportinator.generate_config_walk( keys, keys.size ) - @loginator.log("Config path '#{validate_path}' associated with #{walk} does not exist in the filesystem.", Verbosity::ERRORS ) + @loginator.log("Config path '#{validate_path}' associated with #{walk} does not exist in the filesystem.", Verbosity::ERRORS ) return false - end - + end + return true end - + def validate_tool(config:, key:, respect_optional:true) # Get tool walk = [:tools, key] @@ -170,7 +170,7 @@ def validate_tool(config:, key:, respect_optional:true) extension: config[:extension][:executable], respect_optional: respect_optional } - + return @tool_validator.validate( **arg_hash ) end diff --git a/lib/ceedling/constants.rb b/lib/ceedling/constants.rb index 8a4813a86..edb11c8f3 100644 --- a/lib/ceedling/constants.rb +++ b/lib/ceedling/constants.rb @@ -15,7 +15,7 @@ class Verbosity DEBUG = 5 # Special extra verbose output for hardcore debugging end -VERBOSITY_OPTIONS = { +VERBOSITY_OPTIONS = { :silent => Verbosity::SILENT, :errors => Verbosity::ERRORS, :warnings => Verbosity::COMPLAIN, @@ -75,7 +75,7 @@ class StdErrRedirect EXTENSION_WIN_EXE = '.exe' EXTENSION_NONWIN_EXE = '.out' # Vendor frameworks, generated mocks, generated runners are always .c files -EXTENSION_CORE_SOURCE = '.c' +EXTENSION_CORE_SOURCE = '.c' PREPROCESS_SYM = :preprocess @@ -150,7 +150,3 @@ class StdErrRedirect %{total} Tests %{failed} Failures %{ignored} Ignored %{result} UNITY_TEST_RESULTS - - - - diff --git a/lib/ceedling/erb_wrapper.rb b/lib/ceedling/erb_wrapper.rb index 814e02307..8d49cc585 100644 --- a/lib/ceedling/erb_wrapper.rb +++ b/lib/ceedling/erb_wrapper.rb @@ -13,4 +13,4 @@ def generate_file(template, data, output_file) f << ERB.new(template, trim_mode: "<>").result(binding) end end -end \ No newline at end of file +end diff --git a/lib/ceedling/exceptions.rb b/lib/ceedling/exceptions.rb index fec507b6b..ac0a0a8ca 100644 --- a/lib/ceedling/exceptions.rb +++ b/lib/ceedling/exceptions.rb @@ -15,7 +15,7 @@ class ShellExecutionException < CeedlingException attr_reader :shell_result def initialize(shell_result:, name:) @shell_result = shell_result - + message = name + " terminated with exit code [#{shell_result[:exit_code]}]" if !shell_result[:output].empty? diff --git a/lib/ceedling/file_finder.rb b/lib/ceedling/file_finder.rb index 4fb2b3041..bc22fa008 100644 --- a/lib/ceedling/file_finder.rb +++ b/lib/ceedling/file_finder.rb @@ -124,12 +124,12 @@ def find_build_input_file(filepath:, complain: :error, context:) # Above we can confidently rely on the complain parameter passed to file_finder_helper because # we know the specific type of file being searched for. # - # Below we ignore file misses because of lgoical complexities of searching for potentially either + # Below we ignore file misses because of lgoical complexities of searching for potentially either # assmebly or C files, including C files that may not exist (counterparts to header files by convention). # We save the existence handling until the end. # - # Assembly files for release build + # Assembly files for release build if release and @configurator.release_build_use_assembly _source_file = File.basename(filepath).ext(@configurator.extension_assembly) found_file = @@ -139,7 +139,7 @@ def find_build_input_file(filepath:, complain: :error, context:) :ignore, filepath) - # Assembly files for test build + # Assembly files for test build elsif (!release) and @configurator.test_build_use_assembly _source_file = File.basename(filepath).ext(@configurator.extension_assembly) found_file = @@ -163,7 +163,7 @@ def find_build_input_file(filepath:, complain: :error, context:) @configurator.collection_release_build_input, :ignore, filepath) - + # Test build C files else _source_file = File.basename(filepath).ext(@configurator.extension_source) @@ -199,4 +199,3 @@ def find_file_from_list(filepath, file_list, complain) return @file_finder_helper.find_file_in_collection(filepath, file_list, complain, filepath) end end - diff --git a/lib/ceedling/file_finder_helper.rb b/lib/ceedling/file_finder_helper.rb index a7e55b327..b95bd9929 100644 --- a/lib/ceedling/file_finder_helper.rb +++ b/lib/ceedling/file_finder_helper.rb @@ -12,14 +12,14 @@ class FileFinderHelper constructor :loginator - - + + def find_file_in_collection(filename, file_list, complain, original_filepath="") # search our collection for the specified base filename matches = file_list.find_all {|v| File.basename(v) == filename } - - case matches.length - when 0 + + case matches.length + when 0 matches = file_list.find_all {|v| v =~ /(?:\\|\/|^)#{filename}$/i} if (matches.length > 0) blow_up(filename, "However, a filename having different capitalization was found: '#{matches[0]}'.") @@ -39,8 +39,8 @@ def find_file_in_collection(filename, file_list, complain, original_filepath="") num = reverse_original_pieces.zip(reverse_match_pieces).inject(0){|s,v| v[0] == v[1] ? s+3 : s} num = reverse_original_pieces.inject(num){|s,v| reverse_match_pieces.include?(v) ? s+1 : s} if num > best_match_value - best_match_index = i - best_match_value = num + best_match_index = i + best_match_value = num end end return matches[best_match_index] @@ -60,12 +60,12 @@ def find_best_path_in_collection(pathname, path_list, complain) reverse_original_pieces = pathname.split(/(?:\\|\/)/).reverse path_list.each_with_index do |p,i| reverse_match_pieces = p.split(/(?:\\|\/)/).reverse - # + # num = reverse_original_pieces.zip(reverse_match_pieces).inject(0){|s,v| v[0] == v[1] ? s+3 : s} num = reverse_original_pieces.inject(num){|s,v| reverse_match_pieces.include?(v) ? s+1 : s} if num > best_match_value - best_match_index = i - best_match_value = num + best_match_index = i + best_match_value = num end end return path_list[best_match_index] @@ -73,7 +73,7 @@ def find_best_path_in_collection(pathname, path_list, complain) def handle_missing_file(filename, complain) case (complain) - when :error then blow_up(filename) + when :error then blow_up(filename) when :warn gripe(filename) return nil @@ -91,12 +91,10 @@ def blow_up(filename, extra_message="") error = ["Found no file `#{filename}` in search paths.", extra_message].join(' ').strip raise CeedlingException.new( error ) end - + def gripe(filename, extra_message="") warning = ["Found no file `#{filename}` in search paths.", extra_message].join(' ').strip @loginator.log( warning + extra_message, Verbosity::COMPLAIN ) end end - - diff --git a/lib/ceedling/file_path_collection_utils.rb b/lib/ceedling/file_path_collection_utils.rb index ce71878c2..a96b3e727 100644 --- a/lib/ceedling/file_path_collection_utils.rb +++ b/lib/ceedling/file_path_collection_utils.rb @@ -13,7 +13,7 @@ class FilePathCollectionUtils - + constructor :file_wrapper def setup() @@ -26,11 +26,11 @@ def setup() def collect_paths(paths) plus = Set.new # All real, expanded directory paths to add minus = Set.new # All real, expanded paths to exclude - + # Iterate each path possibly decorated with aggregation modifiers and/or containing glob characters paths.each do |path| dirs = [] # Working list for evaluated directory paths - + # Get path stripped of any +:/-: aggregation modifier _path = FilePathUtils.no_aggregation_decorators( path ) @@ -46,12 +46,12 @@ def collect_paths(paths) # Previous validation has already made warnings about filepaths in the list dirs << entry if @file_wrapper.directory?(entry) end - + # For recursive directory glob at end of a path, collect parent directories too. # Ceedling's recursive glob convention includes parent directories (unlike Ruby's glob). if path.end_with?('/**') or path.end_with?('/*') parents = [] - + dirs.each {|dir| parents << File.join(dir, '..')} # Handle edge case of subdirectory glob but no subdirectories and therefore no parents @@ -95,7 +95,7 @@ def collect_paths(paths) def revise_filelist(list, revisions) plus = Set.new # All real, expanded directory paths to add minus = Set.new # All real, expanded paths to exclude - + # Build base plus set for revised path list.each do |path| # Start with expanding all list entries to absolute paths @@ -105,7 +105,7 @@ def revise_filelist(list, revisions) revisions.each do |revision| # Include or exclude revisions in file list path = FilePathUtils.no_aggregation_decorators( revision ) - + # Working list of revisions filepaths = [] diff --git a/lib/ceedling/file_path_utils.rb b/lib/ceedling/file_path_utils.rb index b362ee8a6..c58da981d 100644 --- a/lib/ceedling/file_path_utils.rb +++ b/lib/ceedling/file_path_utils.rb @@ -39,7 +39,7 @@ def self.os_executable_ext(executable) return executable end - # Extract path from between optional aggregation modifiers + # Extract path from between optional aggregation modifiers # and up to last path separator before glob specifiers. # Examples: # - '+:foo/bar/baz/' => 'foo/bar/baz' @@ -62,7 +62,7 @@ def self.no_decorators(path) # Extract up to first glob specifier path = path[0..(find_index-1)] - # Keep everything from start of path string up to and + # Keep everything from start of path string up to and # including final path separator before glob character find_index = path.rindex('/') return path[0..(find_index-1)] if (not find_index.nil?) diff --git a/lib/ceedling/file_system_wrapper.rb b/lib/ceedling/file_system_wrapper.rb index 6389ae7fb..fc3091ff6 100644 --- a/lib/ceedling/file_system_wrapper.rb +++ b/lib/ceedling/file_system_wrapper.rb @@ -13,4 +13,4 @@ def cd(path) end end -end \ No newline at end of file +end diff --git a/lib/ceedling/generator.rb b/lib/ceedling/generator.rb index 306f6cfb0..57ff49909 100644 --- a/lib/ceedling/generator.rb +++ b/lib/ceedling/generator.rb @@ -41,7 +41,7 @@ def generate_mock(context:, mock:, test:, input_filepath:, output_path:) :test => test, :context => context, :output_path => output_path } - + @plugin_manager.pre_mock_generate( arg_hash ) begin @@ -55,7 +55,7 @@ def generate_mock(context:, mock:, test:, input_filepath:, output_path:) # Get default config created by Ceedling and customize it config = @generator_mocks.build_configuration( output_path ) - + # Generate mock msg = @reportinator.generate_module_progress( operation: "Generating mock for", @@ -88,7 +88,7 @@ def generate_test_runner(context:, mock_list:, includes_list:, test_filepath:, i msg = @reportinator.generate_progress("Generating runner for #{module_name}") @loginator.log( msg ) - unity_test_runner_generator = + unity_test_runner_generator = @test_context_extractor.lookup_test_runner_generator( test_filepath ) if unity_test_runner_generator.nil? @@ -214,7 +214,7 @@ def generate_object_file_asm( @loginator.log( msg ) command = - @tool_executor.build_command_line( + @tool_executor.build_command_line( arg_hash[:tool], arg_hash[:flags], arg_hash[:source], @@ -295,10 +295,10 @@ def generate_test_results(tool:, context:, test_name:, test_filepath:, executabl # Unity's exit code is equivalent to the number of failed tests. # We tell @tool_executor not to fail out if there are failures # so that we can run all tests and collect all results. - command = + command = @tool_executor.build_command_line( arg_hash[:tool], - # Apply additional test case filters + # Apply additional test case filters @test_runner_manager.collect_cmdline_args(), arg_hash[:executable] ) @@ -322,12 +322,12 @@ def generate_test_results(tool:, context:, test_name:, test_filepath:, executabl case @configurator.project_config_hash[:project_use_backtrace] # If we have the options and tools to learn more, dig into the details when :gdb - shell_result = + shell_result = @backtrace.do_gdb( filename, executable, shell_result, test_cases ) # Simple test-case-by-test-case exercise when :simple - shell_result = + shell_result = @backtrace.do_simple( filename, executable, shell_result, test_cases ) else # :none @@ -340,7 +340,7 @@ def generate_test_results(tool:, context:, test_name:, test_filepath:, executabl end end - processed = @generator_test_results.process_and_write_results( + processed = @generator_test_results.process_and_write_results( executable, shell_result, arg_hash[:result_file], diff --git a/lib/ceedling/generator_helper.rb b/lib/ceedling/generator_helper.rb index bbb635f9f..b43065e70 100644 --- a/lib/ceedling/generator_helper.rb +++ b/lib/ceedling/generator_helper.rb @@ -50,10 +50,10 @@ def log_test_results_crash(test_name, executable, shell_result) log = true end - + if (log) if (shell_result[:exit_code] != nil) - notice += "> And terminated with exit code: [#{shell_result[:exit_code]}] (failed test case count).\n" + notice += "> And terminated with exit code: [#{shell_result[:exit_code]}] (failed test case count).\n" end notice += "> Causes can include a bad memory access, stack overflow, heap error, or bad branch in source or test code.\n" @@ -63,5 +63,5 @@ def log_test_results_crash(test_name, executable, shell_result) @loginator.log( '', Verbosity::OBNOXIOUS ) end end - + end diff --git a/lib/ceedling/generator_mocks.rb b/lib/ceedling/generator_mocks.rb index 5b57b83f7..dbba7c5f7 100644 --- a/lib/ceedling/generator_mocks.rb +++ b/lib/ceedling/generator_mocks.rb @@ -29,7 +29,7 @@ def build_configuration( output_path ) if (verbosity == Verbosity::SILENT) # CMock is silent config[:verbosity] = 0 - + elsif (verbosity == Verbosity::DEBUG) # CMock max verbosity config[:verbosity] = 3 @@ -37,5 +37,5 @@ def build_configuration( output_path ) return config end - + end diff --git a/lib/ceedling/generator_test_results.rb b/lib/ceedling/generator_test_results.rb index 8331e4979..08765bbb1 100644 --- a/lib/ceedling/generator_test_results.rb +++ b/lib/ceedling/generator_test_results.rb @@ -17,7 +17,7 @@ ## ## - Output is line-oriented. Anything outside the recognized lines is assumed to be from `printf()` ## or equivalent calls and collected for presentation as a collection of $stdout lines. -## - Multiline output (i.e. failure messages) can be achieved by "encoding" newlines as literal +## - Multiline output (i.e. failure messages) can be achieved by "encoding" newlines as literal ## "\n"s (slash-n). `extract_line_elements()` handles converting newline markers into real newlines. ## - :PASS has no trailing message unless Unity's test case execution duration feature is enabled. ## If enabled, a numeric value with 'ms' as a units signifier trails, ":PASS 1.2 ms". @@ -111,7 +111,7 @@ def process_and_write_results(executable, unity_shell_result, results_file, test results[:counts][:ignored] = $3.to_i results[:counts][:passed] = (results[:counts][:total] - results[:counts][:failed] - results[:counts][:ignored]) else - raise CeedlingException.new( "Could not parse output for `#{executable}`: \"#{unity_shell_result[:output]}\"" ) + raise CeedlingException.new( "Could not parse output for `#{executable}`: \"#{unity_shell_result[:output]}\"" ) end # Remove test statistics lines @@ -123,17 +123,17 @@ def process_and_write_results(executable, unity_shell_result, results_file, test case line.chomp when /(:IGNORE)/ elements = extract_line_elements( executable, line, results[:source][:file] ) - results[:ignores] << elements[0] + results[:ignores] << elements[0] results[:stdout] << elements[1] if (!elements[1].nil?) when /(:PASS$)/ elements = extract_line_elements( executable, line, results[:source][:file] ) - results[:successes] << elements[0] + results[:successes] << elements[0] results[:stdout] << elements[1] if (!elements[1].nil?) when /(:PASS \(.* ms\)$)/ elements = extract_line_elements( executable, line, results[:source][:file] ) - results[:successes] << elements[0] + results[:successes] << elements[0] results[:stdout] << elements[1] if (!elements[1].nil?) when /(:FAIL)/ @@ -162,7 +162,7 @@ def process_and_write_results(executable, unity_shell_result, results_file, test # # @return Array - list of the test_case hashses {:test, :line_number} def filter_test_cases(test_cases) - _test_cases = test_cases.clone + _test_cases = test_cases.clone # Filter tests which contain test_case_name passed by `--test_case` argument if !@configurator.include_test_case.empty? @@ -185,7 +185,7 @@ def create_crash_failure(source, shell_result, test_cases) output << "#{source}:#{test_case[:line_number]}:#{test_case[:test]}:FAIL: Test executable crashed" end - shell_result[:output] = + shell_result[:output] = regenerate_test_executable_stdout( total: count, failed: count, @@ -211,8 +211,8 @@ def regenerate_test_executable_stdout(total:, failed:, ignored:, output:[]) return UNITY_TEST_RESULTS_TEMPLATE % values end - ### Private ### - + ### Private ### + private def get_results_structure @@ -231,7 +231,7 @@ def extract_line_elements(executable, line, filename) # Handle anything preceding filename in line as extra output to be collected stdout = nil stdout_regex = /(.+)#{Regexp.escape(filename)}:[0-9]+:(PASS|IGNORE|FAIL).+/i - unity_test_time = 0 + unity_test_time = 0 if (line =~ stdout_regex) stdout = $1.clone @@ -262,7 +262,7 @@ def extract_line_elements(executable, line, filename) } return components, stdout if elements.size >= 3 - + # Fall through failure case raise CeedlingException.new( "Could not parse results output line \"line\" for `#{executable}`" ) end diff --git a/lib/ceedling/generator_test_results_backtrace.rb b/lib/ceedling/generator_test_results_backtrace.rb index a83b1bc08..76480d742 100644 --- a/lib/ceedling/generator_test_results_backtrace.rb +++ b/lib/ceedling/generator_test_results_backtrace.rb @@ -187,7 +187,7 @@ def filter_gdb_test_report(report, test_case, filename) # Find line preceding last ` () at `, [2]; # it is the offending line of code. - # We don't need the rest of the call trace -- it's just from the runner + # We don't need the rest of the call trace -- it's just from the runner # up to the crashed test case. lines.each_with_index do |line, index| if line =~ /#{test_case}.+at.+#{filename}/ diff --git a/lib/ceedling/generator_test_results_sanity_checker.rb b/lib/ceedling/generator_test_results_sanity_checker.rb index f40cec48b..2e186bc06 100644 --- a/lib/ceedling/generator_test_results_sanity_checker.rb +++ b/lib/ceedling/generator_test_results_sanity_checker.rb @@ -14,34 +14,34 @@ class GeneratorTestResultsSanityChecker constructor :configurator, :loginator - + def verify(results, unity_exit_code) - + # do no sanity checking if it's disabled return if (@configurator.sanity_checks == TestResultsSanityChecks::NONE) raise CeedlingException.new( "Test results nil or empty" ) if results.nil? || results.empty? - ceedling_ignores_count = results[:ignores].size + ceedling_ignores_count = results[:ignores].size ceedling_failures_count = results[:failures].size ceedling_tests_summation = (ceedling_ignores_count + ceedling_failures_count + results[:successes].size) - # Exit code handling is not a sanity check that can always be performed because + # Exit code handling is not a sanity check that can always be performed because # command line simulators may or may not pass through Unity's exit code if (@configurator.sanity_checks >= TestResultsSanityChecks::THOROUGH) # many platforms limit exit codes to a maximum of 255 if ((ceedling_failures_count != unity_exit_code) and (unity_exit_code < 255)) sanity_check_warning(results[:source][:file], "Unity's exit code (#{unity_exit_code}) does not match Ceedling's summation of failed test cases (#{ceedling_failures_count}).") end - + if ((ceedling_failures_count < 255) and (unity_exit_code == 255)) sanity_check_warning(results[:source][:file], "Ceedling's summation of failed test cases (#{ceedling_failures_count}) is less than Unity's exit code (255 or more).") end end - + if (ceedling_ignores_count != results[:counts][:ignored]) sanity_check_warning(results[:source][:file], "Unity's final ignore count (#{results[:counts][:ignored]}) does not match Ceedling's summation of ignored test cases (#{ceedling_ignores_count}).") end - + if (ceedling_failures_count != results[:counts][:failed]) sanity_check_warning(results[:source][:file], "Unity's final fail count (#{results[:counts][:failed]}) does not match Ceedling's summation of failed test cases (#{ceedling_failures_count}).") end @@ -49,11 +49,11 @@ def verify(results, unity_exit_code) if (ceedling_tests_summation != results[:counts][:total]) sanity_check_warning(results[:source][:file], "Unity's final test count (#{results[:counts][:total]}) does not match Ceedling's summation of all test cases (#{ceedling_tests_summation}).") end - + end private - + def sanity_check_warning(file, message) unless defined?(CEEDLING_IGNORE_SANITY_CHECK) notice = "Internal sanity check for test fixture '#{file.ext(@configurator.extension_executable)}' finds that #{message}\n" + @@ -62,7 +62,7 @@ def sanity_check_warning(file, message) " 2. Your test + source indexed past the end of a buffer.\n" + " 3. Your test + source committed a memory access violation.\n" + " 4. Your test fixture produced an exit code of 0 despite execution ending prematurely.\n" + - " Sanity check failures of test results are usually a symptom of interrupted test execution.\n\n" + " Sanity check failures of test results are usually a symptom of interrupted test execution.\n\n" raise CeedlingException.new( notice ) end end diff --git a/lib/ceedling/generator_test_runner.rb b/lib/ceedling/generator_test_runner.rb index ef444b741..12df7d88b 100644 --- a/lib/ceedling/generator_test_runner.rb +++ b/lib/ceedling/generator_test_runner.rb @@ -18,7 +18,7 @@ class GeneratorTestRunner def initialize(config:, test_file_contents:, preprocessed_file_contents:nil) @unity_runner_generator = UnityTestRunnerGenerator.new( config ) - + # Reduced information set @test_cases = [] @@ -48,7 +48,7 @@ def parse_test_file(test_file_contents, preprocessed_file_contents) if (!preprocessed_file_contents.nil?) # Save the test case structure to be used in generation @test_cases_internal = @unity_runner_generator.find_tests( preprocessed_file_contents ) - + # Configure the runner generator around `setUp()` and `tearDown()` @unity_runner_generator.find_setup_and_teardown( preprocessed_file_contents ) diff --git a/lib/ceedling/include_pathinator.rb b/lib/ceedling/include_pathinator.rb index 9390b8e86..a09271dd7 100644 --- a/lib/ceedling/include_pathinator.rb +++ b/lib/ceedling/include_pathinator.rb @@ -13,7 +13,7 @@ class IncludePathinator constructor :configurator, :test_context_extractor, :loginator, :file_wrapper def setup - # TODO: When Ceedling's base project path handling is resolved, update this value to automatically + # TODO: When Ceedling's base project path handling is resolved, update this value to automatically # modify TEST_INCLUDE_PATH() locations relative to the working directory or project file location # @base_path = '.' diff --git a/lib/ceedling/loginator.rb b/lib/ceedling/loginator.rb index 92fbc4f7e..d905fe000 100644 --- a/lib/ceedling/loginator.rb +++ b/lib/ceedling/loginator.rb @@ -228,7 +228,7 @@ def extract_stream_name(stream) when 2 then '' else stream.inspect end - + return name end diff --git a/lib/ceedling/makefile.rb b/lib/ceedling/makefile.rb index e63345000..471833d47 100644 --- a/lib/ceedling/makefile.rb +++ b/lib/ceedling/makefile.rb @@ -6,7 +6,7 @@ # ========================================================================= # modified version of Rake's provided make-style dependency loader -# customizations: +# customizations: # (1) handles windows drives in paths -- colons don't confuse task demarcation # (2) handles spaces in directory paths @@ -35,7 +35,7 @@ def process_line(line) file_tasks, args = line.split(/:\s/) return if args.nil? - + # split at non-escaped space boundary between files (i.e. escaped spaces in paths are left alone) dependents = args.split(/\b\s+/) # replace escaped spaces and clean up any extra whitespace diff --git a/lib/ceedling/objects.yml b/lib/ceedling/objects.yml index 1af8ef7b4..24281abc1 100644 --- a/lib/ceedling/objects.yml +++ b/lib/ceedling/objects.yml @@ -245,7 +245,7 @@ dependinator: compose: - configurator - test_context_extractor - - file_path_utils + - file_path_utils - rake_wrapper - file_wrapper diff --git a/lib/ceedling/plugin.rb b/lib/ceedling/plugin.rb index b41a4692d..0f3a41c31 100644 --- a/lib/ceedling/plugin.rb +++ b/lib/ceedling/plugin.rb @@ -24,7 +24,7 @@ def inspect end def setup; end - + def summary; end end diff --git a/lib/ceedling/plugin_manager.rb b/lib/ceedling/plugin_manager.rb index 85a402c9c..dccf15aaf 100644 --- a/lib/ceedling/plugin_manager.rb +++ b/lib/ceedling/plugin_manager.rb @@ -28,7 +28,7 @@ def load_programmatic_plugins(plugins, system_objects) begin @system_wrapper.require_file( "#{hash[:plugin]}.rb" ) - object = @plugin_manager_helper.instantiate_plugin( + object = @plugin_manager_helper.instantiate_plugin( camelize( hash[:plugin] ), system_objects, hash[:plugin], diff --git a/lib/ceedling/plugin_reportinator.rb b/lib/ceedling/plugin_reportinator.rb index 7c1c23dea..5b9cb1785 100644 --- a/lib/ceedling/plugin_reportinator.rb +++ b/lib/ceedling/plugin_reportinator.rb @@ -10,13 +10,13 @@ require 'ceedling/exceptions' class PluginReportinator - + constructor :plugin_reportinator_helper, :plugin_manager, :reportinator def setup @test_results_template = nil end - + def register_test_results_template(template) @test_results_template = template end @@ -24,7 +24,7 @@ def register_test_results_template(template) def set_system_objects(system_objects) @plugin_reportinator_helper.ceedling = system_objects end - + def fetch_results(results_path, test, options={:boom => false}) return @plugin_reportinator_helper.fetch_results( File.join(results_path, test), options ) end @@ -85,14 +85,14 @@ def generate_heading(message) def assemble_test_results(results_list, options={:boom => false}) aggregated_results = new_results() - results_list.each do |result_path| + results_list.each do |result_path| results = @plugin_reportinator_helper.fetch_results( result_path, options ) @plugin_reportinator_helper.process_results(aggregated_results, results) end return aggregated_results end - + def run_test_results_report(hash, verbosity=Verbosity::NORMAL, &block) if @test_results_template.nil? raise CeedlingException.new( "No test results report template has been set." ) @@ -105,25 +105,25 @@ def run_test_results_report(hash, verbosity=Verbosity::NORMAL, &block) &block ) end - + def run_report(template, hash=nil, verbosity=Verbosity::NORMAL) failure = nil failure = yield() if block_given? - + @plugin_manager.register_build_failure( failure ) - + # Set verbosity to error level if there were failures verbosity = failure ? Verbosity::ERRORS : Verbosity::NORMAL @plugin_reportinator_helper.run_report( template, hash, verbosity ) end - + # # Private # private - + def new_results() return { :times => {}, @@ -135,5 +135,5 @@ def new_results() :total_time => 0.0 } end - + end diff --git a/lib/ceedling/plugin_reportinator_helper.rb b/lib/ceedling/plugin_reportinator_helper.rb index b25f0f252..bd2ef4cc2 100644 --- a/lib/ceedling/plugin_reportinator_helper.rb +++ b/lib/ceedling/plugin_reportinator_helper.rb @@ -12,11 +12,11 @@ require 'ceedling/exceptions' class PluginReportinatorHelper - + attr_writer :ceedling - + constructor :configurator, :loginator, :yaml_wrapper, :file_wrapper - + def fetch_results(results_path, options) # Create the results filepaths pass_path = results_path.ext( @configurator.extension_testpass ) @@ -54,7 +54,7 @@ def fetch_results(results_path, options) # Return fail results return @yaml_wrapper.load(fail_path) if fail_exists - + # Safety fall-through (flow control should never get here) return {} end @@ -80,5 +80,5 @@ def run_report(template, hash, verbosity) # Run the report template and log result with no log level heading @loginator.log( output.result(binding()), verbosity, LogLabels::NONE ) end - + end diff --git a/lib/ceedling/preprocessinator.rb b/lib/ceedling/preprocessinator.rb index c1d410be8..dc97d5f38 100644 --- a/lib/ceedling/preprocessinator.rb +++ b/lib/ceedling/preprocessinator.rb @@ -40,7 +40,7 @@ def preprocess_includes(filepath:, test:, flags:, include_paths:, defines:) filename: File.basename(filepath) ) @loginator.log( msg, Verbosity::NORMAL ) - + # Note: It's possible empty YAML content returns nil includes = @yaml_wrapper.load( includes_list_filepath ) @@ -77,7 +77,7 @@ def preprocess_includes(filepath:, test:, flags:, include_paths:, defines:) @loginator.log( msg, Verbosity::DEBUG ) @loginator.log( '', Verbosity::DEBUG ) - + @includes_handler.write_includes_list( includes_list_filepath, includes ) end @@ -94,7 +94,7 @@ def preprocess_mockable_header_file(filepath:, test:, flags:, include_paths:, de test: test, flags: flags, include_paths: include_paths, - defines: defines + defines: defines } # Trigger pre_mock_preprocessing plugin hook @@ -105,10 +105,10 @@ def preprocess_mockable_header_file(filepath:, test:, flags:, include_paths:, de test: test, flags: flags, include_paths: include_paths, - defines: defines + defines: defines } - # Extract shallow includes & print status message + # Extract shallow includes & print status message includes = preprocess_file_common( **arg_hash ) arg_hash = { @@ -117,7 +117,7 @@ def preprocess_mockable_header_file(filepath:, test:, flags:, include_paths:, de includes: includes, flags: flags, include_paths: include_paths, - defines: defines + defines: defines } # Run file through preprocessor & further process result @@ -139,7 +139,7 @@ def preprocess_test_file(filepath:, test:, flags:, include_paths:, defines:) test: test, flags: flags, include_paths: include_paths, - defines: defines + defines: defines } # Trigger pre_test_preprocess plugin hook @@ -150,7 +150,7 @@ def preprocess_test_file(filepath:, test:, flags:, include_paths:, defines:) test: test, flags: flags, include_paths: include_paths, - defines: defines + defines: defines } # Extract shallow includes & print status message @@ -162,7 +162,7 @@ def preprocess_test_file(filepath:, test:, flags:, include_paths:, defines:) includes: includes, flags: flags, include_paths: include_paths, - defines: defines + defines: defines } # Run file through preprocessor & further process result @@ -192,7 +192,7 @@ def preprocess_file_common(filepath:, test:, flags:, include_paths:, defines:) test: test, flags: flags, include_paths: include_paths, - defines: defines) + defines: defines) return includes end diff --git a/lib/ceedling/preprocessinator_file_handler.rb b/lib/ceedling/preprocessinator_file_handler.rb index d8879ebac..a1366b4c0 100644 --- a/lib/ceedling/preprocessinator_file_handler.rb +++ b/lib/ceedling/preprocessinator_file_handler.rb @@ -20,7 +20,7 @@ def preprocess_header_file(source_filepath:, preprocessed_filepath:, includes:, defines, include_paths ) - + shell_result = @tool_executor.exec( command ) contents = @preprocessinator_extractor.extract_base_file_from_preprocessed_expansion( preprocessed_filepath ) @@ -55,7 +55,7 @@ def preprocess_header_file(source_filepath:, preprocessed_filepath:, includes:, contents = [comment, ''] + contents # Write file, collapsing any repeated blank lines - # ---------------------------------------------------- + # ---------------------------------------------------- contents = contents.join("\n") contents.gsub!( /(\h*\n){3,}/, "\n\n" ) @@ -64,7 +64,7 @@ def preprocess_header_file(source_filepath:, preprocessed_filepath:, includes:, # - We rely on search paths at compilation rather than explicit #include paths # - Match (#include ")((path/)+)(file") and reassemble string using first and last matching groups contents.gsub!( /(#include\s+")(([^\/]+\/)+)(.+")/, '\1\4' ) - + @file_wrapper.write( preprocessed_filepath, contents ) return shell_result @@ -79,7 +79,7 @@ def preprocess_test_file(source_filepath:, preprocessed_filepath:, includes:, fl defines, include_paths ) - + shell_result = @tool_executor.exec( command ) contents = @preprocessinator_extractor.extract_base_file_from_preprocessed_expansion( preprocessed_filepath ) @@ -97,7 +97,7 @@ def preprocess_test_file(source_filepath:, preprocessed_filepath:, includes:, fl contents = [comment, ''] + contents # Write file, doing some prettyifying along the way - # ---------------------------------------------------- + # ---------------------------------------------------- contents = contents.join("\n") contents.gsub!( /^\s*;/, '' ) # Drop blank lines with semicolons left over from macro expansion + trailing semicolon contents.gsub!( /\)\s+\{/, ")\n{" ) # Collapse any unnecessary white space between closing argument paren and opening function bracket diff --git a/lib/ceedling/preprocessinator_includes_handler.rb b/lib/ceedling/preprocessinator_includes_handler.rb index 3f01f7cac..83f9e90a6 100644 --- a/lib/ceedling/preprocessinator_includes_handler.rb +++ b/lib/ceedling/preprocessinator_includes_handler.rb @@ -18,14 +18,14 @@ class PreprocessinatorIncludesHandler ## #include extraction is hard to do. In simple cases a regex approach suffices, but nested header files, ## clever macros, and conditional preprocessing statements easily introduce high complexity. ## - ## Unfortunately, there's no readily available cross-platform C parsing tool that provides a simple means - ## to extract the #include statements directly embedded in a given file. Even the gcc preprocessor itself + ## Unfortunately, there's no readily available cross-platform C parsing tool that provides a simple means + ## to extract the #include statements directly embedded in a given file. Even the gcc preprocessor itself ## only comes close to providing this information externally. ## ## APPROACH ## -------- ## (Full details including fallback options are in the extensive code comments among the methods below.) - ## + ## ## Sadly, we can't preprocess a file with full search paths and defines and ask for the #include statements ## embedded in a file. We get far more #includes than we want with no way to discern which are at the depth ## of the file being processed. @@ -33,7 +33,7 @@ class PreprocessinatorIncludesHandler ## Instead, we try our best to use some educated guessing to get as close as possible to the desired list. ## ## I. Try to extract shallow defines with no crawling out into other header files. This conservative approach - ## gives us a reference point on possible directly included files. The results may be incomplete, though. + ## gives us a reference point on possible directly included files. The results may be incomplete, though. ## They also may mistakenly list #includes that should not be in the list--because of #ifndef defaults or ## because of system headers or #include <...> statements and differences among gcc implementations. ## @@ -43,10 +43,10 @@ class PreprocessinatorIncludesHandler ## III. Find #includes common to (I) and (II). The results of (I) should limit the potentially lengthy ## results of (II). The complete and accurate list of (II) should cut out any mistaken entries in (I). ## - ## IV. I–III are not foolproof. A purely greedy approach or a purely conservative approach will cause symbol - ## conflicts, missing symbols, etc. The blended and balanced approach should come quite close to an - ## accurate list of shallow includes. Edge cases and gaps will cause trouble. Other Ceedling features - ## should provide the tools to intervene. + ## IV. I–III are not foolproof. A purely greedy approach or a purely conservative approach will cause symbol + ## conflicts, missing symbols, etc. The blended and balanced approach should come quite close to an + ## accurate list of shallow includes. Edge cases and gaps will cause trouble. Other Ceedling features + ## should provide the tools to intervene. ## def extract_includes(filepath:, test:, flags:, include_paths:, defines:) @@ -98,7 +98,7 @@ def write_includes_list(filepath, list) def extract_shallow_includes(test:, filepath:, flags:, defines:) # Shallow includes extraction, first attempt with preprocessor - success, shallow = + success, shallow = extract_shallow_includes_preprocessor( test: test, filepath: filepath, @@ -131,7 +131,7 @@ def extract_shallow_includes_preprocessor(test:, filepath:, flags:, defines:) ## unnecessary compilation when extracting includes from a test file. ## - Note: This approach can have gaps with complex macros / conditional statements. ## Gaps can be minimized with proper defines in the project file. - ## However, needed / complex macros located in other header files can still gum + ## However, needed / complex macros located in other header files can still gum ## up the works. ## ## Format: @@ -142,7 +142,7 @@ def extract_shallow_includes_preprocessor(test:, filepath:, flags:, defines:) ## - Many errors can occur but may not necessarily prevent usable results. ## - A file with no includes will create the first line with self-referential .h file path. ## - Make rule formation assumes any files not found in a search path will be generated. - ## - Since we're not using search paths, the preprocessor largely assumes all #include + ## - Since we're not using search paths, the preprocessor largely assumes all #include ## files are generated (and include no paths). ## - The exception is #include files that exist in the same directory as the file ## being processed. @@ -155,7 +155,7 @@ def extract_shallow_includes_preprocessor(test:, filepath:, flags:, defines:) ## - A make rule may be present but not depedencies if the file has no #includes. ## 3. Extract includes from "phony" make rules that follow opening rule line. ## - These may be .h or .c files. - ## + ## ## Example output follows ## ----------------------------------------------------------------------------------------- ## os.o: ../../src/app/task/os/os.h fstd_types.h FreeRTOS.h queue.h @@ -172,12 +172,12 @@ def extract_shallow_includes_preprocessor(test:, filepath:, flags:, defines:) # Matcher for the first line of the make rule output make_rule_matcher = /^\S+\.o:\s+.+$/ # .o: - + # Matcher for the “phony“ make rule output lines for each #include dependency (.h, .c, etc.) # Capture file name before the colon include_matcher = /^(\S+\.\S+):\s*$/ # .: - command = + command = @tool_executor.build_command_line( @configurator.tools_test_shallow_includes_preprocessor, flags, @@ -243,9 +243,9 @@ def extract_nested_includes(filepath:, include_paths:, flags:, defines:, shallow ## - Because search paths and defines are provided, error-free execution is assumed. ## If the preprocessor fails, issues exist that will cause full compilation to fail. ## - Unfortuantely, because of ordering and nesting effects, a file directly #include'd may - ## not be listed at depth 1 ('.'). Instead, it may end up listed at greater depth beneath + ## not be listed at depth 1 ('.'). Instead, it may end up listed at greater depth beneath ## another #include'd file if both files reference it. That is, there is no way - ## to give the preprocessor full context and ask for only the files directly + ## to give the preprocessor full context and ask for only the files directly ## #include'd in the file being processed. ## - The preprocessor outputs the -H #include listing to STDERR. ToolExecutor does this ## by default in creating the shell result output. @@ -254,11 +254,11 @@ def extract_nested_includes(filepath:, include_paths:, flags:, defines:, shallow ## ## Approach: ## - Match on each listing line a filepath preceeded by its depth - ## - One mode of using this preprocessor approach is as a fallback / double-check method + ## - One mode of using this preprocessor approach is as a fallback / double-check method ## if the simpler, earler shallow preprocessing produces no #include results. When used ## this way we match only #include'd files at depth 1 ('.'), hoping we extract an ## appropriate, usable list of #includes. - ## + ## ## Example output follows ## ----------------------------------------------------------------------------------------- ## . build/vendor/unity/src/unity.h @@ -273,7 +273,7 @@ def extract_nested_includes(filepath:, include_paths:, flags:, defines:, shallow ## src/Testing.h MockTaskScheduler.h MockTemperatureFilter.h ## - command = + command = @tool_executor.build_command_line( @configurator.tools_test_nested_includes_preprocessor, flags, @@ -315,7 +315,7 @@ def combine_mocks(*lists) if @configurator.project_use_mocks # Use some greediness to ensure we get all possible mocks - lists.each { |list| mocks |= extract_mocks( list ) } + lists.each { |list| mocks |= extract_mocks( list ) } end return mocks @@ -337,9 +337,9 @@ def common_includes(shallow:, nested:) return nested if shallow.empty? # Notes: - # - We want to preserve filepaths whenever possible. Other areas of Ceedling use or discard the + # - We want to preserve filepaths whenever possible. Other areas of Ceedling use or discard the # filepath as needed. - # - We generally do not have filepaths in the shallow list--except when the #include is in the + # - We generally do not have filepaths in the shallow list--except when the #include is in the # same directory as the file being processed # Approach diff --git a/lib/ceedling/rake_utils.rb b/lib/ceedling/rake_utils.rb index 742f6cac6..e140df396 100644 --- a/lib/ceedling/rake_utils.rb +++ b/lib/ceedling/rake_utils.rb @@ -6,7 +6,7 @@ # ========================================================================= class RakeUtils - + constructor :rake_wrapper def task_invoked?(task_regex) diff --git a/lib/ceedling/rakefile.rb b/lib/ceedling/rakefile.rb index c06890474..a74f09fbc 100644 --- a/lib/ceedling/rakefile.rb +++ b/lib/ceedling/rakefile.rb @@ -46,7 +46,7 @@ def log_runtime(run, start_time_s, end_time_s, enabled) # 3. Remove full path from $LOAD_PATH $LOAD_PATH.unshift( CEEDLING_APPCFG[:ceedling_lib_path] ) objects_filepath = File.join( CEEDLING_APPCFG[:ceedling_lib_path], 'objects.yml' ) - + # Create object hash and dependency injection context @ceedling = {} # Empty hash to be redefined if all goes well @ceedling = DIY::Context.from_yaml( File.read( objects_filepath ) ) diff --git a/lib/ceedling/reportinator.rb b/lib/ceedling/reportinator.rb index 0c83dee44..a22ac0d64 100644 --- a/lib/ceedling/reportinator.rb +++ b/lib/ceedling/reportinator.rb @@ -11,7 +11,7 @@ # Pretifies reports class Reportinator - # Generate human readable string of days, hours, minutes, seconds (and + # Generate human readable string of days, hours, minutes, seconds (and # milliseconds) from a start count of seconds and end count of seconds. def self.generate_duration(start_time_s:, end_time_s:) return '' if start_time_s.nil? or end_time_s.nil? @@ -81,8 +81,8 @@ def generate_duration(start_time_s:, end_time_s:) # ==== Examples # # rp = Reportinator.new - # rp.generate_banner("Hello world!") => "------------\nHello world!\n------------\n" - # rp.generate_banner("Hello world!", 3) => "---\nHello world!\n---\n" + # rp.generate_banner("Hello world!") => "------------\nHello world!\n------------\n" + # rp.generate_banner("Hello world!", 3) => "---\nHello world!\n---\n" # # def generate_banner(message, width=nil) diff --git a/lib/ceedling/rules_release.rake b/lib/ceedling/rules_release.rake index 26deeb30c..42c26b835 100644 --- a/lib/ceedling/rules_release.rake +++ b/lib/ceedling/rules_release.rake @@ -102,4 +102,3 @@ namespace RELEASE_SYM do end end - diff --git a/lib/ceedling/rules_tests.rake b/lib/ceedling/rules_tests.rake index 786acf6a6..98a694c3d 100644 --- a/lib/ceedling/rules_tests.rake +++ b/lib/ceedling/rules_tests.rake @@ -48,4 +48,3 @@ namespace TEST_SYM do @ceedling[:test_invoker].setup_and_invoke(tests:[test.source], options:{:force_run => true, :build_only => false}.merge(TOOL_COLLECTION_TEST_RULES)) end end - diff --git a/lib/ceedling/setupinator.rb b/lib/ceedling/setupinator.rb index c2ccc2485..c738e30ae 100644 --- a/lib/ceedling/setupinator.rb +++ b/lib/ceedling/setupinator.rb @@ -163,14 +163,14 @@ def do_setup( app_cfg ) log_step( 'Loading Plugins' ) @configurator.insert_rake_plugins( @configurator.rake_plugins ) - + # Merge in any environment variables that plugins specify after the main build @plugin_manager.load_programmatic_plugins( @configurator.programmatic_plugins, @ceedling ) do |env| # Evaluate environment vars that plugins may have added @configurator.eval_environment_variables( env ) @configurator.build_supplement( config_hash, env ) end - + # Inject dependencies for plugin needs @plugin_reportinator.set_system_objects( @ceedling ) end diff --git a/lib/ceedling/stream_wrapper.rb b/lib/ceedling/stream_wrapper.rb index 0dfaec34c..8bac92c5b 100644 --- a/lib/ceedling/stream_wrapper.rb +++ b/lib/ceedling/stream_wrapper.rb @@ -9,7 +9,7 @@ require 'io/nonblock' # If possible, capture standard data streams non-blocking mode at startup (to be restored at shutdown). - # A sophisticated build setup (e.g. CI) may have intended this change on either side of Ceedling, + # A sophisticated build setup (e.g. CI) may have intended this change on either side of Ceedling, # but it will cause trouble for Ceedling itself. if STDOUT.respond_to?(:nonblock?) # Non-blocking mode query not implemented on all platforms diff --git a/lib/ceedling/system_utils.rb b/lib/ceedling/system_utils.rb index 4fe4f2a52..f1b32c7b4 100644 --- a/lib/ceedling/system_utils.rb +++ b/lib/ceedling/system_utils.rb @@ -19,7 +19,7 @@ class SystemUtils constructor :system_wrapper ## - # Sets up the class. + # Sets up the class. def setup @tcsh_shell = nil end @@ -29,7 +29,7 @@ def setup def tcsh_shell? # once run a single time, return state determined at that execution return @tcsh_shell unless @tcsh_shell.nil? - + result = @system_wrapper.shell_backticks(command:'echo $version') if ((result[:exit_code] == 0) and (result[:output].strip =~ /^tcsh/)) @@ -37,7 +37,7 @@ def tcsh_shell? else @tcsh_shell = false end - + return @tcsh_shell end end diff --git a/lib/ceedling/system_wrapper.rb b/lib/ceedling/system_wrapper.rb index 4b214ed4d..0e2d9d72d 100644 --- a/lib/ceedling/system_wrapper.rb +++ b/lib/ceedling/system_wrapper.rb @@ -5,7 +5,7 @@ # SPDX-License-Identifier: MIT # ========================================================================= -require 'rbconfig' +require 'rbconfig' require 'open3' class SystemWrapper @@ -66,7 +66,7 @@ def time_now(format=nil) # If set, `boom` allows a non-zero exit code in results. # Otherwise, disabled `boom` forces a success exit code but collects errors. - def shell_capture3(command:, boom:false) + def shell_capture3(command:, boom:false) # Beginning with later versions of Ruby2, simple exit codes were replaced # by the more capable and robust Process::Status. # Parts of Process::Status's behavior is similar to an integer exit code in @@ -75,7 +75,7 @@ def shell_capture3(command:, boom:false) stdout, stderr = '' # Safe initialization defaults status = nil # Safe initialization default - + stdout, stderr, status = Open3.capture3( command ) # If boom, then capture the actual exit code. @@ -88,14 +88,14 @@ def shell_capture3(command:, boom:false) return { # Combine stdout & stderr streams for complete output :output => (stdout + stderr).freeze, - + # Individual streams for detailed logging :stdout => stdout.freeze, :stderr => stderr.freeze, # Relay full Process::Status :status => status.freeze, - + # Provide simple exit code accessor :exit_code => exit_code.freeze } diff --git a/lib/ceedling/task_invoker.rb b/lib/ceedling/task_invoker.rb index d140f81d1..411a0ef34 100644 --- a/lib/ceedling/task_invoker.rb +++ b/lib/ceedling/task_invoker.rb @@ -19,7 +19,7 @@ def setup # Alias for brevity @batchinator = @build_batchinator end - + def add_test_task_regex(regex) @test_regexs << regex end @@ -27,26 +27,26 @@ def add_test_task_regex(regex) def add_release_task_regex(regex) @release_regexs << regex end - + def test_invoked? invoked = false - + @test_regexs.each do |regex| invoked = true if (@rake_utils.task_invoked?(regex)) break if invoked end - + return invoked end - + def release_invoked? invoked = false - + @release_regexs.each do |regex| invoked = true if (@rake_utils.task_invoked?(regex)) break if invoked end - + return invoked end @@ -66,5 +66,5 @@ def invoke_release_objects(objects) @rake_wrapper[object].invoke end end - + end diff --git a/lib/ceedling/tasks_base.rake b/lib/ceedling/tasks_base.rake index 9838ddbca..866ac4973 100644 --- a/lib/ceedling/tasks_base.rake +++ b/lib/ceedling/tasks_base.rake @@ -36,4 +36,3 @@ task :summary do puts "\nNOTE: Summaries may be out of date with project sources.\n\n" end end - diff --git a/lib/ceedling/tasks_filesystem.rake b/lib/ceedling/tasks_filesystem.rake index 748e888cd..f213a7d14 100644 --- a/lib/ceedling/tasks_filesystem.rake +++ b/lib/ceedling/tasks_filesystem.rake @@ -62,7 +62,7 @@ namespace :paths do standard_paths = ['test', 'source', 'include', 'support'] paths = @ceedling[:setupinator].config_hash[:paths].keys.map{|n| n.to_s.downcase} - + paths.each do |name| desc "List all collected #{name} paths." if standard_paths.include?(name) task(name.to_sym) do @@ -95,5 +95,3 @@ namespace :files do end end - - diff --git a/lib/ceedling/tasks_release.rake b/lib/ceedling/tasks_release.rake index 44465141d..8b89cdcf8 100644 --- a/lib/ceedling/tasks_release.rake +++ b/lib/ceedling/tasks_release.rake @@ -12,8 +12,8 @@ require 'ceedling/file_path_utils' desc "Build release target." task RELEASE_SYM => [:prepare] do header = "Release build '#{File.basename(PROJECT_RELEASE_BUILD_TARGET)}'" - @ceedling[:loginator].log("\n\n#{header}\n#{'-' * header.length}") - + @ceedling[:loginator].log("\n\n#{header}\n#{'-' * header.length}") + begin @ceedling[:plugin_manager].pre_release @@ -21,7 +21,7 @@ task RELEASE_SYM => [:prepare] do extra_objects = @ceedling[:file_path_utils].form_release_build_objects_filelist( COLLECTION_RELEASE_ARTIFACT_EXTRA_LINK_OBJECTS ) core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_objects( COLLECTION_RELEASE_BUILD_INPUT ) ) - + # If we're using libraries, we need to add those to our collection as well library_objects = (defined? LIBRARIES_RELEASE && !LIBRARIES_RELEASE.empty?) ? LIBRARIES_RELEASE.flatten.compact : [] file( PROJECT_RELEASE_BUILD_TARGET => (core_objects + extra_objects + library_objects) ) @@ -38,7 +38,6 @@ task RELEASE_SYM => [:prepare] do ceedling[:loginator].log( "#{ex.backtrace.first}: #{ex.message} (#{ex.class})", Verbosity::DEBUG ) ceedling[:loginator].log( ex.backtrace.drop(1).map{|s| "\t#{s}"}.join("\n"), Verbosity::DEBUG ) ensure - @ceedling[:plugin_manager].post_release + @ceedling[:plugin_manager].post_release end end - diff --git a/lib/ceedling/tasks_tests.rake b/lib/ceedling/tasks_tests.rake index ba5ec96bb..560035324 100644 --- a/lib/ceedling/tasks_tests.rake +++ b/lib/ceedling/tasks_tests.rake @@ -68,4 +68,3 @@ namespace TEST_SYM do end end - diff --git a/lib/ceedling/test_context_extractor.rb b/lib/ceedling/test_context_extractor.rb index f18bda4d7..b48d7433b 100644 --- a/lib/ceedling/test_context_extractor.rb +++ b/lib/ceedling/test_context_extractor.rb @@ -15,7 +15,7 @@ class TestContextExtractor def setup @all_header_includes = {} # Full list of all headers a test #includes @header_includes = {} # List of all headers minus mocks & framework files - @source_includes = {} + @source_includes = {} @source_extras = {} @test_runner_details = {} # Test case lists & Unity runner generator instances @mocks = {} @@ -113,7 +113,7 @@ def inspect_include_paths def ingest_includes(filepath, includes) mock_prefix = @configurator.cmock_mock_prefix file_key = form_file_key( filepath ) - + mocks = [] all_headers = [] headers = [] @@ -124,7 +124,7 @@ def ingest_includes(filepath, includes) if include =~ /#{Regexp.escape(@configurator.extension_header)}$/ # Check if include is a mock with regex match that extracts only mock name (no .h) scan_results = include.scan(/(#{mock_prefix}.+)#{Regexp.escape(@configurator.extension_header)}/) - + if (scan_results.size > 0) # Collect mock name mocks << scan_results[0][0] @@ -169,7 +169,7 @@ def collect_build_directives(filepath, content) end # Scan for & store includes (.h & .c) and mocks - # Note: This method is private unlike other `collect_ ()` methods. It is only + # Note: This method is private unlike other `collect_ ()` methods. It is only # called by way of `collect_context()`. def collect_includes(filepath, content) includes = _extract_includes( filepath, content ) diff --git a/lib/ceedling/test_invoker.rb b/lib/ceedling/test_invoker.rb index b2fdb7873..7bab3f2a4 100644 --- a/lib/ceedling/test_invoker.rb +++ b/lib/ceedling/test_invoker.rb @@ -167,7 +167,7 @@ def setup_and_invoke(tests:, context:TEST_SYM, options:{}) @batchinator.build_step("Determining Files to be Generated", heading: false) do @batchinator.exec(workload: :compile, things: @testables) do |test, details| runner_filepath = @file_path_utils.form_runner_filepath_from_test( details[:filepath] ) - + mocks = {} mocks_list = @configurator.project_use_mocks ? @context_extractor.lookup_raw_mock_list( details[:filepath] ) : [] mocks_list.each do |name| @@ -225,7 +225,7 @@ def setup_and_invoke(tests:, context:TEST_SYM, options:{}) # Generate mocks for all tests @batchinator.build_step("Mocking") { - @batchinator.exec(workload: :compile, things: mocks) do |mock| + @batchinator.exec(workload: :compile, things: mocks) do |mock| details = mock[:details] testable = mock[:testable] @@ -268,7 +268,7 @@ def setup_and_invoke(tests:, context:TEST_SYM, options:{}) operation: 'Parsing test case names', module_name: details[:name], filename: File.basename( details[:filepath] ) - ) + ) @loginator.log( msg ) @context_extractor.collect_test_runner_details( details[:filepath], details[:runner][:input_filepath] ) @@ -284,7 +284,7 @@ def setup_and_invoke(tests:, context:TEST_SYM, options:{}) includes_list: @test_context_extractor.lookup_header_includes_list( details[:filepath] ), test_filepath: details[:filepath], input_filepath: details[:runner][:input_filepath], - runner_filepath: details[:runner][:output_filepath] + runner_filepath: details[:runner][:output_filepath] } @generator.generate_test_runner(**arg_hash) @@ -299,14 +299,14 @@ def setup_and_invoke(tests:, context:TEST_SYM, options:{}) test_core = test_sources + details[:mock_list] # When we have a mock and an include for the same file, the mock wins - test_core.delete_if do |v| + test_core.delete_if do |v| mock_of_this_file = "#{@configurator.cmock_mock_prefix}#{File.basename(v,'.*')}" details[:mock_list].include?(mock_of_this_file) end - + # CMock + Unity + CException test_frameworks = @helper.collect_test_framework_sources - + # Extra suport source files (e.g. microcontroller startup code needed by simulator) test_support = @configurator.collection_all_support @@ -325,11 +325,11 @@ def setup_and_invoke(tests:, context:TEST_SYM, options:{}) test_fail = @file_path_utils.form_fail_results_filepath( details[:paths][:results], details[:filepath] ) # Identify all the objects shall not be linked and then remove them from objects list. - test_no_link_objects = + test_no_link_objects = @file_path_utils.form_test_build_objects_filelist( details[:paths][:build], @helper.fetch_shallow_source_includes( details[:filepath] )) - + test_objects = test_objects.uniq - test_no_link_objects @lock.synchronize do @@ -367,7 +367,7 @@ def setup_and_invoke(tests:, context:TEST_SYM, options:{}) flags: details[:link_flags], lib_args: lib_args, lib_paths: lib_paths, - options: options + options: options } @test_invoker_helper.generate_executable_now(**arg_hash) @@ -384,13 +384,13 @@ def setup_and_invoke(tests:, context:TEST_SYM, options:{}) test_filepath: details[:filepath], executable: details[:executable], result: details[:results_pass], - options: options + options: options } @test_invoker_helper.run_fixture_now(**arg_hash) # Handle exceptions so we can ensure post_test() is called. - # A lone `ensure` includes an implicit rescuing of StandardError + # A lone `ensure` includes an implicit rescuing of StandardError # with the exception continuing up the call trace. ensure @plugin_manager.post_test( details[:filepath] ) diff --git a/lib/ceedling/test_invoker_helper.rb b/lib/ceedling/test_invoker_helper.rb index ff4738a01..62cf82a54 100644 --- a/lib/ceedling/test_invoker_helper.rb +++ b/lib/ceedling/test_invoker_helper.rb @@ -56,7 +56,7 @@ def validate_build_directive_source_files(test:, filepath:) # Only C files in test build if not @configurator.test_build_use_assembly - valid_extension = false if @file_wrapper.extname(source) != @configurator.extension_source + valid_extension = false if @file_wrapper.extname(source) != @configurator.extension_source # C and assembly files in test build else ext = @file_wrapper.extname(source) @@ -87,7 +87,7 @@ def search_paths(filepath, subdir) paths += @configurator.collection_paths_libraries paths += @configurator.collection_paths_vendor paths += @configurator.collection_paths_test_toolchain_include - + return paths.uniq end @@ -122,7 +122,7 @@ def tailor_search_paths(filepath:, search_paths:) _search_paths << PROJECT_BUILD_VENDOR_UNITY_PATH # CMock search paths - elsif @configurator.project_use_mocks and + elsif @configurator.project_use_mocks and (filepath == File.join(PROJECT_BUILD_VENDOR_CMOCK_PATH, CMOCK_C_FILE)) _search_paths += @configurator.collection_paths_support _search_paths << PROJECT_BUILD_VENDOR_UNITY_PATH @@ -130,7 +130,7 @@ def tailor_search_paths(filepath:, search_paths:) _search_paths << PROJECT_BUILD_VENDOR_CEXCEPTION_PATH if @configurator.project_use_exceptions # CException search paths - elsif @configurator.project_use_exceptions and + elsif @configurator.project_use_exceptions and (filepath == File.join(PROJECT_BUILD_VENDOR_CEXCEPTION_PATH, CEXCEPTION_C_FILE)) _search_paths += @configurator.collection_paths_support _search_paths << PROJECT_BUILD_VENDOR_CEXCEPTION_PATH @@ -322,12 +322,12 @@ def generate_executable_now(context:, build_path:, executable:, objects:, flags: def run_fixture_now(context:, test_name:, test_filepath:, executable:, result:, options:) @generator.generate_test_results( - tool: options[:test_fixture], + tool: options[:test_fixture], context: context, test_name: test_name, test_filepath: test_filepath, - executable: executable, + executable: executable, result: result) end - + end diff --git a/lib/ceedling/tool_executor_helper.rb b/lib/ceedling/tool_executor_helper.rb index 0c66ee8ae..c8cbd9925 100644 --- a/lib/ceedling/tool_executor_helper.rb +++ b/lib/ceedling/tool_executor_helper.rb @@ -95,7 +95,7 @@ def log_results(command_str, shell_result) if !shell_result[:exit_code].nil? output += "> And terminated with exit code: [#{shell_result[:exit_code]}]\n" else - output += "> And exited prematurely\n" + output += "> And exited prematurely\n" end @loginator.log( '', Verbosity::OBNOXIOUS ) diff --git a/lib/ceedling/tool_validator.rb b/lib/ceedling/tool_validator.rb index fe11fb460..f41f55da8 100644 --- a/lib/ceedling/tool_validator.rb +++ b/lib/ceedling/tool_validator.rb @@ -12,7 +12,7 @@ class ToolValidator - + constructor :file_wrapper, :loginator, :system_wrapper, :reportinator def validate(tool:, name:nil, extension:EXTENSION_EXECUTABLE, respect_optional:false, boom:false) @@ -44,7 +44,7 @@ def validate_executable(tool:, name:, extension:, respect_optional:, boom:) error = "#{name} is missing :executable in its configuration." if !boom @loginator.log( error, Verbosity::ERRORS ) - return false + return false end raise CeedlingException.new(error) @@ -69,7 +69,7 @@ def validate_executable(tool:, name:, extension:, respect_optional:, boom:) end # If no path included, verify file exists in system search paths - if (not executable.include?('/')) + if (not executable.include?('/')) # Iterate over search paths @system_wrapper.search_paths.each do |path| @@ -90,7 +90,7 @@ def validate_executable(tool:, name:, extension:, respect_optional:, boom:) # Construct end of error message error = "does not exist in system search paths" if not exists - + # If there is a path included, check that explicit filepath exists else if @file_wrapper.exist?( executable ) @@ -98,7 +98,7 @@ def validate_executable(tool:, name:, extension:, respect_optional:, boom:) else # Construct end of error message error = "does not exist on disk" if not exists - end + end end if !exists @@ -117,7 +117,7 @@ def validate_executable(tool:, name:, extension:, respect_optional:, boom:) return exists end - + def validate_stderr_redirect(tool:, name:, boom:) error = '' redirect = tool[:stderr_redirect] @@ -137,12 +137,12 @@ def validate_stderr_redirect(tool:, name:, boom:) # Otherwise log error @loginator.log( error, Verbosity::ERRORS ) return false - end + end elsif redirect.class != String raise CeedlingException.new( "#{name} ↳ :stderr_redirect is neither a recognized value nor custom string" ) end return true end - + end diff --git a/plugins/beep/config/defaults_beep.rb b/plugins/beep/config/defaults_beep.rb index 938de8947..660701338 100644 --- a/plugins/beep/config/defaults_beep.rb +++ b/plugins/beep/config/defaults_beep.rb @@ -26,14 +26,14 @@ ].freeze } -# Old but widely available `beep` tone generator package for Unix-derived platforms (not macOS) +# Old but widely available `beep` tone generator package for Unix-derived platforms (not macOS) DEFAULT_BEEP_BEEP_TOOL = { :executable => 'beep'.freeze, # `beep` command line application :optional => true.freeze, :name => 'default_beep_beep'.freeze, :arguments => [].freeze # Default beep (no arguments) } - + # Widely available tone generator package for Unix-derived platforms (not macOS) DEFAULT_BEEP_SPEAKER_TEST_TOOL = { :executable => 'speaker-test'.freeze, # `speaker-test` command line application @@ -64,4 +64,4 @@ def get_default_config :beep_speaker_test => DEFAULT_BEEP_SPEAKER_TEST_TOOL, :beep_say => DEFAULT_BEEP_SAY_TOOL } -end \ No newline at end of file +end diff --git a/plugins/beep/lib/beep.rb b/plugins/beep/lib/beep.rb index c658f69f9..4a66ee0d6 100755 --- a/plugins/beep/lib/beep.rb +++ b/plugins/beep/lib/beep.rb @@ -1,3 +1,4 @@ +#!/usr/bin/env ruby # ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org @@ -12,12 +13,12 @@ BEEP_SYM = BEEP_ROOT_NAME.to_sym class Beep < Plugin - + # `Plugin` setup() def setup # Get non-flattenified project configuration project_config = @ceedling[:setupinator].config_hash - + # Get beep configuration hash beep_config = project_config[BEEP_SYM] @@ -29,13 +30,13 @@ def setup :beep_on_done => tools["beep_#{beep_config[:on_done]}".to_sym], :beep_on_error => tools["beep_#{beep_config[:on_error]}".to_sym] } - + # Ensure configuration option is an actual tool if @tools[:beep_on_done].nil? error = "Option :#{beep_config[:on_done]} for :beep ↳ :on_done plugin configuration does not map to a tool." raise CeedlingException.new( error ) end - + # Ensure configuration option is an actual tool if @tools[:beep_on_error].nil? error = "Option :#{beep_config[:on_done]} for :beep ↳ :on_error plugin configuration does not map to a tool." @@ -55,7 +56,7 @@ def setup ) if tools[:on_error] != :bell end - # `Plugin` build step hook + # `Plugin` build step hook def post_build command = @ceedling[:tool_executor].build_command_line( @tools[:beep_on_done], @@ -68,7 +69,7 @@ def post_build # Verbosity is enabled to allow shell output (primarily for sake of the bell character) @ceedling[:system_wrapper].shell_system( command: command[:line], verbose: true ) end - + # `Plugin` build step hook def post_error command = @ceedling[:tool_executor].build_command_line( @@ -81,5 +82,5 @@ def post_error # Verbosity is enabled to allow shell output (primarily for sake of the bell character) @ceedling[:system_wrapper].shell_system( command: command[:line], verbose: true ) end - + end diff --git a/plugins/bullseye/assets/template.erb b/plugins/bullseye/assets/template.erb index 504f85583..e1ef9874b 100644 --- a/plugins/bullseye/assets/template.erb +++ b/plugins/bullseye/assets/template.erb @@ -12,4 +12,3 @@ BRANCHES: <%=sprintf(format_string, hash[:coverage][:branches])%>% % else BRANCHES: none % end - diff --git a/plugins/bullseye/bullseye.rake b/plugins/bullseye/bullseye.rake index f82a2111d..db3abd348 100755 --- a/plugins/bullseye/bullseye.rake +++ b/plugins/bullseye/bullseye.rake @@ -1,3 +1,4 @@ +#!/usr/bin/env ruby # ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org diff --git a/plugins/bullseye/config/defaults.yml b/plugins/bullseye/config/defaults.yml old mode 100755 new mode 100644 diff --git a/plugins/bullseye/lib/bullseye.rb b/plugins/bullseye/lib/bullseye.rb index c077af2b0..12e3e2217 100755 --- a/plugins/bullseye/lib/bullseye.rb +++ b/plugins/bullseye/lib/bullseye.rb @@ -1,3 +1,4 @@ +#!/usr/bin/env ruby # ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org @@ -48,7 +49,7 @@ def generate_coverage_object_file(source, object) @ceedling[:plugin_manager].pre_compile_execute(arg_hash) @ceedling[:loginator].log("Compiling #{File.basename(source)} with coverage...") - compile_command = + compile_command = @ceedling[:tool_executor].build_command_line( TOOLS_BULLSEYE_COMPILER, @ceedling[:flaginator].flag_down( OPERATION_COMPILE_SYM, BULLSEYE_SYM, source ), @@ -58,14 +59,14 @@ def generate_coverage_object_file(source, object) coverage_command = @ceedling[:tool_executor].build_command_line(TOOLS_BULLSEYE_INSTRUMENTATION, [], compile_command[:line] ) shell_result = @ceedling[:tool_executor].exec( coverage_command[:line], coverage_command[:options] ) - + arg_hash[:shell_result] = shell_result @ceedling[:plugin_manager].post_compile_execute(arg_hash) end def post_test_fixture_execute(arg_hash) result_file = arg_hash[:result_file] - + if ((result_file =~ /#{BULLSEYE_RESULTS_PATH}/) and (not @result_list.include?(result_file))) @result_list << arg_hash[:result_file] end @@ -80,13 +81,13 @@ def post_build :header => BULLSEYE_ROOT_NAME.upcase, :results => results } - + @ceedling[:plugin_reportinator].run_test_results_report(hash) do message = '' message = 'Unit test failures.' if (results[:counts][:failed] > 0) message end - + # coverage results return if (verify_coverage_file() == false) if (@ceedling[:task_invoker].invoked?(/^#{BULLSEYE_TASK_ROOT}(all|delta)/)) @@ -110,13 +111,13 @@ def summary } @ceedling[:plugin_reportinator].run_test_results_report(hash) - + # coverage results command = @ceedling[:tool_executor].build_command_line(TOOLS_BULLSEYE_REPORT_COVSRC) shell_result = @ceedling[:tool_executor].exec( command ) report_coverage_results_all(shell_result[:output]) end - + def enableBullseye(enable) if BULLSEYE_AUTO_LICENSE if (enable) @@ -127,14 +128,14 @@ def enableBullseye(enable) @ceedling[:loginator].log("Reverting Bullseye to previous state") end - args.each do |arg| + args.each do |arg| command = @ceedling[:tool_executor].build_command_line(TOOLS_BULLSEYE_BUILD_ENABLE_DISABLE, [], arg) shell_result = @ceedling[:tool_executor].exec( command ) end end end - + private ################################### def report_coverage_results_all(coverage) @@ -149,7 +150,7 @@ def report_coverage_results_all(coverage) if (coverage =~ /^Total.*?=\s+([0-9]+)\%/) results[:coverage][:functions] = $1.to_i end - + if (coverage =~ /^Total.*=\s+([0-9]+)\%\s*$/) results[:coverage][:branches] = $1.to_i end @@ -187,10 +188,10 @@ def verify_coverage_file banner = @ceedling[:plugin_reportinator].generate_banner( "#{BULLSEYE_ROOT_NAME.upcase}: CODE COVERAGE SUMMARY" ) @ceedling[:loginator].log "\n" + banner + "\nNo coverage file.\n\n" end - + return exist end - + end @@ -198,7 +199,7 @@ def verify_coverage_file END { # cache our input configurations to use in comparison upon next execution if (@ceedling[:task_invoker].invoked?(/^#{BULLSEYE_TASK_ROOT}/)) - @ceedling[:cacheinator].cache_test_config( @ceedling[:setupinator].config_hash ) + @ceedling[:cacheinator].cache_test_config( @ceedling[:setupinator].config_hash ) @ceedling[BULLSEYE_SYM].enableBullseye(false) end } diff --git a/plugins/command_hooks/lib/command_hooks.rb b/plugins/command_hooks/lib/command_hooks.rb index ff2f513d4..113d6d2e8 100755 --- a/plugins/command_hooks/lib/command_hooks.rb +++ b/plugins/command_hooks/lib/command_hooks.rb @@ -1,3 +1,4 @@ +#!/usr/bin/env ruby # ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org @@ -41,25 +42,25 @@ class CommandHooks < Plugin def setup # Get a copy of the project configuration project_config = @ceedling[:setupinator].config_hash - + # Look up if the accompanying `:command_hooks` configuration block exists config_exists = @ceedling[:configurator_validator].exists?( project_config, COMMAND_HOOKS_SYM ) - + # Go boom if the required configuration block does not exist unless config_exists name = @ceedling[:reportinator].generate_config_walk([COMMAND_HOOKS_SYM]) error = "Command Hooks plugin is enabled but is missing a required configuration block `#{name}`" raise CeedlingException.new(error) end - + @config = project_config[COMMAND_HOOKS_SYM] - + # Validate the command hook keys (look out for typos) validate_config( @config ) - + # Validate the tools beneath the keys @config.each do |hook, tool| if tool.is_a?(Array) @@ -95,7 +96,7 @@ def post_error; run_hook( :post_error ### Private private - + ## # Validate plugin configuration. # @@ -108,21 +109,21 @@ def validate_config(config) error = "Expected configuration #{name} to be a Hash but found #{config.class}" raise CeedlingException.new(error) end - + unrecognized_hooks = config.keys - COMMAND_HOOKS_LIST - + unrecognized_hooks.each do |not_a_hook| name = @ceedling[:reportinator].generate_config_walk( [COMMAND_HOOKS_SYM, not_a_hook] ) error = "Unrecognized command hook: #{name}" @ceedling[:loginator].log( error, Verbosity::ERRORS ) end - + unless unrecognized_hooks.empty? error = "Unrecognized hooks found in Command Hooks plugin configuration" raise CeedlingException.new(error) end end - + ## # Validate given hook tool. # @@ -134,23 +135,23 @@ def validate_hook_tool(config, *keys) walk = [COMMAND_HOOKS_SYM, *keys] name = @ceedling[:reportinator].generate_config_walk( walk ) hash = @ceedling[:config_walkinator].fetch_value( config, *walk ) - + tool_exists = @ceedling[:configurator_validator].exists?( config, *walk ) - + unless tool_exists raise CeedlingException.new( "Missing Command Hook plugin tool configuration #{name}" ) end - + tool = hash[:value] - + unless tool.is_a?(Hash) error = "Expected configuration #{name} to be a Hash but found #{tool.class}" raise CeedlingException.new( error ) end - + @ceedling[:tool_validator].validate( tool: tool, name: name, boom: true ) end - + ## # Run a hook if its available. # @@ -165,17 +166,17 @@ def run_hook(which_hook, name="") msg = "Running command hook #{which_hook}" msg = @ceedling[:reportinator].generate_progress( msg ) @ceedling[:loginator].log( msg ) - + # Single tool config if (@config[which_hook].is_a? Hash) run_hook_step( @config[which_hook], name ) - + # Multiple tool configs elsif (@config[which_hook].is_a? Array) @config[which_hook].each do |hook| run_hook_step(hook, name) end - + # Tool config is bad else msg = "The tool config for Command Hook #{which_hook} was poorly formed and not run" diff --git a/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb b/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb index 40b32e592..0fcaefcb9 100644 --- a/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +++ b/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb @@ -10,13 +10,13 @@ require 'json' class CompileCommandsJsonDb < Plugin - + # `Plugin` setup() def setup @fullpath = File.join(PROJECT_BUILD_ARTIFACTS_ROOT, "compile_commands.json") - + @database = [] - + if (File.exist?(@fullpath) && File.size(@fullpath) > 0) @database = JSON.parse( File.read(@fullpath) ) end diff --git a/plugins/dependencies/Rakefile b/plugins/dependencies/Rakefile index 0674949b8..27cc1c915 100644 --- a/plugins/dependencies/Rakefile +++ b/plugins/dependencies/Rakefile @@ -185,4 +185,4 @@ task :integration_test do end end -task :default => [:integration_test] \ No newline at end of file +task :default => [:integration_test] diff --git a/plugins/dependencies/config/defaults.yml b/plugins/dependencies/config/defaults.yml index e9a024903..e5d6098d2 100644 --- a/plugins/dependencies/config/defaults.yml +++ b/plugins/dependencies/config/defaults.yml @@ -9,23 +9,23 @@ :dependencies: :deps: [] -:tools: - :deps_compiler: +:tools: + :deps_compiler: :executable: gcc :name: 'Dependencies compiler' - :arguments: - - -g - - -I"$": COLLECTION_PATHS_DEPS - - -D$: COLLECTION_DEFINES_DEPS - - -c "${1}" - - -o "${2}" + :arguments: + - -g + - -I"$": COLLECTION_PATHS_DEPS + - -D$: COLLECTION_DEFINES_DEPS + - -c "${1}" + - -o "${2}" :deps_linker: - :executable: ar + :executable: ar :name: 'Dependencies archiver' - :arguments: - - rcs - - ${2} + :arguments: + - rcs + - ${2} - ${1} :deps_zip: diff --git a/plugins/dependencies/dependencies.rake b/plugins/dependencies/dependencies.rake index 1e70549f3..d834e5fe2 100644 --- a/plugins/dependencies/dependencies.rake +++ b/plugins/dependencies/dependencies.rake @@ -154,4 +154,3 @@ namespace :files do puts "file count: #{deps.size}" end end - diff --git a/plugins/dependencies/example/boss/project.yml b/plugins/dependencies/example/boss/project.yml index e54470ccd..6abbff19c 100644 --- a/plugins/dependencies/example/boss/project.yml +++ b/plugins/dependencies/example/boss/project.yml @@ -22,7 +22,7 @@ :default_tasks: - test:all - # performance options. If your tools start giving mysterious errors, consider + # performance options. If your tools start giving mysterious errors, consider # dropping this to 1 to force single-tasking :test_threads: 8 :compile_threads: 8 @@ -61,7 +61,7 @@ :static_libraries: - release/libsupervisor.a :dynamic_libraries: [] - :includes: + :includes: - ../src/supervisor.h - :name: WorkerBees :paths: @@ -101,8 +101,8 @@ - ../reporter/version.h # Plugins are optional Ceedling features which can be enabled. Ceedling supports -# a variety of plugins which may effect the way things are compiled, reported, -# or may provide new command options. Refer to the readme in each plugin for +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for # details on how to use it. :plugins: :load_paths: [] @@ -162,8 +162,8 @@ :release: - STATIC=static - # Enable to inject name of a test as a unique compilation symbol into its respective executable build. - :use_test_definition: FALSE + # Enable to inject name of a test as a unique compilation symbol into its respective executable build. + :use_test_definition: FALSE # Configure additional command line flags provided to tools used in each build step # :flags: @@ -193,7 +193,7 @@ int8: INT8 bool: UINT8 -# Configuration options specific to Unity. +# Configuration options specific to Unity. :unity: :defines: - UNITY_EXCLUDE_FLOAT @@ -214,7 +214,7 @@ :test: [] :release: [] -# TOOLS +# TOOLS # This is custom configuration for any tools, but in this case, we are highlighting the # configuration options for the dependency tools :tools: diff --git a/plugins/dependencies/example/boss/src/boss.c b/plugins/dependencies/example/boss/src/boss.c index 49a994d21..1a5f86f1f 100644 --- a/plugins/dependencies/example/boss/src/boss.c +++ b/plugins/dependencies/example/boss/src/boss.c @@ -77,4 +77,4 @@ int boss_micro_manage(int* chunks_of_work, int num_chunks) /* How much work was finished? */ return supervisor_progress(hours_worked, total_workers); -} \ No newline at end of file +} diff --git a/plugins/dependencies/example/boss/src/boss.h b/plugins/dependencies/example/boss/src/boss.h index dcc14d44e..0229f6da5 100644 --- a/plugins/dependencies/example/boss/src/boss.h +++ b/plugins/dependencies/example/boss/src/boss.h @@ -13,4 +13,4 @@ void boss_hire_workers(int num_workers); void boss_fire_workers(int num_workers); int boss_micro_manage(int* chunks_of_work, int num_chunks); -#endif +#endif diff --git a/plugins/dependencies/example/boss/src/main.c b/plugins/dependencies/example/boss/src/main.c index dec9fd3ca..98d1ae9d6 100644 --- a/plugins/dependencies/example/boss/src/main.c +++ b/plugins/dependencies/example/boss/src/main.c @@ -13,7 +13,7 @@ #define WORK 20 -int main(int argc, char *argv[]) +int main(int argc, char *argv[]) { int i; int work[WORK]; @@ -42,4 +42,4 @@ int main(int argc, char *argv[]) retval = boss_micro_manage(work, WORK); return retval; -} \ No newline at end of file +} diff --git a/plugins/dependencies/example/boss/test/test_boss.c b/plugins/dependencies/example/boss/test/test_boss.c index a64760370..a020f410c 100644 --- a/plugins/dependencies/example/boss/test/test_boss.c +++ b/plugins/dependencies/example/boss/test/test_boss.c @@ -115,4 +115,4 @@ void test_boss_can_MicroManageLikeABoss(void) } } -#endif +#endif diff --git a/plugins/dependencies/example/supervisor/project.yml b/plugins/dependencies/example/supervisor/project.yml index eff487ef7..51eae852b 100644 --- a/plugins/dependencies/example/supervisor/project.yml +++ b/plugins/dependencies/example/supervisor/project.yml @@ -22,7 +22,7 @@ :default_tasks: - test:all - # performance options. If your tools start giving mysterious errors, consider + # performance options. If your tools start giving mysterious errors, consider # dropping this to 1 to force single-tasking :test_threads: 8 :compile_threads: 8 @@ -44,8 +44,8 @@ :artifacts: [] # Plugins are optional Ceedling features which can be enabled. Ceedling supports -# a variety of plugins which may effect the way things are compiled, reported, -# or may provide new command options. Refer to the readme in each plugin for +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for # details on how to use it. :plugins: :load_paths: [] @@ -103,8 +103,8 @@ - TEST # Simple list option to add symbol 'TEST' to compilation of all files in all test executables :release: [] - # Enable to inject name of a test as a unique compilation symbol into its respective executable build. - :use_test_definition: FALSE + # Enable to inject name of a test as a unique compilation symbol into its respective executable build. + :use_test_definition: FALSE # Configure additional command line flags provided to tools used in each build step # :flags: @@ -134,7 +134,7 @@ int8: INT8 bool: UINT8 -# Configuration options specific to Unity. +# Configuration options specific to Unity. :unity: :defines: - UNITY_EXCLUDE_FLOAT @@ -155,7 +155,7 @@ :test: [] :release: [] -# Override the default linker tool to build a static library release instead of +# Override the default linker tool to build a static library release instead of # as executable. woo! :tools: :release_linker: diff --git a/plugins/dependencies/example/supervisor/src/supervisor.c b/plugins/dependencies/example/supervisor/src/supervisor.c index 81e678bc6..45f0773e8 100644 --- a/plugins/dependencies/example/supervisor/src/supervisor.c +++ b/plugins/dependencies/example/supervisor/src/supervisor.c @@ -40,6 +40,6 @@ int supervisor_progress(int* worker_loads, int num_workers) { total_hours += worker_loads[i]; } - + return total_hours; } diff --git a/plugins/dependencies/example/supervisor/src/supervisor.h b/plugins/dependencies/example/supervisor/src/supervisor.h index 789ac76fc..a3bd38784 100644 --- a/plugins/dependencies/example/supervisor/src/supervisor.h +++ b/plugins/dependencies/example/supervisor/src/supervisor.h @@ -11,4 +11,4 @@ int supervisor_delegate(int* worker_loads, int num_workers); int supervisor_progress(int* worker_loads, int num_workers); -#endif +#endif diff --git a/plugins/dependencies/example/supervisor/test/test_supervisor.c b/plugins/dependencies/example/supervisor/test/test_supervisor.c index 1590a537b..f485bf2d7 100644 --- a/plugins/dependencies/example/supervisor/test/test_supervisor.c +++ b/plugins/dependencies/example/supervisor/test/test_supervisor.c @@ -55,4 +55,4 @@ void test_supervisor_can_TrackProgressProperlyAcrossAllWorkers(void) TEST_ASSERT_EQUAL(0, supervisor_progress(loads5, 2)); } -#endif +#endif diff --git a/plugins/dependencies/lib/dependencies.rb b/plugins/dependencies/lib/dependencies.rb index f0690d26b..9d2bc82d6 100644 --- a/plugins/dependencies/lib/dependencies.rb +++ b/plugins/dependencies/lib/dependencies.rb @@ -121,7 +121,7 @@ def get_source_files_for_dependency(deplib) end def get_include_directories_for_dependency(deplib) - paths = (deplib[:artifacts][:includes] || []).map do |path| + paths = (deplib[:artifacts][:includes] || []).map do |path| if (path =~ /.*\.h$/) path.split(/[\/\\]/)[0..-2] elsif (path =~ /(?:^\+:)|(?:^-:)|(?:\*\*)/) @@ -130,7 +130,7 @@ def get_include_directories_for_dependency(deplib) path end end - return paths.map{|path| File.join(get_artifact_path(deplib), path) }.uniq + return paths.map{|path| File.join(get_artifact_path(deplib), path) }.uniq end def get_include_files_for_dependency(deplib) @@ -166,7 +166,7 @@ def generate_command_line(cmdline, name=nil) # we do so for possible argument expansion/substitution and, more importantly, logging output. # Construct a tool configuration - tool_config = { + tool_config = { # Use tool name if provided, otherwise, grab something from the command line :name => name.nil? ? cmdline_items[0] : name, @@ -256,7 +256,7 @@ def fetch_if_required(lib_path) blob[:fetch][:source] ) end - + when :svn revision = blob[:fetch][:revision] || '' revision = '--revision ' + revision unless revision.empty? @@ -268,7 +268,7 @@ def fetch_if_required(lib_path) revision, blob[:fetch][:source] ) - + when :custom blob[:fetch][:executable].each.with_index(1) do |cmdline, index| steps << generate_command_line( cmdline, "Dependencies custom command \##{index}" ) @@ -382,8 +382,8 @@ def exec_dependency_builtin_command(step, blob) case step when :build_lib # We are going to use our defined deps tools to build this library build_lib(blob) - else - raise CeedlingException.new( "No such build action as #{step.inspect} for dependency #{blob[:name]}" ) + else + raise CeedlingException.new( "No such build action as #{step.inspect} for dependency #{blob[:name]}" ) end end @@ -407,10 +407,10 @@ def build_lib(blob) raise CeedlingException.new( "No library artifacts specified for dependency #{name}" ) if libs.empty? lib = libs[0] - # Find all the source, header, and assembly files + # Find all the source, header, and assembly files src = Dir["./**/*#{EXTENSION_SOURCE}"] hdr = Dir["./**/*#{EXTENSION_HEADER}"].map{|f| File.dirname(f) }.uniq - if (EXTENSION_ASSEMBLY && !EXTENSION_ASSEMBLY.empty?) + if (EXTENSION_ASSEMBLY && !EXTENSION_ASSEMBLY.empty?) asm = Dir["./**/*#{EXTENSION_ASSEMBLY}"] end @@ -437,7 +437,7 @@ def build_lib(blob) list: @ceedling[:file_path_utils].form_release_build_list_filepath( File.basename(src_file,EXTENSION_OBJECT) ) ) obj << object_file - end + end # Build all the assembly files asm.each do |src_file| @@ -474,17 +474,17 @@ def build_lib(blob) end end - def find_my_paths( c_file, blob, file_type = :c ) + def find_my_paths( c_file, blob, file_type = :c ) return ((blob[:source] || []) + (blob[:include] || [])).compact.uniq - end + end - def find_my_defines( c_file, blob, file_type = :c ) - return (blob[:defines] || []).compact.uniq - end + def find_my_defines( c_file, blob, file_type = :c ) + return (blob[:defines] || []).compact.uniq + end - def replace_constant(constant, new_value) - Object.send(:remove_const, constant.to_sym) if (Object.const_defined? constant) - Object.const_set(constant, new_value) + def replace_constant(constant, new_value) + Object.send(:remove_const, constant.to_sym) if (Object.const_defined? constant) + Object.const_set(constant, new_value) end ### Private ### diff --git a/plugins/fff/Rakefile b/plugins/fff/Rakefile index 520753678..16bea9ca7 100644 --- a/plugins/fff/Rakefile +++ b/plugins/fff/Rakefile @@ -23,4 +23,4 @@ task :integration_test do end end -task :default => [:spec, :integration_test] \ No newline at end of file +task :default => [:spec, :integration_test] diff --git a/plugins/fff/config/fff.yml b/plugins/fff/config/fff.yml index dd761a31c..e5714424d 100644 --- a/plugins/fff/config/fff.yml +++ b/plugins/fff/config/fff.yml @@ -8,6 +8,6 @@ --- :paths: :support: - - $PLUGIN_PATH/src + - $PLUGIN_PATH/src - $PLUGIN_PATH/vendor/fff ... diff --git a/plugins/fff/examples/fff_example/project.yml b/plugins/fff/examples/fff_example/project.yml index 7cd588d17..fc3d7ff2e 100644 --- a/plugins/fff/examples/fff_example/project.yml +++ b/plugins/fff/examples/fff_example/project.yml @@ -22,7 +22,7 @@ :default_tasks: - test:all - # performance options. If your tools start giving mysterious errors, consider + # performance options. If your tools start giving mysterious errors, consider # dropping this to 1 to force single-tasking :test_threads: 8 :compile_threads: 8 @@ -41,8 +41,8 @@ :artifacts: [] # Plugins are optional Ceedling features which can be enabled. Ceedling supports -# a variety of plugins which may effect the way things are compiled, reported, -# or may provide new command options. Refer to the readme in each plugin for +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for # details on how to use it. :plugins: :load_paths: [] @@ -91,8 +91,8 @@ - TEST # Simple list option to add symbol 'TEST' to compilation of all files in all test executables :release: [] - # Enable to inject name of a test as a unique compilation symbol into its respective executable build. - :use_test_definition: FALSE + # Enable to inject name of a test as a unique compilation symbol into its respective executable build. + :use_test_definition: FALSE # Configure additional command line flags provided to tools used in each build step # :flags: @@ -122,7 +122,7 @@ int8: INT8 bool: UINT8 -# Configuration options specific to Unity. +# Configuration options specific to Unity. :unity: :defines: - UNITY_EXCLUDE_FLOAT @@ -142,4 +142,3 @@ :system: [] # for example, you might list 'm' to grab the math library :test: [] :release: [] - diff --git a/plugins/fff/examples/fff_example/src/display.c b/plugins/fff/examples/fff_example/src/display.c index ef06fa7ec..9415bd2f9 100644 --- a/plugins/fff/examples/fff_example/src/display.c +++ b/plugins/fff/examples/fff_example/src/display.c @@ -11,4 +11,4 @@ void display_turnOffStatusLed(void) { printf("Display: Status LED off"); -} \ No newline at end of file +} diff --git a/plugins/fff/lib/fff_mock_generator.rb b/plugins/fff/lib/fff_mock_generator.rb index 69ec73dcd..f7055fc53 100644 --- a/plugins/fff/lib/fff_mock_generator.rb +++ b/plugins/fff/lib/fff_mock_generator.rb @@ -97,7 +97,7 @@ def self.write_control_function_definitions(mock_name, parsed_header, output) # In the init function, reset the FFF globals. These are used for things # like the call history. output.puts " FFF_RESET_HISTORY();" - + # Also, reset all of the fakes. if parsed_header[:functions] parsed_header[:functions].each do |function| diff --git a/plugins/fff/spec/fff_mock_header_generator_spec.rb b/plugins/fff/spec/fff_mock_header_generator_spec.rb index 20213c3bb..e0b23f0f7 100644 --- a/plugins/fff/spec/fff_mock_header_generator_spec.rb +++ b/plugins/fff/spec/fff_mock_header_generator_spec.rb @@ -261,7 +261,7 @@ ) end end - + context "when there is a function that returns a const int" do let(:mock_header){ parsed_header = {} diff --git a/plugins/fff/spec/fff_mock_source_generator_spec.rb b/plugins/fff/spec/fff_mock_source_generator_spec.rb index 938c6a7d5..b7429c793 100644 --- a/plugins/fff/spec/fff_mock_source_generator_spec.rb +++ b/plugins/fff/spec/fff_mock_source_generator_spec.rb @@ -153,4 +153,4 @@ ) end end -end \ No newline at end of file +end diff --git a/plugins/fff/spec/header_generator.rb b/plugins/fff/spec/header_generator.rb index c210e3530..040108650 100644 --- a/plugins/fff/spec/header_generator.rb +++ b/plugins/fff/spec/header_generator.rb @@ -55,4 +55,4 @@ def create_cmock_style_parsed_header(functions, typedefs = nil) end end parsed_header -end \ No newline at end of file +end diff --git a/plugins/fff/src/fff_unity_helper.h b/plugins/fff/src/fff_unity_helper.h index d5152f4ef..8da1df6c0 100644 --- a/plugins/fff/src/fff_unity_helper.h +++ b/plugins/fff/src/fff_unity_helper.h @@ -37,4 +37,4 @@ fff.call_history[order_], \ "Function " #function_ " not called in order " #order_ ) -#endif \ No newline at end of file +#endif diff --git a/plugins/fff/vendor/fff/LICENSE b/plugins/fff/vendor/fff/LICENSE index 7b3129bdc..01a3c7f32 100644 --- a/plugins/fff/vendor/fff/LICENSE +++ b/plugins/fff/vendor/fff/LICENSE @@ -22,4 +22,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ \ No newline at end of file +*/ diff --git a/plugins/fff/vendor/fff/Makefile b/plugins/fff/vendor/fff/Makefile index a774e0b52..fe1df116b 100644 --- a/plugins/fff/vendor/fff/Makefile +++ b/plugins/fff/vendor/fff/Makefile @@ -4,7 +4,7 @@ all: cd test; $(MAKE) all cd examples; $(MAKE) all -clean: +clean: cd gtest; $(MAKE) clean cd test; $(MAKE) clean cd examples; $(MAKE) clean diff --git a/plugins/fff/vendor/fff/buildandtest b/plugins/fff/vendor/fff/buildandtest index b7fecb6b8..c2a4e8be6 100755 --- a/plugins/fff/vendor/fff/buildandtest +++ b/plugins/fff/vendor/fff/buildandtest @@ -5,7 +5,7 @@ cat LICENSE > fff.h ruby fakegen.rb >> fff.h make clean make all -build/fff_test_c +build/fff_test_c build/fff_test_cpp --gtest_output=xml:build/test_results.xml build/ui_test_ansic build/ui_test_cpp --gtest_output=xml:build/example_results.xml diff --git a/plugins/fff/vendor/fff/examples/Makefile b/plugins/fff/vendor/fff/examples/Makefile index f352de316..c97a3a25e 100644 --- a/plugins/fff/vendor/fff/examples/Makefile +++ b/plugins/fff/vendor/fff/examples/Makefile @@ -1,7 +1,7 @@ -all: +all: cd embedded_ui; $(MAKE) all cd driver_testing; $(MAKE) all -clean: +clean: cd embedded_ui; $(MAKE) clean cd driver_testing; $(MAKE) clean diff --git a/plugins/fff/vendor/fff/examples/driver_testing/Makefile b/plugins/fff/vendor/fff/examples/driver_testing/Makefile index e32faafd0..235af5183 100644 --- a/plugins/fff/vendor/fff/examples/driver_testing/Makefile +++ b/plugins/fff/vendor/fff/examples/driver_testing/Makefile @@ -15,7 +15,7 @@ C_OBJFILES = $(BUILD_DIR)/driver.o TEMPLATE_OBJFILES = $(BUILD_DIR)/test_suite_template.o FFF_OBJFILES = $(BUILD_DIR)/driver.test.fff.o $(GTEST_OBJS) NOFFF_OBJFILES = $(BUILD_DIR)/driver.test.o $(GTEST_OBJS) -CPP_LIBS = -lpthread +CPP_LIBS = -lpthread all: $(CPP_PROGNAME_NOFFF) $(CPP_PROGNAME_FFF) $(TEMPLATE_PROGNAME) diff --git a/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp b/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp index 26c03727f..ad70cb542 100644 --- a/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +++ b/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp @@ -55,4 +55,3 @@ TEST(Driver, When_reading_data_Then_reads_from_DRIVER_INPUT_REGISTER) ASSERT_EQ(0x55u, returnedValue); ASSERT_EQ(readRegister, DRIVER_INPUT_REGISTER); } - diff --git a/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt b/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt index b466c3649..d94e1a5a9 100644 --- a/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +++ b/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt @@ -1,25 +1,25 @@ Problem Definition ------------------ -The task is to write a user interface module for an embedded device. +The task is to write a user interface module for an embedded device. Interrupts: * The user interface is responsible for initializing the display. - * The user interface will register an interrupt handler for GPIO input 2 (a + * The user interface will register an interrupt handler for GPIO input 2 (a push button). - * It will be possible to register a callback function for button presses. - * When there is no callback function set the irq handler will increment a - missed irq counter. - * When the interrupt occurs the handler will schedule or execute the button + * It will be possible to register a callback function for button presses. + * When there is no callback function set the irq handler will increment a + missed irq counter. + * When the interrupt occurs the handler will schedule or execute the button press callback if there is one registered. Output: * Tasks can write messages to the user interface to be output on the display. - * The display is line oriented; when the last line of the display is written + * The display is line oriented; when the last line of the display is written the user interface is responsible for clearing the display. - * The display is 26 characters wide. Any string longer than that must be - truncated before being sent to the display. The string must be null + * The display is 26 characters wide. Any string longer than that must be + truncated before being sent to the display. The string must be null terminated and thus maximum 27 bytes long. - - * BONUS: Have the display be scrolling, i.e. when the display is full, the + + * BONUS: Have the display be scrolling, i.e. when the display is full, the previous lines must be shifted up one and the new line written in the bottom - line. + line. diff --git a/plugins/fff/vendor/fff/examples/embedded_ui/Makefile b/plugins/fff/vendor/fff/examples/embedded_ui/Makefile index 654beecc2..74fdc866a 100644 --- a/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +++ b/plugins/fff/vendor/fff/examples/embedded_ui/Makefile @@ -14,7 +14,7 @@ GTEST_OBJS = $(BUILD_DIR)/gtest-all.o $(BUILD_DIR)/gtest-main.o C_OBJFILES = $(BUILD_DIR)/UI_test_ansic.o $(BUILD_DIR)/UI.o TEMPLATE_OBJFILES = $(BUILD_DIR)/test_suite_template.o CPP_OBJFILES = $(BUILD_DIR)/UI_test_cpp.o $(BUILD_DIR)/UI.o $(GTEST_OBJS) -CPP_LIBS = -lpthread +CPP_LIBS = -lpthread all: $(C_PROGNAME) $(CPP_PROGNAME) $(TEMPLATE_PROGNAME) @@ -43,7 +43,7 @@ $(BUILD_DIR)/%.o: %.c $(BUILD_DIR)/%.o: %.cpp @echo "Compiling "$@ @echo " CPP "$< - $(CPP) -DGTEST_USE_OWN_TR1_TUPLE=1 -I../.. -o $@ $< + $(CPP) -DGTEST_USE_OWN_TR1_TUPLE=1 -I../.. -o $@ $< $(TEMPLATE_PROGNAME): $(TEMPLATE_OBJFILES) @echo "Linking "$@ diff --git a/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp b/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp index bedc58789..7bdbf0823 100644 --- a/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +++ b/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp @@ -140,5 +140,3 @@ TEST_F(UITests, when_string_longer_than_26_then_truncated_string_output) // then ASSERT_EQ(strncmp(expected, DISPLAY_output_fake.arg0_val, 37), 0); } - - diff --git a/plugins/fff/vendor/fff/fakegen.rb b/plugins/fff/vendor/fff/fakegen.rb index a930201fc..2ba31eda3 100644 --- a/plugins/fff/vendor/fff/fakegen.rb +++ b/plugins/fff/vendor/fff/fakegen.rb @@ -33,7 +33,7 @@ def output_constants # ------ Helper macros to use internally ------ # def output_internal_helper_macros putd "/* -- INTERNAL HELPER MACROS -- */" - + define_return_sequence_helper define_reset_fake_macro define_declare_arg_helper @@ -47,7 +47,7 @@ def output_internal_helper_macros define_return_fake_result_helper define_extern_c_helper define_reset_fake_helper - + putd "/* -- END INTERNAL HELPER MACROS -- */" putd "" end @@ -109,10 +109,10 @@ def define_history_dropped_helper def define_value_function_variables_helper putd "" putd "#define DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \\" - putd " RETURN_TYPE return_val; \\" - putd " int return_val_seq_len; \\" - putd " int return_val_seq_idx; \\" - putd " RETURN_TYPE * return_val_seq; \\" + putd " RETURN_TYPE return_val; \\" + putd " int return_val_seq_len; \\" + putd " int return_val_seq_idx; \\" + putd " RETURN_TYPE * return_val_seq; \\" end def define_increment_call_count_helper @@ -136,8 +136,8 @@ def define_return_fake_result_helper def define_extern_c_helper putd "" putd "#ifdef __cplusplus" - putd " #define FFF_EXTERN_C extern \"C\"{" - putd " #define FFF_END_EXTERN_C } " + putd " #define FFF_EXTERN_C extern \"C\"{" + putd " #define FFF_END_EXTERN_C } " putd "#else /* ansi c */" putd " #define FFF_EXTERN_C " putd " #define FFF_END_EXTERN_C " @@ -185,7 +185,7 @@ def output_macro(arg_count, has_varargs, is_value_function) output_variables(saved_arg_count, has_varargs, is_value_function) } popd - + putd "" output_macro_header(define_macro_name, saved_arg_count, has_varargs, return_type) pushd @@ -199,9 +199,9 @@ def output_macro(arg_count, has_varargs, is_value_function) putd "DEFINE_RESET_FUNCTION(FUNCNAME) \\" } popd - + putd "" - + output_macro_header(fake_macro_name, saved_arg_count, has_varargs, return_type) pushd putd macro_signature_for(declare_macro_name, saved_arg_count, has_varargs, return_type) @@ -233,7 +233,7 @@ def macro_signature_for(macro_name, arg_count, has_varargs, return_type) parameter_list += ", ..." if has_varargs parameter_list += ") \\" - + parameter_list end @@ -243,7 +243,7 @@ def output_argument_capture_variables(argN) def output_variables(arg_count, has_varargs, is_value_function) in_struct{ - arg_count.times { |argN| + arg_count.times { |argN| putd "DECLARE_ARG(ARG#{argN}_TYPE, #{argN}, FUNCNAME) \\" } putd "DECLARE_ALL_FUNC_COMMON \\" @@ -293,10 +293,10 @@ def output_function_body(arg_count, has_varargs, is_value_function) putd "}\\" putd "INCREMENT_CALL_COUNT(FUNCNAME); \\" putd "REGISTER_CALL(FUNCNAME); \\" - + return_type = is_value_function ? "return" : "" putd "if (FUNCNAME##_fake.custom_fake) #{return_type} FUNCNAME##_fake.custom_fake(#{arg_list(arg_count)}); \\" - + putd "RETURN_FAKE_RESULT(FUNCNAME) \\" if is_value_function end @@ -331,7 +331,7 @@ def define_fff_globals def extern_c putd "FFF_EXTERN_C \\" - pushd + pushd yield popd putd "FFF_END_EXTERN_C \\" diff --git a/plugins/fff/vendor/fff/fff.h b/plugins/fff/vendor/fff/fff.h index f481b3dde..d793c8dc6 100644 --- a/plugins/fff/vendor/fff/fff.h +++ b/plugins/fff/vendor/fff/fff.h @@ -94,10 +94,10 @@ SOFTWARE. #ifdef __cplusplus #define FFF_EXTERN_C extern "C"{ - #define FFF_END_EXTERN_C } + #define FFF_END_EXTERN_C } #else /* ansi c */ - #define FFF_EXTERN_C - #define FFF_END_EXTERN_C + #define FFF_EXTERN_C + #define FFF_END_EXTERN_C #endif /* cpp/ansi c */ #define DEFINE_RESET_FUNCTION(FUNCNAME) \ @@ -107,7 +107,7 @@ SOFTWARE. } /* -- END INTERNAL HELPER MACROS -- */ -typedef struct { +typedef struct { void * call_history[FFF_CALL_HISTORY_LEN]; unsigned int call_history_idx; } fff_globals_t; @@ -156,7 +156,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC0(FUNCNAME) \ DECLARE_FAKE_VOID_FUNC0(FUNCNAME) \ DEFINE_FAKE_VOID_FUNC0(FUNCNAME) \ - + #define DECLARE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ FFF_EXTERN_C \ @@ -190,7 +190,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ DECLARE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ DEFINE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ FFF_EXTERN_C \ @@ -227,7 +227,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ DECLARE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ DEFINE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ FFF_EXTERN_C \ @@ -267,7 +267,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ DECLARE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ DEFINE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ FFF_EXTERN_C \ @@ -310,7 +310,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ DECLARE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ DEFINE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ FFF_EXTERN_C \ @@ -356,7 +356,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ DECLARE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ DEFINE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ FFF_EXTERN_C \ @@ -405,7 +405,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ DECLARE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ DEFINE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ FFF_EXTERN_C \ @@ -457,7 +457,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ DECLARE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ DEFINE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ FFF_EXTERN_C \ @@ -512,7 +512,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ DECLARE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ DEFINE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ FFF_EXTERN_C \ @@ -570,7 +570,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ DECLARE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ DEFINE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ FFF_EXTERN_C \ @@ -631,7 +631,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ DECLARE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ DEFINE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ FFF_EXTERN_C \ @@ -695,7 +695,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ DECLARE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ DEFINE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ FFF_EXTERN_C \ @@ -762,7 +762,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ DECLARE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ DEFINE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ FFF_EXTERN_C \ @@ -832,7 +832,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ DECLARE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ DEFINE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ FFF_EXTERN_C \ @@ -905,7 +905,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ DECLARE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ DEFINE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ FFF_EXTERN_C \ @@ -981,7 +981,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ DECLARE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ DEFINE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ FFF_EXTERN_C \ @@ -1060,7 +1060,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ DECLARE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ DEFINE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ FFF_EXTERN_C \ @@ -1142,7 +1142,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ DECLARE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ DEFINE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ FFF_EXTERN_C \ @@ -1227,7 +1227,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ DECLARE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ DEFINE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ FFF_EXTERN_C \ @@ -1315,7 +1315,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ DECLARE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ DEFINE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ FFF_EXTERN_C \ @@ -1406,7 +1406,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ DECLARE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ DEFINE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ FFF_EXTERN_C \ @@ -1439,7 +1439,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ DECLARE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ DEFINE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ - + #define DECLARE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ FFF_EXTERN_C \ @@ -1475,7 +1475,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ DECLARE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ DEFINE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ FFF_EXTERN_C \ @@ -1514,7 +1514,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ DECLARE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ DEFINE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ FFF_EXTERN_C \ @@ -1556,7 +1556,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ DECLARE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ DEFINE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ FFF_EXTERN_C \ @@ -1601,7 +1601,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ DECLARE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ DEFINE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ FFF_EXTERN_C \ @@ -1649,7 +1649,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ DECLARE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ DEFINE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ FFF_EXTERN_C \ @@ -1700,7 +1700,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ DECLARE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ DEFINE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ FFF_EXTERN_C \ @@ -1754,7 +1754,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ DECLARE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ DEFINE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ FFF_EXTERN_C \ @@ -1811,7 +1811,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ DECLARE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ DEFINE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ FFF_EXTERN_C \ @@ -1871,7 +1871,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ DECLARE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ DEFINE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ FFF_EXTERN_C \ @@ -1934,7 +1934,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ DECLARE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ DEFINE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ FFF_EXTERN_C \ @@ -2000,7 +2000,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ DECLARE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ DEFINE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ FFF_EXTERN_C \ @@ -2069,7 +2069,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ DECLARE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ DEFINE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ FFF_EXTERN_C \ @@ -2141,7 +2141,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ DECLARE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ DEFINE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ FFF_EXTERN_C \ @@ -2216,7 +2216,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ DECLARE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ DEFINE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ FFF_EXTERN_C \ @@ -2294,7 +2294,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ DECLARE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ DEFINE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ FFF_EXTERN_C \ @@ -2375,7 +2375,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ DECLARE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ DEFINE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ FFF_EXTERN_C \ @@ -2459,7 +2459,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ DECLARE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ DEFINE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ FFF_EXTERN_C \ @@ -2546,7 +2546,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ DECLARE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ DEFINE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ FFF_EXTERN_C \ @@ -2636,7 +2636,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ DECLARE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ DEFINE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ - + #define DECLARE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ FFF_EXTERN_C \ @@ -2729,7 +2729,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ DECLARE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ DEFINE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ - + #define DECLARE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ FFF_EXTERN_C \ @@ -2763,7 +2763,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ FFF_EXTERN_C \ @@ -2800,7 +2800,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ FFF_EXTERN_C \ @@ -2840,7 +2840,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ FFF_EXTERN_C \ @@ -2883,7 +2883,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ FFF_EXTERN_C \ @@ -2929,7 +2929,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ FFF_EXTERN_C \ @@ -2978,7 +2978,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ FFF_EXTERN_C \ @@ -3030,7 +3030,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ FFF_EXTERN_C \ @@ -3085,7 +3085,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ FFF_EXTERN_C \ @@ -3143,7 +3143,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ FFF_EXTERN_C \ @@ -3204,7 +3204,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ FFF_EXTERN_C \ @@ -3268,7 +3268,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ FFF_EXTERN_C \ @@ -3335,7 +3335,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ FFF_EXTERN_C \ @@ -3405,7 +3405,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ FFF_EXTERN_C \ @@ -3478,7 +3478,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ FFF_EXTERN_C \ @@ -3554,7 +3554,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ FFF_EXTERN_C \ @@ -3633,7 +3633,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ FFF_EXTERN_C \ @@ -3715,7 +3715,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ FFF_EXTERN_C \ @@ -3800,7 +3800,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ - + #define DECLARE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ FFF_EXTERN_C \ @@ -3888,7 +3888,7 @@ FFF_END_EXTERN_C \ #define FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ DECLARE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ DEFINE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ FFF_EXTERN_C \ @@ -3924,7 +3924,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ FFF_EXTERN_C \ @@ -3963,7 +3963,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ FFF_EXTERN_C \ @@ -4005,7 +4005,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ FFF_EXTERN_C \ @@ -4050,7 +4050,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ FFF_EXTERN_C \ @@ -4098,7 +4098,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ FFF_EXTERN_C \ @@ -4149,7 +4149,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ FFF_EXTERN_C \ @@ -4203,7 +4203,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ FFF_EXTERN_C \ @@ -4260,7 +4260,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ FFF_EXTERN_C \ @@ -4320,7 +4320,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ FFF_EXTERN_C \ @@ -4383,7 +4383,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ FFF_EXTERN_C \ @@ -4449,7 +4449,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ FFF_EXTERN_C \ @@ -4518,7 +4518,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ FFF_EXTERN_C \ @@ -4590,7 +4590,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ FFF_EXTERN_C \ @@ -4665,7 +4665,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ FFF_EXTERN_C \ @@ -4743,7 +4743,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ FFF_EXTERN_C \ @@ -4824,7 +4824,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ FFF_EXTERN_C \ @@ -4908,7 +4908,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ FFF_EXTERN_C \ @@ -4995,7 +4995,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ - + #define DECLARE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ FFF_EXTERN_C \ @@ -5085,7 +5085,7 @@ FFF_END_EXTERN_C \ #define FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ DECLARE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ DEFINE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ - + #define PP_NARG_MINUS2(...) PP_NARG_MINUS2_(__VA_ARGS__, PP_RSEQ_N_MINUS2()) diff --git a/plugins/fff/vendor/fff/gtest/Makefile b/plugins/fff/vendor/fff/gtest/Makefile index efcfa0b83..fadddb87e 100644 --- a/plugins/fff/vendor/fff/gtest/Makefile +++ b/plugins/fff/vendor/fff/gtest/Makefile @@ -17,6 +17,5 @@ $(BUILD_DIR)/%.o: %.cc all: $(CPP_OBJS) clean: - -$(RM) $(CPP_OBJS) + -$(RM) $(CPP_OBJS) -@echo ' ' - diff --git a/plugins/fff/vendor/fff/test/Makefile b/plugins/fff/vendor/fff/test/Makefile index 5c154e20b..e9d9c819e 100644 --- a/plugins/fff/vendor/fff/test/Makefile +++ b/plugins/fff/vendor/fff/test/Makefile @@ -45,28 +45,28 @@ $(BUILD_DIR)/%.o: %.c # Link targets -$(FFF_TEST_CPP_TARGET): $(FFF_TEST_CPP_OBJS) +$(FFF_TEST_CPP_TARGET): $(FFF_TEST_CPP_OBJS) @echo 'Building target: $@' @echo 'Invoking: GCC C++ Linker' g++ -o "$(FFF_TEST_CPP_TARGET)" $(FFF_TEST_CPP_OBJS) $(LIBS) @echo 'Finished building target: $@' @echo ' ' -$(FFF_TEST_C_TARGET): $(FFF_TEST_C_OBJS) +$(FFF_TEST_C_TARGET): $(FFF_TEST_C_OBJS) @echo 'Building target: $@' @echo 'Invoking: GCC C Linker' gcc -o "$(FFF_TEST_C_TARGET)" $(FFF_TEST_C_OBJS) $(LIBS) @echo 'Finished building target: $@' @echo ' ' -$(FFF_TEST_GLOBAL_C_TARGET): $(FFF_TEST_GLOBAL_C_OBJS) +$(FFF_TEST_GLOBAL_C_TARGET): $(FFF_TEST_GLOBAL_C_OBJS) @echo 'Building target: $@' @echo 'Invoking: GCC C++ Linker' g++ -o "$(FFF_TEST_GLOBAL_C_TARGET)" $(FFF_TEST_GLOBAL_C_OBJS) $(LIBS) @echo 'Finished building target: $@' @echo ' ' -$(FFF_TEST_GLOBAL_CPP_TARGET): $(FFF_TEST_GLOBAL_CPP_OBJS) +$(FFF_TEST_GLOBAL_CPP_TARGET): $(FFF_TEST_GLOBAL_CPP_OBJS) @echo 'Building target: $@' @echo 'Invoking: GCC C++ Linker' g++ -o "$(FFF_TEST_GLOBAL_CPP_TARGET)" $(FFF_TEST_GLOBAL_CPP_OBJS) $(LIBS) @@ -78,4 +78,3 @@ clean: -$(RM) $(FFF_TEST_CPP_OBJS) $(FFF_TEST_GLOBAL_C_OBJS) $(FFF_TEST_C_OBJS) \ $(FFF_TEST_CPP_TARGET) $(FFF_TEST_C_TARGET) $(FFF_TEST_GLOBAL_CPP_TARGET) $(FFF_TEST_GLOBAL_C_TARGET) -@echo ' ' - diff --git a/plugins/fff/vendor/fff/test/fff_test_cpp.cpp b/plugins/fff/vendor/fff/test/fff_test_cpp.cpp index 1fe633687..cd586accd 100644 --- a/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +++ b/plugins/fff/vendor/fff/test/fff_test_cpp.cpp @@ -50,4 +50,3 @@ TEST_F(FFFTestSuite, default_constants_can_be_overridden) ASSERT_EQ(OVERRIDE_CALL_HIST_LEN, sizeCallHistory); ASSERT_EQ(OVERRIDE_ARG_HIST_LEN, voidfunc2_fake.arg_history_len); } - diff --git a/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp b/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp index 3ffa55f5b..b9afaf505 100644 --- a/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +++ b/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp @@ -27,5 +27,3 @@ class FFFTestSuite: public testing::Test }; #include "test_cases.include" - - diff --git a/plugins/fff/vendor/fff/test/test_cases.include b/plugins/fff/vendor/fff/test/test_cases.include index b5ba7931d..c396cc6c4 100644 --- a/plugins/fff/vendor/fff/test/test_cases.include +++ b/plugins/fff/vendor/fff/test/test_cases.include @@ -272,5 +272,3 @@ TEST_F(FFFTestSuite, can_capture_upto_20_arguments_correctly) ASSERT_EQ(18, voidfunc20_fake.arg18_val); ASSERT_EQ(19, voidfunc20_fake.arg19_val); } - - diff --git a/plugins/gcov/gcov.rake b/plugins/gcov/gcov.rake index d8efc3df9..9b2fbd942 100755 --- a/plugins/gcov/gcov.rake +++ b/plugins/gcov/gcov.rake @@ -1,3 +1,4 @@ +#!/usr/bin/env ruby # ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org @@ -101,4 +102,3 @@ namespace GCOV_REPORT_NAMESPACE_SYM do end end end - diff --git a/plugins/gcov/lib/gcov.rb b/plugins/gcov/lib/gcov.rb index aeaeaf7d7..8602bae93 100755 --- a/plugins/gcov/lib/gcov.rb +++ b/plugins/gcov/lib/gcov.rb @@ -1,3 +1,4 @@ +#!/usr/bin/env ruby # ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org @@ -13,7 +14,7 @@ require 'reportgenerator_reportinator' class Gcov < Plugin - + # `Plugin` setup() def setup @result_list = [] @@ -22,7 +23,7 @@ def setup # Are any reports enabled? @reports_enabled = reports_enabled?( @project_config[:gcov_reports] ) - + # Was a gcov: task on the command line? @cli_gcov_task = @ceedling[:system_wrapper].get_cmdline().any?{|item| item.include?( GCOV_TASK_ROOT )} @@ -36,7 +37,7 @@ def setup end # Validate configuration and tools while building Reportinators - @reportinators = build_reportinators( + @reportinators = build_reportinators( @project_config[:gcov_utilities], @reports_enabled, @cli_gcov_task @@ -245,7 +246,7 @@ def console_coverage_summaries() # Only extract the first four lines of the console report (to avoid spidering coverage reports through libs, etc.) report = results.lines.to_a[1..4].map { |line| filename + ' | ' + line }.join('') @loginator.log(report + "\n") - + # Otherwise, found no coverage results else msg = "Found no coverage results for #{test}::#{File.basename(source)}" @@ -285,4 +286,3 @@ def build_reportinators(config, enabled, gcov_task) end end - diff --git a/plugins/gcov/lib/gcovr_reportinator.rb b/plugins/gcov/lib/gcovr_reportinator.rb index c425279f3..7c2b5b339 100644 --- a/plugins/gcov/lib/gcovr_reportinator.rb +++ b/plugins/gcov/lib/gcovr_reportinator.rb @@ -58,14 +58,14 @@ def generate_reports(opts) args += (_args = args_builder_sonarqube(opts, false)) reports << "SonarQube" if not _args.empty? - + args += (_args = args_builder_json(opts, true)) reports << "JSON" if not _args.empty? - + # As of gcovr version 4.2, the --html argument must appear last. args += (_args = args_builder_html(opts, false)) reports << "HTML" if not _args.empty? - + reports.each do |report| msg = @reportinator.generate_progress("Generating #{report} coverage report in '#{GCOV_GCOVR_ARTIFACTS_PATH}'") @loginator.log( msg ) @@ -155,7 +155,7 @@ def args_builder_common(gcovr_opts) next if gcovr_opts[opt].nil? value = gcovr_opts[opt] - + # Value sanity checks for :fail_under_* settings if opt.to_s =~ /fail_/ if not value.is_a? Integer @@ -164,7 +164,7 @@ def args_builder_common(gcovr_opts) raise CeedlingException.new(":gcov ↳ :gcovr ↳ :#{opt} => '#{value}' must be an integer percentage 0 – 100") end end - + # If the YAML key has a value, trasnform key into command line argument with value and concatenate args += "--#{opt.to_s.gsub('_','-')} #{value} " unless value.nil? end diff --git a/plugins/gcov/lib/reportgenerator_reportinator.rb b/plugins/gcov/lib/reportgenerator_reportinator.rb index c4fe358b2..a070e2c88 100644 --- a/plugins/gcov/lib/reportgenerator_reportinator.rb +++ b/plugins/gcov/lib/reportgenerator_reportinator.rb @@ -20,7 +20,7 @@ def initialize(system_objects) @reportinator_helper = ReportinatorHelper.new(system_objects) # Validate the `reportgenerator` tool since it's used to generate reports - @ceedling[:tool_validator].validate( + @ceedling[:tool_validator].validate( tool: TOOLS_GCOV_REPORTGENERATOR_REPORT, boom: true ) @@ -102,7 +102,7 @@ def generate_reports(opts) # Cleanup .gcov files. for gcov_file in Dir.glob("*.gcov") File.delete(gcov_file) - end + end end else @loginator.log( "No matching .gcno coverage files found", Verbosity::COMPLAIN ) diff --git a/plugins/module_generator/Rakefile b/plugins/module_generator/Rakefile index 93dbd911f..870aea15d 100644 --- a/plugins/module_generator/Rakefile +++ b/plugins/module_generator/Rakefile @@ -109,7 +109,7 @@ task :integration_test do prep_test assert_test_run_contains("No tests executed") - # Add a module without path. + # Add a module without path. # It should be added to first path on list of each category puts "\nVerifying Default Create:" call_create("a_file") @@ -148,7 +148,7 @@ task :integration_test do assert_file_contains("i/rev/a_file.h", "#ifndef A_FILE_H") assert_file_contains("sub/t/test_a_file.c", "test_a_file_NeedToImplement") - # Destroy a module without path. + # Destroy a module without path. # It should be removed from first path on list of each category puts "\nVerifying Default Destroy:" call_destroy("a_file") @@ -202,4 +202,4 @@ task :integration_test do end end -task :default => [:integration_test] \ No newline at end of file +task :default => [:integration_test] diff --git a/plugins/module_generator/config/module_generator.yml b/plugins/module_generator/config/module_generator.yml index 48d8942dc..441a48d4b 100644 --- a/plugins/module_generator/config/module_generator.yml +++ b/plugins/module_generator/config/module_generator.yml @@ -8,7 +8,7 @@ :module_generator: :project_root: ./ :naming: :snake #options: :bumpy, :camel, :caps, or :snake - :boilerplates: + :boilerplates: :src: "" :inc: "" - :tst: "" \ No newline at end of file + :tst: "" diff --git a/plugins/module_generator/example/project.yml b/plugins/module_generator/example/project.yml index 753de2e7b..bef5e4637 100644 --- a/plugins/module_generator/example/project.yml +++ b/plugins/module_generator/example/project.yml @@ -22,7 +22,7 @@ :default_tasks: - test:all - # performance options. If your tools start giving mysterious errors, consider + # performance options. If your tools start giving mysterious errors, consider # dropping this to 1 to force single-tasking :test_threads: 8 :compile_threads: 8 @@ -41,8 +41,8 @@ :artifacts: [] # Plugins are optional Ceedling features which can be enabled. Ceedling supports -# a variety of plugins which may effect the way things are compiled, reported, -# or may provide new command options. Refer to the readme in each plugin for +# a variety of plugins which may effect the way things are compiled, reported, +# or may provide new command options. Refer to the readme in each plugin for # details on how to use it. :plugins: :load_paths: [] @@ -88,7 +88,7 @@ - s/** - sub/s :include: - - i/** + - i/** - sub/i :libraries: [] @@ -109,8 +109,8 @@ - TEST # Simple list option to add symbol 'TEST' to compilation of all files in all test executables :release: [] - # Enable to inject name of a test as a unique compilation symbol into its respective executable build. - :use_test_definition: FALSE + # Enable to inject name of a test as a unique compilation symbol into its respective executable build. + :use_test_definition: FALSE # Configure additional command line flags provided to tools used in each build step # :flags: @@ -140,7 +140,7 @@ int8: INT8 bool: UINT8 -# Configuration options specific to Unity. +# Configuration options specific to Unity. :unity: :defines: - UNITY_EXCLUDE_FLOAT @@ -164,12 +164,12 @@ :module_generator: :project_root: ./ :naming: :snake #options: :bumpy, :camel, :caps, or :snake - :boilerplates: + :boilerplates: :src: "/* MAY THE SOURCE BE WITH YOU */" :inc: | /* ================================== | It's important to make everyone - | feel included, particularly in + | feel included, particularly in | when making important decisions. ===================================*/ :tst: "// Don't Test Me, Sir." diff --git a/plugins/module_generator/lib/module_generator.rb b/plugins/module_generator/lib/module_generator.rb index ffdabd081..d2715b606 100755 --- a/plugins/module_generator/lib/module_generator.rb +++ b/plugins/module_generator/lib/module_generator.rb @@ -1,3 +1,4 @@ +#!/usr/bin/env ruby # ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org @@ -20,7 +21,7 @@ def create(module_name, optz={}) @project_config = @ceedling[:configurator].project_config_hash # load the generate module script form Unity's collection of scripts. - require "generate_module.rb" + require "generate_module.rb" # if asked to destroy, do so. otherwise create (because isn't creating something always better?) if ((!optz.nil?) && (optz[:destroy])) diff --git a/plugins/module_generator/module_generator.rake b/plugins/module_generator/module_generator.rake index e1340f231..df94a410f 100755 --- a/plugins/module_generator/module_generator.rake +++ b/plugins/module_generator/module_generator.rake @@ -1,3 +1,4 @@ +#!/usr/bin/env ruby # ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org diff --git a/plugins/report_build_warnings_log/config/defaults.yml b/plugins/report_build_warnings_log/config/defaults.yml index dfa1f8c2d..d71b3f1e0 100644 --- a/plugins/report_build_warnings_log/config/defaults.yml +++ b/plugins/report_build_warnings_log/config/defaults.yml @@ -9,4 +9,4 @@ --- :report_build_warnings_log: :filename: warnings.log -... \ No newline at end of file +... diff --git a/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb b/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb index 2c28a04ee..5481fed65 100644 --- a/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +++ b/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb @@ -10,7 +10,7 @@ require 'ceedling/constants' class ReportBuildWarningsLog < Plugin - + # `Plugin` setup() def setup # Create structure of @warnings hash with default values diff --git a/plugins/report_tests_log_factory/config/defaults.yml b/plugins/report_tests_log_factory/config/defaults.yml index c1843b349..b10334815 100644 --- a/plugins/report_tests_log_factory/config/defaults.yml +++ b/plugins/report_tests_log_factory/config/defaults.yml @@ -8,4 +8,4 @@ --- :report_tests_log_factory: :reports: [] -... \ No newline at end of file +... diff --git a/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb b/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb index 004aebbc4..be71a8655 100644 --- a/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +++ b/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb @@ -13,7 +13,7 @@ def setup() super( default_filename: 'cppunit_tests_report.xml' ) @test_counter = 0 end - + # CppUnit XML header def header(results:, stream:) stream.puts( '' ) diff --git a/plugins/report_tests_log_factory/lib/html_tests_reporter.rb b/plugins/report_tests_log_factory/lib/html_tests_reporter.rb index 3c8c3e57d..f84faba23 100644 --- a/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +++ b/plugins/report_tests_log_factory/lib/html_tests_reporter.rb @@ -12,7 +12,7 @@ class HtmlTestsReporter < TestsReporter def setup() super( default_filename: 'tests_report.html' ) end - + # HTML header def header(results:, stream:) stream.puts "" diff --git a/plugins/report_tests_log_factory/lib/json_tests_reporter.rb b/plugins/report_tests_log_factory/lib/json_tests_reporter.rb index d29008f41..15f3e29ff 100644 --- a/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +++ b/plugins/report_tests_log_factory/lib/json_tests_reporter.rb @@ -21,7 +21,7 @@ def body(results:, stream:) "IgnoredTests" => write_tests( results[:ignores] ), "Summary" => write_statistics( results[:counts] ) } - + stream << JSON.pretty_generate(hash) end @@ -50,7 +50,7 @@ def write_tests(results) successes = [] results.each do |result| result[:collection].each do |item| - successes << { + successes << { "file" => result[:source][:file], "test" => item[:test] } @@ -69,4 +69,4 @@ def write_statistics(counts) } end -end \ No newline at end of file +end diff --git a/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb b/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb index 9d187fba2..6b0039609 100644 --- a/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +++ b/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb @@ -185,7 +185,7 @@ def write_test( test, stream ) else stream.puts( ' ' % test[:message] ) end - + stream.puts( ' ' ) when :ignored diff --git a/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb b/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb index e18559034..57e64e69b 100644 --- a/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +++ b/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb @@ -8,16 +8,16 @@ require 'ceedling/plugin' class ReportTestsLogFactory < Plugin - + # `Plugin` setup() def setup # Hash: Context => Array of test executable results files @results = {} - + # Get our test suite reports' configuration config = @ceedling[:setupinator].config_hash @config = config[:report_tests_log_factory] - + # Get list of enabled reports reports = @config[:reports] @@ -94,7 +94,7 @@ def post_build def load_reporters(reports, config) reporters = [] - # For each report name string in configuration, dynamically load the corresponding + # For each report name string in configuration, dynamically load the corresponding # Reporter subclass by convention # The steps below limit the set up complexity that would otherwise be @@ -117,8 +117,8 @@ def load_reporters(reports, config) reporter = eval( "#{_reporter}.new(handle: :#{report})" ) # Inject configuration - reporter.config = config[report.to_sym] - + reporter.config = config[report.to_sym] + # Inject utilty object reporter.config_walkinator = @ceedling[:config_walkinator] diff --git a/plugins/report_tests_log_factory/lib/tests_reporter.rb b/plugins/report_tests_log_factory/lib/tests_reporter.rb index 91619eade..dc47d4124 100644 --- a/plugins/report_tests_log_factory/lib/tests_reporter.rb +++ b/plugins/report_tests_log_factory/lib/tests_reporter.rb @@ -19,9 +19,9 @@ class TestsReporter def initialize(handle:) @handle = handle - # Safe default filename in case user's custom subclass forgets to call + # Safe default filename in case user's custom subclass forgets to call # setup() with a default filename. - # If the report is named 'foo_bar' in project configuration, the + # If the report is named 'foo_bar' in project configuration, the # fallback filename is 'foo_bar.report' @filename = "#{handle}.report" end @@ -68,4 +68,4 @@ def fetch_config_value(*keys) return nil end -end \ No newline at end of file +end diff --git a/plugins/report_tests_pretty_stdout/assets/template.erb b/plugins/report_tests_pretty_stdout/assets/template.erb index 609a43eca..a0634ead9 100644 --- a/plugins/report_tests_pretty_stdout/assets/template.erb +++ b/plugins/report_tests_pretty_stdout/assets/template.erb @@ -60,4 +60,3 @@ IGNORED: <%=sprintf(format_string, ignored)%> No tests executed. % end - diff --git a/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb b/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb index 992949e5d..24a7a99d9 100644 --- a/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +++ b/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb @@ -14,14 +14,14 @@ class ReportTestsPrettyStdout < Plugin def setup @result_list = [] @mutex = Mutex.new - + # Fetch the test results template for this plugin template = @ceedling[:file_wrapper].read( File.join( @plugin_root_path, 'assets/template.erb' ) ) # Set the report template @ceedling[:plugin_reportinator].register_test_results_template( template ) end - + # `Plugin` build step hook -- collect result file paths after each test fixture execution def post_test_fixture_execute(arg_hash) # Thread-safe manipulation since test fixtures can be run in child processes @@ -30,7 +30,7 @@ def post_test_fixture_execute(arg_hash) @result_list << arg_hash[:result_file] end end - + # `Plugin` build step hook -- render a report immediately upon build completion (that invoked tests) def post_build() # Ensure a test task was invoked as part of the build diff --git a/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb b/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb index a1fd89ac5..8e6a98316 100644 --- a/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +++ b/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb @@ -29,7 +29,7 @@ def post_test_fixture_execute(arg_hash) # Bail out early return if output.empty? - + # After test fixture execution, parse output, store any raw console statements @mutex.synchronize do process_output( diff --git a/plugins/report_tests_teamcity_stdout/config/defaults.yml b/plugins/report_tests_teamcity_stdout/config/defaults.yml index 831244422..efc586c6a 100644 --- a/plugins/report_tests_teamcity_stdout/config/defaults.yml +++ b/plugins/report_tests_teamcity_stdout/config/defaults.yml @@ -9,4 +9,4 @@ :teamcity: # Override to FALSE in user, local project options to prevent CI $stdout messages :build: TRUE -... \ No newline at end of file +... diff --git a/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb b/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb index c26789062..ad509966b 100644 --- a/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +++ b/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb @@ -12,14 +12,14 @@ class ReportTestsTeamcityStdout < Plugin # `Plugin` setup() def setup - # TEAMCITY_BUILD defaults to true but can be overridden in a user + # TEAMCITY_BUILD defaults to true but can be overridden in a user # project file to stop CI messages locally. @output_enabled = TEAMCITY_BUILD # Provide thread-safety for multi-threaded builds @mutex = Mutex.new - # A counter incremented for each Ceedling test executable allowing + # A counter incremented for each Ceedling test executable allowing # concurrent executables to differentiate their service messages. @flowid_count = 0 @@ -106,8 +106,8 @@ def post_test_fixture_execute(arg_hash) # Create Java-like name per TeamCity convention `package_or_namespace.ClassName.TestName` # ==> `context.TestFilepath.TestCaseName` - _message = - "testFailed name='#{context}.#{filepath}.#{_test}' " + + _message = + "testFailed name='#{context}.#{filepath}.#{_test}' " + "message='#{escape(_message)}' " + "details='File: #{failure[:source][:file]} Line: #{test[:line]}'" diff --git a/spec/configurator_builder_spec.rb b/spec/configurator_builder_spec.rb index f2b0e3e63..1e0cfc8cc 100644 --- a/spec/configurator_builder_spec.rb +++ b/spec/configurator_builder_spec.rb @@ -12,4 +12,4 @@ describe ConfiguratorBuilder do xit "is scary" -end \ No newline at end of file +end diff --git a/spec/configurator_helper_spec.rb b/spec/configurator_helper_spec.rb index da45e483d..88f58258b 100644 --- a/spec/configurator_helper_spec.rb +++ b/spec/configurator_helper_spec.rb @@ -9,4 +9,4 @@ describe "ConfiguratorHelper" do xit "doesn't exist..." -end \ No newline at end of file +end diff --git a/spec/configurator_spec.rb b/spec/configurator_spec.rb index fcb63688d..474c838f6 100644 --- a/spec/configurator_spec.rb +++ b/spec/configurator_spec.rb @@ -14,4 +14,4 @@ xit "should standardize [:files]" xit "should standardize [:tools]" end -end \ No newline at end of file +end diff --git a/spec/file_finder_helper_spec.rb b/spec/file_finder_helper_spec.rb index b90176fa5..188e5804c 100644 --- a/spec/file_finder_helper_spec.rb +++ b/spec/file_finder_helper_spec.rb @@ -22,8 +22,8 @@ @ff_helper = described_class.new({:loginator => @loginator}) end - - + + describe '#find_file_in_collection' do it 'returns the full path of the matching file' do expect(@ff_helper.find_file_in_collection('a.c', FILE_LIST, :ignore)).to eq(FILE_LIST[0]) diff --git a/spec/gcov/gcov_test_cases_spec.rb b/spec/gcov/gcov_test_cases_spec.rb index 5c7254480..3a36bc752 100644 --- a/spec/gcov/gcov_test_cases_spec.rb +++ b/spec/gcov/gcov_test_cases_spec.rb @@ -57,7 +57,7 @@ def _add_gcov_section_in_project(project_file_path, name, values) f.puts(project_file_contents) end end - + def _add_gcov_option_in_project(project_file_path, option, value) project_file_contents = File.readlines(project_file_path) option_index = project_file_contents.index(":gcov:\n") @@ -68,7 +68,7 @@ def _add_gcov_option_in_project(project_file_path, option, value) end project_file_contents.insert(option_index + 1, " :#{option}: #{value}\n") - + File.open(project_file_path, "w+") do |f| f.puts(project_file_contents) end @@ -316,7 +316,7 @@ def can_create_html_reports_from_test_runner_with_enabled_debug_with_100_coverag "{\n" \ " TEST_ASSERT_EQUAL_INT(0, difference_between_numbers(1,1));\n" \ "}\n" - + updated_test_file = File.read('test/test_example_file_crash.c').split("\n") updated_test_file.insert(updated_test_file.length(), add_test_case) File.write('test/test_example_file_crash.c', updated_test_file.join("\n"), mode: 'w') diff --git a/spec/generator_test_results_sanity_checker_spec.rb b/spec/generator_test_results_sanity_checker_spec.rb index 565260183..b69f60108 100644 --- a/spec/generator_test_results_sanity_checker_spec.rb +++ b/spec/generator_test_results_sanity_checker_spec.rb @@ -26,7 +26,7 @@ }) @sanity_checker = described_class.new({:configurator => @configurator, :loginator => @loginator}) - + @results = {} @results[:ignores] = ['', '', ''] @results[:failures] = ['', '', ''] @@ -34,8 +34,8 @@ @results[:source] = {:file => "test_file.c"} @results[:counts] = {:ignored => @results[:ignores].size, :failed => @results[:failures].size, :total => 9} end - - + + describe '#verify' do it 'returns immediately if sanity_checker set to NONE' do @configurator.sanity_checks = TestResultsSanityChecks::NONE diff --git a/spec/generator_test_results_spec.rb b/spec/generator_test_results_spec.rb index 5548e67bf..566fc3565 100644 --- a/spec/generator_test_results_spec.rb +++ b/spec/generator_test_results_spec.rb @@ -73,7 +73,7 @@ :loginator => @loginator, :reportinator => nil }) - + # these will always be used as is. @yaml_wrapper = YamlWrapper.new @sanity_checker = GeneratorTestResultsSanityChecker.new({:configurator => @configurator, :loginator => @loginator}) @@ -92,16 +92,16 @@ File.delete(TEST_OUT_FILE) end end - + describe '#process_and_write_results' do it 'raises on an empty input' do - expect{ + expect{ @generate_test_results.process_and_write_results('test_example.out', {:output => ''}, TEST_OUT_FILE, 'some/place/test_example.c') }.to raise_error( /Could not parse/i ) end it 'raises on mangled test output' do - expect{ + expect{ @generate_test_results.process_and_write_results('test_example.out', {:output => MANGLED_OUTPUT}, TEST_OUT_FILE, 'some/place/test_example.c') }.to raise_error( /Could not parse/i ) end diff --git a/spec/reportinator_spec.rb b/spec/reportinator_spec.rb index c7107fb4f..8c3c5612d 100644 --- a/spec/reportinator_spec.rb +++ b/spec/reportinator_spec.rb @@ -12,7 +12,7 @@ before(:each) do @rp = described_class.new end - + describe '#generate_banner' do it 'generates a banner with a width based on a string' do expect(@rp.generate_banner("Hello world!")).to eq("------------\nHello world!\n------------\n") diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 83bd96211..78cc6b6cf 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -29,5 +29,3 @@ require 'ceedling/preprocessinator_extractor' require 'ceedling/configurator_builder' require 'ceedling/configurator' - - diff --git a/spec/support/other_target.yml b/spec/support/other_target.yml index 0d173d5bc..66c180690 100644 --- a/spec/support/other_target.yml +++ b/spec/support/other_target.yml @@ -4,4 +4,3 @@ # Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams # SPDX-License-Identifier: MIT # ========================================================================= - diff --git a/spec/support/target.yml b/spec/support/target.yml index 0d173d5bc..66c180690 100644 --- a/spec/support/target.yml +++ b/spec/support/target.yml @@ -4,4 +4,3 @@ # Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams # SPDX-License-Identifier: MIT # ========================================================================= - diff --git a/spec/support/test_example_mangled.pass b/spec/support/test_example_mangled.pass index 385d67b17..c7d063fed 100644 --- a/spec/support/test_example_mangled.pass +++ b/spec/support/test_example_mangled.pass @@ -8,7 +8,7 @@ :line: 257 :message: '' :unity_test_time: 0 -- +- :failures: [] :ignores: [] :counts: diff --git a/spec/system_utils_spec.rb b/spec/system_utils_spec.rb index f37bdb479..e60940644 100644 --- a/spec/system_utils_spec.rb +++ b/spec/system_utils_spec.rb @@ -20,7 +20,7 @@ @echo_test_cmd = {:command=>'echo $version'} end - + describe '#setup' do it 'sets tcsh_shell to nil' do expect(@sys_utils.instance_variable_get(:@tcsh_shell)).to eq(nil) @@ -28,11 +28,11 @@ it 'sets tcsh_shell to nil after being set' do expect(@sys_utils.instance_variable_get(:@tcsh_shell)).to eq(nil) - + allow(@loginator).to receive(:shell_backticks).with(@echo_test_cmd).and_return({:exit_code => 0, :output =>'tcsh 1234567890'}) @sys_utils.tcsh_shell? - + @sys_utils.setup expect(@sys_utils.instance_variable_get(:@tcsh_shell)).to eq(nil) end diff --git a/spec/tool_executor_helper_spec.rb b/spec/tool_executor_helper_spec.rb index e140045ac..19eee26f0 100644 --- a/spec/tool_executor_helper_spec.rb +++ b/spec/tool_executor_helper_spec.rb @@ -21,7 +21,7 @@ @sys_utils = SystemUtils.new({:system_wrapper => @sys_wrapper}) @loginator = Loginator.new({:verbosinator => nil, :file_wrapper => nil, :system_wrapper => nil}) @verbosinator = Verbosinator.new() - + @tool_exe_helper = described_class.new( { :loginator => @loginator, @@ -31,7 +31,7 @@ } ) end - + describe '#osify_path_separators' do it 'returns path if system is not windows' do @@ -84,7 +84,7 @@ expect(@sys_wrapper).to receive(:windows?).and_return(false) expect(@sys_utils).to receive(:tcsh_shell?).and_return(false) expect(@tool_exe_helper.stderr_redirect_cmdline_append(@tool_config)).to eq('2>&1') - end + end end end diff --git a/vendor/behaviors/Rakefile b/vendor/behaviors/Rakefile index d4d68b995..ca819f5d2 100644 --- a/vendor/behaviors/Rakefile +++ b/vendor/behaviors/Rakefile @@ -3,13 +3,13 @@ require 'rubygems' require 'hoe' Hoe.new('behaviors','1.0.3') do |p| - p.author = "Atomic Object LLC" - p.email = "dev@atomicobject.com" - p.url = "http://behaviors.rubyforge.org" - p.summary = "behavior-driven unit test helper" + p.author = "Atomic Object LLC" + p.email = "dev@atomicobject.com" + p.url = "http://behaviors.rubyforge.org" + p.summary = "behavior-driven unit test helper" p.description = <<-EOS -Behaviors allows for Test::Unit test case methods to be defined as -human-readable descriptions of program behavior. It also provides +Behaviors allows for Test::Unit test case methods to be defined as +human-readable descriptions of program behavior. It also provides Rake tasks to list the behaviors of your project. EOS p.test_globs = ['test/*_test.rb'] diff --git a/vendor/behaviors/lib/behaviors.rb b/vendor/behaviors/lib/behaviors.rb index 1d89e9cbb..2d8089d4b 100644 --- a/vendor/behaviors/lib/behaviors.rb +++ b/vendor/behaviors/lib/behaviors.rb @@ -9,7 +9,7 @@ =begin rdoc = Usage Behaviors provides a single method: should. - + Instead of naming test methods like: def test_something @@ -27,7 +27,7 @@ def test_something When you run your unit tests, empty should methods will appear as an 'UNIMPLEMENTED CASE' along with the described behavior. This is useful for sketching out planned behavior quickly. -Simply extend Behaviors in your TestCase to start using behaviors. +Simply extend Behaviors in your TestCase to start using behaviors. require 'test/unit' require 'behaviors' @@ -43,12 +43,12 @@ class UserTest < Test::Unit::TestCase Creating test methods with should statements focuses on the behavior of an object. This helps you to think about the role of the object under test. -Using a behavior-driven approach prevents the danger in assuming a one-to-one mapping of method names to +Using a behavior-driven approach prevents the danger in assuming a one-to-one mapping of method names to test method names. As always, you get the most value by writing the tests first. For a more complete BDD framework, try RSpec http://rspec.rubyforge.org/ - + = Rake tasks You can define a Behaviors::ReportTask in your Rakefile to generate rake tasks that diff --git a/vendor/behaviors/lib/behaviors/reporttask.rb b/vendor/behaviors/lib/behaviors/reporttask.rb index 4a5c9a4ac..4b85614e8 100644 --- a/vendor/behaviors/lib/behaviors/reporttask.rb +++ b/vendor/behaviors/lib/behaviors/reporttask.rb @@ -37,7 +37,7 @@ def define desc "Generate html report of behavioral definitions for the classes specified (use for= to further limit files included in report)" task "#{@name}_html" do require 'erb' - txt =<<-EOS + txt =<<-EOS