about summary refs log tree commit homepage
path: root/test
diff options
context:
space:
mode:
authorevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-21 02:54:53 +0000
committerevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-21 02:54:53 +0000
commitc60ff81f1ed1efe7f03fc31cf4c566264f3e314a (patch)
tree223f30e9736aa466c6e020f15fe5fff06398a6d2 /test
parent0320048974fb4b81c365f9cf47ecd24384eb3f35 (diff)
downloadunicorn-c60ff81f1ed1efe7f03fc31cf4c566264f3e314a.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@710 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'test')
-rw-r--r--test/testhelp.rb112
1 files changed, 58 insertions, 54 deletions
diff --git a/test/testhelp.rb b/test/testhelp.rb
index 40e6a79..5d89c11 100644
--- a/test/testhelp.rb
+++ b/test/testhelp.rb
@@ -4,63 +4,67 @@
 # 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 'mongrel'
-require 'mongrel/stats'
-
-if ENV['DEBUG']
-  require 'ruby-debug'
-  Debugger.start
-end
+unless defined? $require_once
 
-def redirect_test_io
-  orig_err = STDERR.dup
-  orig_out = STDOUT.dup
-  STDERR.reopen("test_stderr.log")
-  STDOUT.reopen("test_stdout.log")
+  $require_once = true
 
-  begin
-    yield
-  ensure
-    STDERR.reopen(orig_err)
-    STDOUT.reopen(orig_out)
+  HERE = File.dirname(__FILE__)
+  %w(lib ext bin test).each do |dir|
+    $LOAD_PATH.unshift "#{HERE}/../#{dir}"
   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]) }
+  
+  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 '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
-
-    assert res != nil, "Didn't get a response: #{u}"
-    results << res
   end
-
-  return results
+    
+  # 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
+  
 end
-