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

ruby-changes:17280

From: shyouhei <ko1@a...>
Date: Fri, 17 Sep 2010 16:52:30 +0900 (JST)
Subject: [ruby-changes:17280] Ruby:r29281 (trunk): * test/io/console/test_io_console.rb (TestIO_Console::helper):

shyouhei	2010-09-17 16:52:21 +0900 (Fri, 17 Sep 2010)

  New Revision: 29281

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

  Log:
    * test/io/console/test_io_console.rb (TestIO_Console::helper):
      PTY.open is not guaranteed to work.  On my machine opening a
      pty is prohibited via process control group.  On those cases
      exceptions shall occur, and that doesn't mean our fault.
      Skip those tests on such situations.

  Modified files:
    trunk/ChangeLog
    trunk/test/io/console/test_io_console.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29280)
+++ ChangeLog	(revision 29281)
@@ -1,3 +1,11 @@
+Fri Sep 17 16:48:49 2010  URABE Shyouhei  <shyouhei@r...>
+
+	* test/io/console/test_io_console.rb (TestIO_Console::helper):
+	  PTY.open is not guaranteed to work.  On my machine opening a
+	  pty is prohibited via process control group.  On those cases
+	  exceptions shall occur, and that doesn't mean our fault.
+	  Skip those tests on such situations.
+
 Fri Sep 17 08:30:27 2010  Nobuyoshi Nakada  <nobu@r...>
 
 	* lib/tracer.rb: count only non-internal libraries in stack trace,
Index: test/io/console/test_io_console.rb
===================================================================
--- test/io/console/test_io_console.rb	(revision 29280)
+++ test/io/console/test_io_console.rb	(revision 29281)
@@ -4,7 +4,7 @@
 
 class TestIO_Console < Test::Unit::TestCase
   def test_raw
-    PTY.open {|m, s|
+    helper {|m, s|
       s.print "abc\n"
       assert_equal("abc\r\n", m.gets)
       s.raw {
@@ -17,7 +17,7 @@
   end
 
   def test_echo
-    PTY.open {|m, s|
+    helper {|m, s|
       assert(s.echo?)
       m.print "a"
       assert_equal("a", m.readpartial(10))
@@ -25,7 +25,7 @@
   end
 
   def test_noecho
-    PTY.open {|m, s|
+    helper {|m, s|
       s.noecho {
 	assert(!s.echo?)
 	m.print "a"
@@ -37,7 +37,7 @@
   end
 
   def test_noecho2
-    PTY.open {|m, s|
+    helper {|m, s|
       assert(s.echo?)
       m.print "a\n"
       sleep 0.1
@@ -63,7 +63,7 @@
   end
 
   def test_setecho
-    PTY.open {|m, s|
+    helper {|m, s|
       assert(s.echo?)
       s.echo = false
       m.print "a"
@@ -75,7 +75,7 @@
   end
 
   def test_setecho2
-    PTY.open {|m, s|
+    helper {|m, s|
       assert(s.echo?)
       m.print "a\n"
       sleep 0.1
@@ -101,7 +101,7 @@
   end
 
   def test_iflush
-    PTY.open {|m, s|
+    helper {|m, s|
       m.print "a"
       s.iflush
       m.print "b\n"
@@ -110,7 +110,7 @@
   end
 
   def test_oflush
-    PTY.open {|m, s|
+    helper {|m, s|
       s.print "a"
       s.oflush # oflush may be issued after "a" is already sent.
       s.print "b"
@@ -119,7 +119,7 @@
   end
 
   def test_ioflush
-    PTY.open {|m, s|
+    helper {|m, s|
       m.print "a"
       s.ioflush
       m.print "b\n"
@@ -128,7 +128,7 @@
   end
 
   def test_ioflush2
-    PTY.open {|m, s|
+    helper {|m, s|
       s.print "a"
       s.ioflush # ioflush may be issued after "a" is already sent.
       s.print "b"
@@ -137,11 +137,23 @@
   end
 
   def test_winsize
-    PTY.open {|m, s|
+    helper {|m, s|
       begin
         assert_equal([0, 0], s.winsize)
       rescue Errno::EINVAL # OpenSolaris 2009.06 TIOCGWINSZ causes Errno::EINVAL before TIOCSWINSZ.
       end
     }
   end
+
+  private
+  def helper
+    m, s = PTY.open
+  rescue RuntimeError
+    skip $!
+  else
+    yield m, s
+  ensure
+    m.close if m
+    s.close if s
+  end
 end

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

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