Lines Matching refs:options

10   def initialize(options = nil)
11 @options = UnityTestRunnerGenerator.default_options
12 case options
14 @options
16 @options.merge!(UnityTestRunnerGenerator.grab_config(options))
19 @options[:has_setup] = !options[:setup_name].nil?
20 @options[:has_teardown] = !options[:teardown_name].nil?
21 @options[:has_suite_setup] = !options[:suite_setup].nil?
22 @options[:has_suite_teardown] = !options[:suite_teardown].nil?
23 @options.merge!(options)
25 raise 'If you specify arguments, it should be a filename or a hash of options'
55 options = default_options
59 options.merge!(yaml_guts[:unity] || yaml_guts[:cmock])
60 raise "No :unity or :cmock section found in #{config_file}" unless options
62 options
65 def run(input_file, output_file, options = nil)
66 @options.merge!(options) unless options.nil?
73 testfile_includes = @options[:use_system_files] ? (headers[:local] + headers[:system]) : (headers[:local])
85 all_files_used += @options[:includes] unless @options[:includes].empty?
105 return unless @options[:header_file] && !@options[:header_file].empty?
107 File.open(@options[:header_file], 'w') do |output|
108 create_h_file(output, @options[:header_file], tests, testfile_includes, used_mocks)
136 next unless line =~ /^((?:\s*(?:TEST_(?:CASE|RANGE|MATRIX))\s*\(.*?\)\s*)*)\s*void\s+((?:#{@options[:test_prefix]}).*)\s*\(\s*(.*)\s*\)/m
137 next unless line =~ /^((?:\s*(?:TEST_(?:CASE|RANGE|MATRIX))\s*\(.*?\)\s*)*)\s*void\s+((?:#{@options[:test_prefix]})\w*)\s*\(\s*(.*)\s*\)/m
145 if @options[:use_param_tests] && !arguments.empty?
212 local: source.scan(/^\s*#include\s+"\s*(.+\.#{@options[:include_extensions]})\s*"/).flatten,
214 linkonly: source.scan(/^TEST_SOURCE_FILE\(\s*"\s*(.+\.#{@options[:source_extensions]})\s*"/).flatten
222 mock_headers << include_path if include_file =~ /^#{@options[:mock_prefix]}.*#{@options[:mock_suffix]}\.h$/i
228 @options[:has_setup] = source =~ /void\s+#{@options[:setup_name]}\s*\(/
229 @options[:has_teardown] = source =~ /void\s+#{@options[:teardown_name]}\s*\(/
230 @options[:has_suite_setup] ||= (source =~ /void\s+suiteSetUp\s*\(/)
231 @options[:has_suite_teardown] ||= (source =~ /int\s+suiteTearDown\s*\(int\s+([a-zA-Z0-9_])+\s*\)/)
237 output.puts('extern "C" {') if @options[:externcincludes]
238 output.puts("#include \"#{@options[:framework]}.h\"")
240 output.puts('}') if @options[:externcincludes]
241 if @options[:defines] && !@options[:defines].empty?
243 @options[:defines].each do |d|
248 if @options[:header_file] && !@options[:header_file].empty?
249 output.puts("#include \"#{File.basename(@options[:header_file])}\"")
251 @options[:includes].flatten.uniq.compact.each do |inc|
258 output.puts('extern "C" {') if @options[:externcincludes]
262 output.puts('}') if @options[:externcincludes]
263 output.puts('#include "CException.h"') if @options[:plugins].include?(:cexception)
265 return unless @options[:enforce_strict_ordering]
275 output.puts("extern void #{@options[:setup_name]}(void);")
276 output.puts("extern void #{@options[:teardown_name]}(void);")
277 output.puts("\n#ifdef __cplusplus\nextern \"C\"\n{\n#endif") if @options[:externc]
281 output.puts("#ifdef __cplusplus\n}\n#endif") if @options[:externc]
290 if @options[:enforce_strict_ordering]
321 return if @options[:has_setup]
324 output.puts("void #{@options[:setup_name]}(void) {}")
328 return if @options[:has_teardown]
331 output.puts("void #{@options[:teardown_name]}(void) {}")
335 return if @options[:suite_setup].nil?
340 output.puts(@options[:suite_setup])
345 return if @options[:suite_teardown].nil?
350 output.puts(@options[:suite_teardown])
356 output.puts("void #{@options[:test_reset_name]}(void);")
357 output.puts("void #{@options[:test_reset_name]}(void)")
359 output.puts(" #{@options[:teardown_name]}();")
363 output.puts(" #{@options[:setup_name]}();")
365 output.puts("void #{@options[:test_verify_name]}(void);")
366 output.puts("void #{@options[:test_verify_name]}(void)")
380 return unless @options[:use_param_tests]
397 main_name = @options[:main_name].to_sym == :auto ? "main_#{filename.gsub('.c', '')}" : (@options[:main_name]).to_s
398 if @options[:cmdline_args]
400 output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv);")
402 output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv)")
412 if (!@options[:use_param_tests]) || test[:args].nil? || test[:args].empty?
427 main_return = @options[:omit_begin_end] ? 'void' : 'int'
429 output.puts("#{@options[:main_export_decl]} #{main_return} #{main_name}(void);")
434 output.puts(' suiteSetUp();') if @options[:has_suite_setup]
435 if @options[:omit_begin_end]
441 if (!@options[:use_param_tests]) || test[:args].nil? || test[:args].empty?
453 if @options[:has_suite_teardown]
454 if @options[:omit_begin_end]
460 output.puts(' return UnityEnd();') unless @options[:omit_begin_end]
470 output.puts("#include \"#{@options[:framework]}.h\"")
472 @options[:includes].flatten.uniq.compact.each do |inc|
491 options = { includes: [] }
493 # parse out all the options first (these will all be removed as we go)
497 options[:plugins] = [:cexception]
500 options[:externcincludes] = true
503 options = UnityTestRunnerGenerator.grab_config(arg)
506 options[Regexp.last_match(1).to_sym] = Regexp.last_match(2)
509 options[:includes] << arg
517 puts ["\nusage: ruby #{__FILE__} (files) (options) input_test_file (output)",
524 ' options:',
544 UnityTestRunnerGenerator.new(options).run(ARGV[0], ARGV[1])