diff options
author | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2008-05-24 23:06:53 +0000 |
---|---|---|
committer | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2008-05-24 23:06:53 +0000 |
commit | 45ff7b22b67123dd8345f3c50151e89cc91ce2b7 (patch) | |
tree | e85c8aa353e3e9f05e90ee8bf76a6593520e1b01 /test/test_helper.rb | |
parent | f69f3602b11dc839bb09f8c783b5ec27c54694fd (diff) | |
parent | fa3f48f65222eb5591ef3dd9c05b6c958d564fa4 (diff) | |
download | unicorn-45ff7b22b67123dd8345f3c50151e89cc91ce2b7.tar.gz |
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@1020 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'test/test_helper.rb')
-rw-r--r-- | test/test_helper.rb | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 0000000..7615fdd --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,79 @@ +# 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 + +# process_based_port provides a port number, usable for TCP and UDP +# connections based on $$ and with a 5000 as base. +# this is required if you perform several builds of mongrel in parallel +# (like continuous integration systems) +def process_based_port + 5000 + $$ % 1000 +end + +# Platform check helper ;-) +def windows? + result = RUBY_PLATFORM =~ /djgpp|(cyg|ms|bcc)win|mingw/ +end
\ No newline at end of file |