summary refs log tree commit
path: root/test/rackup/config.ru
diff options
context:
space:
mode:
Diffstat (limited to 'test/rackup/config.ru')
-rw-r--r--test/rackup/config.ru31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/rackup/config.ru b/test/rackup/config.ru
new file mode 100644
index 00000000..f1e2e1f3
--- /dev/null
+++ b/test/rackup/config.ru
@@ -0,0 +1,31 @@
+require "#{File.dirname(__FILE__)}/../testrequest"
+
+$stderr = File.open("#{File.dirname(__FILE__)}/log_output", "w")
+
+class EnvMiddleware
+  def initialize(app)
+    @app = app
+  end
+
+  def call(env)
+    # provides a way to test that lint is present
+    if env["PATH_INFO"] == "/broken_lint"
+      return [200, {}, ["Broken Lint"]]
+    # provides a way to kill the process without knowing the pid
+    elsif env["PATH_INFO"] == "/die"
+      exit!
+    end
+
+    env["test.$DEBUG"]      = $DEBUG
+    env["test.$EVAL"]       = BUKKIT if defined?(BUKKIT)
+    env["test.$VERBOSE"]    = $VERBOSE
+    env["test.$LOAD_PATH"]  = $LOAD_PATH
+    env["test.stderr"]      = File.expand_path($stderr.path)
+    env["test.Ping"]        = defined?(Ping)
+    env["test.pid"]         = Process.pid
+    @app.call(env)
+  end
+end
+
+use EnvMiddleware
+run TestRequest.new