$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))

require 'fssm'

require 'rubygems'
require 'ruby-prof'

$test_path = FSSM::Pathname.new('..').expand_path
$test_files = FSSM::Pathname.glob(File.join($test_path, '**', '*'))

RubyProf.start
RubyProf.pause

cache = FSSM::Tree::Cache.new

5000.times do |num|
  iteration = "%-5d" % (num + 1)
  print "iteration #{iteration}"

  print '!'
  RubyProf.resume
  cache.unset($test_path)
  RubyProf.pause
  print '!'

  $test_files.each do |fn|
    print '.'
    RubyProf.resume
    cache.set(fn)
    RubyProf.pause
  end

  print "\n\n"
end

result = RubyProf.stop
output = File.new('prof.html', 'w+')

printer = RubyProf::GraphHtmlPrinter.new(result)
printer.print(output, :min_percent => 1)
