From 5a10ba13b2c2f56b8ffb0978ebb36ff26a7715e5 Mon Sep 17 00:00:00 2001 From: evanweaver Date: Wed, 20 Feb 2008 06:15:30 +0000 Subject: Move tests from tests/ into tests/unit/ so they parallel tests/benchmark. They are mainly unit tests anyway; we can clean them up more moving forward. git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/branches/stable_1-1@973 19e92222-5c0b-0410-8929-a290d50e31e9 --- test/test_helper.rb | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 test/test_helper.rb (limited to 'test/test_helper.rb') diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 0000000..42ead2c --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,66 @@ +# Copyright (c) 2005 Zed A. Shaw +# You can redistribute it and/or modify it under the same terms as Ruby. +# +# Additional work donated by contributors. See http://mongrel.rubyforge.org/attributions.html +# for more information. + + +HERE = File.dirname(__FILE__) +%w(lib ext bin test).each do |dir| + $LOAD_PATH.unshift "#{HERE}/../#{dir}" +end + +require 'rubygems' +require 'test/unit' +require 'net/http' +require 'timeout' +require 'cgi/session' +require 'fileutils' +require 'benchmark' +require 'digest/sha1' +require 'uri' +require 'stringio' +require 'pp' + +require 'mongrel' +require 'mongrel/stats' + +if ENV['DEBUG'] + require 'ruby-debug' + Debugger.start +end + +def redirect_test_io + orig_err = STDERR.dup + orig_out = STDOUT.dup + STDERR.reopen("test_stderr.log") + STDOUT.reopen("test_stdout.log") + + begin + yield + ensure + STDERR.reopen(orig_err) + STDOUT.reopen(orig_out) + end +end + +# Either takes a string to do a get request against, or a tuple of [URI, HTTP] where +# HTTP is some kind of Net::HTTP request object (POST, HEAD, etc.) +def hit(uris) + results = [] + uris.each do |u| + res = nil + + if u.kind_of? String + res = Net::HTTP.get(URI.parse(u)) + else + url = URI.parse(u[0]) + res = Net::HTTP.new(url.host, url.port).start {|h| h.request(u[1]) } + end + + assert res != nil, "Didn't get a response: #{u}" + results << res + end + + return results +end -- cgit v1.2.3-24-ge0c7