Method: Fuzz.run_fzzrs

Defined in:
lib/fuzz/fuzz.rb

.run_fzzrs(argv) ⇒ Object



361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
# File 'lib/fuzz/fuzz.rb', line 361

def self.run_fzzrs(argv)
  options.config[:exts].concat(Fuzz::FileObject.extensions) if options.config[:exts].empty? || options.config[:add_files]
  options.config[:filenames].concat(Fuzz::FileObject.filenames) if options.config[:filenames].empty? || options.config[:add_files]

  options.config[:exts].uniq!
  options.config[:filenames].uniq!

  f_close_output = false
  if String === options.output
    options.output = File.open(options.output, 'w')
    f_close_output = true
  end
  begin
    # determin files/paths to test
    paths = argv.collect { |a| Dir.glob(a) }.flatten.uniq
    paths = Dir.glob('*') if paths.empty?
    # scan all determined objects
    return iterate_paths(paths)
  ensure
    options.output.close if f_close_output
  end
end