[前][次][番号順一覧][スレッド一覧]

ruby-changes:17284

From: kou <ko1@a...>
Date: Fri, 17 Sep 2010 23:34:15 +0900 (JST)
Subject: [ruby-changes:17284] Ruby:r29287 (trunk): * test/rexml/test_sax.rb: don't use thread and sleep to avoid slow test.

kou	2010-09-17 23:23:56 +0900 (Fri, 17 Sep 2010)

  New Revision: 29287

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29287

  Log:
    * test/rexml/test_sax.rb: don't use thread and sleep to avoid slow test.

  Modified files:
    trunk/ChangeLog
    trunk/test/rexml/test_sax.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29286)
+++ ChangeLog	(revision 29287)
@@ -1,3 +1,7 @@
+Fri Sep 17 23:23:26 2010  Kouhei Sutou  <kou@c...>
+
+	* test/rexml/test_sax.rb: don't use thread and sleep to avoid slow test.
+
 Fri Sep 17 23:10:44 2010  Kouhei Sutou  <kou@c...>
 
 	* test/rexml/test_core.rb: enable.
Index: test/rexml/test_sax.rb
===================================================================
--- test/rexml/test_sax.rb	(revision 29286)
+++ test/rexml/test_sax.rb	(revision 29287)
@@ -221,29 +221,22 @@
   def test_socket
     require 'socket'
 
-    $port = 12345
+    port = 12345
 
-    Thread.new{
-      server = TCPServer.new('127.0.0.1', $port)
-      while (session = server.accept)
-        session << '<foo>'
-        Thread.stop
-      end
-    }
-    sleep 1 #to be sure that server is running
-    @socket = TCPSocket.new('127.0.0.1',$port)
+    server = TCPServer.new('127.0.0.1', port)
+    socket = TCPSocket.new('127.0.0.1', port)
 
-    ok = false  
-
-    test = Thread.new{
-      parser = REXML::Parsers::SAX2Parser.new @socket
-      parser.listen( :start_element ) {
-        ok = true 
-      }
+    ok = false
+    session = server.accept
+    session << '<foo>'
+    parser = REXML::Parsers::SAX2Parser.new(socket)
+    Fiber.new do
+      parser.listen(:start_element) do
+        ok = true
+        Fiber.yield
+      end
       parser.parse
-      Thread.stop
-    }
-    sleep 1 #to be sure that server is running
+    end.resume
     assert(ok)
   end
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]