diff --git a/auto/generate_test_runner.rb b/auto/generate_test_runner.rb index 8a081f32ec548cc23b60feb5239c42677af947b4..1ae56f088d3275fe4a45524e611ce20751b454c3 100644 --- a/auto/generate_test_runner.rb +++ b/auto/generate_test_runner.rb @@ -83,7 +83,7 @@ class UnityTestRunnerGenerator if (@options[:header_file] && !@options[:header_file].empty?) File.open(@options[:header_file], 'w') do |output| - create_h_file(output, @options[:header_file], tests, testfile_includes) + create_h_file(output, @options[:header_file], tests, testfile_includes, used_mocks) end end end @@ -313,11 +313,13 @@ class UnityTestRunnerGenerator output.puts("}") end - def create_h_file(output, filename, tests, testfile_includes) - filename = filename.upcase.gsub(/(?:\/|\\|\.)*/,'_') + def create_h_file(output, filename, tests, testfile_includes, used_mocks) + filename = File.basename(filename).gsub(/[-\/\\\.\,\s]/, "_").upcase output.puts("/* AUTOGENERATED FILE. DO NOT EDIT. */") output.puts("#ifndef _#{filename}") output.puts("#define _#{filename}\n\n") + output.puts("#include \"#{@options[:framework].to_s}.h\"") + output.puts('#include "cmock.h"') unless (used_mocks.empty?) @options[:includes].flatten.uniq.compact.each do |inc| output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h','')}.h\""}") end @@ -325,7 +327,13 @@ class UnityTestRunnerGenerator output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h','')}.h\""}") end output.puts "\n" - tests.each {|test| output.puts("void #{test[:test]}(#{test[:params]});") } + tests.each do |test| + if ((test[:params].nil?) or (test[:params].empty?)) + output.puts("void #{test[:test]}(void);") + else + output.puts("void #{test[:test]}(#{test[:params]});") + end + end output.puts("#endif\n\n") end end @@ -341,10 +349,10 @@ if ($0 == __FILE__) options[:plugins] = [:cexception]; true when /\.*\.ya?ml/ options = UnityTestRunnerGenerator.grab_config(arg); true - when /\.*\.h/ - options[:includes] << arg; true when /--(\w+)=\"?(.*)\"?/ options[$1.to_sym] = $2; true + when /\.*\.h/ + options[:includes] << arg; true else false end end