From a24bd455117d3094a66900f9ec1f23c4cc1b7504 Mon Sep 17 00:00:00 2001 From: Greg Williams Date: Thu, 12 Mar 2015 10:33:23 -0400 Subject: [PATCH] Added type_sanitizer.rb to consolidate converting a string to a valid C identifier, which will allow CMock and Ceedling to use the same construct which is currently duplicated in each repo. --- auto/generate_test_runner.rb | 9 ++++++--- auto/type_sanitizer.rb | 8 ++++++++ release/version.info | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 auto/type_sanitizer.rb diff --git a/auto/generate_test_runner.rb b/auto/generate_test_runner.rb index 63aa462..1378ed2 100644 --- a/auto/generate_test_runner.rb +++ b/auto/generate_test_runner.rb @@ -7,6 +7,9 @@ $QUICK_RUBY_VERSION = RUBY_VERSION.split('.').inject(0){|vv,v| vv * 100 + v.to_i } File.expand_path(File.join(File.dirname(__FILE__),'colour_prompt')) +HERE = File.expand_path(File.dirname(__FILE__)) +require "#{HERE}/type_sanitizer" + class UnityTestRunnerGenerator def initialize(options = nil) @@ -190,7 +193,7 @@ class UnityTestRunnerGenerator output.puts(" GlobalOrderError = NULL;") end mocks.each do |mock| - mock_clean = mock.gsub(/(?:-|\s+)/, "_") + mock_clean = TypeSanitizer.sanitize_c_identifier(mock) output.puts(" #{mock_clean}_Init();") end output.puts("}\n") @@ -198,7 +201,7 @@ class UnityTestRunnerGenerator output.puts("static void CMock_Verify(void)") output.puts("{") mocks.each do |mock| - mock_clean = mock.gsub(/(?:-|\s+)/, "_") + mock_clean = TypeSanitizer.sanitize_c_identifier(mock) output.puts(" #{mock_clean}_Verify();") end output.puts("}\n") @@ -206,7 +209,7 @@ class UnityTestRunnerGenerator output.puts("static void CMock_Destroy(void)") output.puts("{") mocks.each do |mock| - mock_clean = mock.gsub(/(?:-|\s+)/, "_") + mock_clean = TypeSanitizer.sanitize_c_identifier(mock) output.puts(" #{mock_clean}_Destroy();") end output.puts("}\n") diff --git a/auto/type_sanitizer.rb b/auto/type_sanitizer.rb new file mode 100644 index 0000000..7c2c0ac --- /dev/null +++ b/auto/type_sanitizer.rb @@ -0,0 +1,8 @@ +module TypeSanitizer + + def self.sanitize_c_identifier(unsanitized) + # convert filename to valid C identifier by replacing invalid chars with '_' + return unsanitized.gsub(/[-\/\\\.\,\s]/, "_") + end + +end diff --git a/release/version.info b/release/version.info index 6b2d349..edbec98 100644 --- a/release/version.info +++ b/release/version.info @@ -1,2 +1,2 @@ -2.1.0 +2.2.0