<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>tmp/.gitignore</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,2 +1 @@
 pkg/*
-tmp/*</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -32,14 +32,13 @@ end
 
 class TestOpenID &lt; Test::Unit::TestCase
   RotsServer = 'http://localhost:9292'
-  PidFile = File.expand_path('tmp/rack.pid')
 
   def setup
-    unless File.exist?(PidFile)
-      system(&quot;rackup -D -P #{PidFile} test/openid_server.ru&quot;)
-      sleep 0.5
-    end
-    @pid = File.read(PidFile)
+    @pid = fork {
+      exec &quot;rackup -E none test/openid_server.ru&quot;
+    }
+
+    sleep 0.5
 
     assert_nothing_raised(Errno::ECONNREFUSED) {
       uri = URI.parse(RotsServer)
@@ -48,8 +47,8 @@ class TestOpenID &lt; Test::Unit::TestCase
   end
 
   def teardown
-    system(&quot;kill #{@pid}&quot;)
-    sleep 0.1
+    Process.kill 9, @pid
+    Process.wait(@pid)
   end
 
   def test_with_get</diff>
      <filename>test/test_openid.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>062cda1d35a0dad6e4b64c1109f6a28f092c64b9</id>
    </parent>
  </parents>
  <author>
    <name>Joshua Peek</name>
    <email>josh@joshpeek.com</email>
  </author>
  <url>http://github.com/josh/rack-openid/commit/fdf70cbb313d4162684331e390e4f32515ad0cda</url>
  <id>fdf70cbb313d4162684331e390e4f32515ad0cda</id>
  <committed-date>2009-09-08T16:06:00-07:00</committed-date>
  <authored-date>2009-09-08T16:06:00-07:00</authored-date>
  <message>more robust test process cleanup</message>
  <tree>40dc703b52a0b1f4f23496d913183b5a67df580e</tree>
  <committer>
    <name>Joshua Peek</name>
    <email>josh@joshpeek.com</email>
  </committer>
</commit>
