ext/revdispatch/test.rb in evdispatch-0.1.3 vs ext/revdispatch/test.rb in evdispatch-0.1.4

- old
+ new

@@ -1,13 +1,14 @@ require 'revdispatch' # to run this through valgrind run the server outside of this script # i run this: valgrind --leak-check=full ~/project/ruby-valgrind-env/bin/ruby test.rb r +pid = nil unless ARGV[0] == 'r' pid = fork do require 'server' - start + start_test_server end end require 'ostruct' @@ -57,12 +58,12 @@ response = d.response( google_id ) puts "Requested: #{response[0]} in #{Time.now - timer} seconds" ebbbase = "http://127.0.0.1:4044/" timer = Time.now - ids = request_bytes_from( d, ebbbase, 20, 1000 ) - ids += request_delay_from( d, ebbbase, 20, 1 ) + ids = request_bytes_from( d, ebbbase, 100, 1000 ) + ids += request_delay_from( d, ebbbase, 100, 1 ) # wait for each response puts "expecting #{ids.size} responses..." ids.each do|id| response = d.response( id ) @@ -72,29 +73,31 @@ puts "recieved #{ids.size} responses in #{Time.now - timer} seconds" # sometime later you can stop the event loop d.stop - end -sleep 1 unless ARGV[0] == 'r' +begin + sleep 1 unless ARGV[0] == 'r' -ObjectSpace.garbage_collect + ObjectSpace.garbage_collect -count = ObjectSpace.each_object { } -puts "Starting Total objects: #{count}" + count = ObjectSpace.each_object { } + puts "Starting Total objects: #{count}" -begin -run_trial -rescue => e - puts e.message, e.backtrace -end + begin + run_trial + rescue => e + puts e.message, e.backtrace + end -Process.kill('HUP', pid) unless ARGV[0] == 'r' + Process.kill('HUP', pid) unless ARGV[0] == 'r' + count = ObjectSpace.each_object { } + puts "Final Total objects: #{count}" + count = nil + ObjectSpace.garbage_collect +end -count = ObjectSpace.each_object { } -puts "Final Total objects: #{count}" -ObjectSpace.garbage_collect count = ObjectSpace.each_object { } puts "After garbage collection objects: #{count}"