From dce441768a4a2d31634f5c080b683b158da4163a Mon Sep 17 00:00:00 2001 From: Martin Babutzka Date: Thu, 12 Jan 2023 14:14:53 +0100 Subject: [PATCH] Pass the preprocessed and the original file path to CMock. This allows to CMock to handle inlines in the original header without writing a ruined header to the include path. If preprocessing is disabled the mock and orig path are the same. Updated submodule vendor/cmock to the matching branch. --- lib/ceedling/file_finder.rb | 2 +- lib/ceedling/generator.rb | 6 +++--- lib/ceedling/rules_cmock.rake | 4 ++-- vendor/cmock | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/ceedling/file_finder.rb b/lib/ceedling/file_finder.rb index 92bc03c27..81b19ec99 100644 --- a/lib/ceedling/file_finder.rb +++ b/lib/ceedling/file_finder.rb @@ -33,7 +33,7 @@ def find_header_input_for_mock_file(mock_file) mock_input = @cacheinator.diff_cached_test_file( @file_path_utils.form_preprocessed_file_filepath( found_path ) ) end - return mock_input + return mock_input, found_path end diff --git a/lib/ceedling/generator.rb b/lib/ceedling/generator.rb index 18b443a86..87976a21a 100644 --- a/lib/ceedling/generator.rb +++ b/lib/ceedling/generator.rb @@ -43,15 +43,15 @@ def generate_dependencies_file(tool, context, source, object, dependencies) end def generate_mock(context, mock) - arg_hash = {:header_file => mock.source, :context => context} + arg_hash = {:header_file => mock[0].source, :context => context} @plugin_manager.pre_mock_generate( arg_hash ) begin - folder = @file_path_utils.form_folder_for_mock(mock.name) + folder = @file_path_utils.form_folder_for_mock(mock[0].name) if folder == '' folder = nil end - @cmock_builder.cmock.setup_mocks( arg_hash[:header_file], folder ) + @cmock_builder.cmock.setup_mocks( arg_hash[:header_file], mock[0].sources[1], folder ) rescue raise ensure diff --git a/lib/ceedling/rules_cmock.rake b/lib/ceedling/rules_cmock.rake index c4ff81aa8..76b65d8db 100644 --- a/lib/ceedling/rules_cmock.rake +++ b/lib/ceedling/rules_cmock.rake @@ -4,7 +4,7 @@ rule(/#{CMOCK_MOCK_PREFIX}[^\/\\]+#{'\\'+EXTENSION_SOURCE}$/ => [ proc do |task_name| @ceedling[:file_finder].find_header_input_for_mock_file(task_name) end - ]) do |mock| + ]) do |mock,orig| - @ceedling[:generator].generate_mock(TEST_SYM, mock) + @ceedling[:generator].generate_mock(TEST_SYM, [mock,orig]) end diff --git a/vendor/cmock b/vendor/cmock index 3d4ba8d20..6e58316fd 160000 --- a/vendor/cmock +++ b/vendor/cmock @@ -1 +1 @@ -Subproject commit 3d4ba8d20b8958da5dace7dd5d31155c94b60819 +Subproject commit 6e58316fd02420b1cc0bfbaa38d240cc0f201992