#!/usr/bin/env ruby # encoding: UTF-8 require File.expand_path('../test_helper', __FILE__) # Test data # A # / \ # B C # \ # B class MSTPT def a 100.times{b} 300.times{c} c;c;c end def b sleep 0 end def c 5.times{b} end end class MultiPrinterTest < Test::Unit::TestCase def setup # Need to use wall time for this test due to the sleep calls RubyProf::measure_mode = RubyProf::WALL_TIME end def test_all_profiles_can_be_created start_time = Time.now RubyProf.start 5.times{MSTPT.new.a} result = RubyProf.stop end_time = Time.now expected_time = end_time - start_time stack = graph = nil assert_nothing_raised { stack, graph = print(result) } re = Regexp.new(' \s*
Thread ID | \s*(Fiber ID | )? \s*Total Time | \s*
---|---|---|
([\.0-9]+) | )? \s*-?\d+ | \s*([\.0-9e]+) | \s*