about summary refs log tree commit homepage
path: root/test/test_helper.rb
diff options
context:
space:
mode:
authorevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2008-02-20 06:15:30 +0000
committerevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2008-02-20 06:15:30 +0000
commit5a10ba13b2c2f56b8ffb0978ebb36ff26a7715e5 (patch)
treee93ee8070152cb99b3f4bfde01e776677ca6d0a4 /test/test_helper.rb
parentaf1e1581afac9437e623eb54ef533f240858fd47 (diff)
downloadunicorn-5a10ba13b2c2f56b8ffb0978ebb36ff26a7715e5.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/branches/stable_1-1@973 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'test/test_helper.rb')
-rw-r--r--test/test_helper.rb66
1 files changed, 66 insertions, 0 deletions
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