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

ruby-changes:5583

From: akr <ko1@a...>
Date: Wed, 11 Jun 2008 12:17:55 +0900 (JST)
Subject: [ruby-changes:5583] Ruby:r17089 (trunk): * bootstraptest/runner.rb (assert_normal_exit): hide stderr output

akr	2008-06-11 12:16:28 +0900 (Wed, 11 Jun 2008)

  New Revision: 17089

  Modified files:
    trunk/ChangeLog
    trunk/bootstraptest/runner.rb

  Log:
    * bootstraptest/runner.rb (assert_normal_exit): hide stderr output
      when success.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=17089&r2=17088&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/runner.rb?r1=17089&r2=17088&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 17088)
+++ ChangeLog	(revision 17089)
@@ -1,3 +1,8 @@
+Wed Jun 11 12:15:17 2008  Tanaka Akira  <akr@f...>
+
+	* bootstraptest/runner.rb (assert_normal_exit): hide stderr output
+	  when success.
+
 Wed Jun 11 09:26:43 2008  NAKAMURA Usaku  <usa@r...>
 
 	* common.mk (encs): need to pass miniruby path for windows.
Index: bootstraptest/runner.rb
===================================================================
--- bootstraptest/runner.rb	(revision 17088)
+++ bootstraptest/runner.rb	(revision 17089)
@@ -193,15 +193,30 @@
   $stderr.puts "\##{@count} #{@location}" if @verbose
   faildesc = nil
   filename = make_srcfile(testsrc)
-  `#{@ruby} -W0 #{filename}`
-  if $?.signaled?
-    signo = $?.termsig
+  old_stderr = $stderr.dup
+  begin
+    $stderr.reopen("assert_normal_exit_stderr.log", "w")
+    `#{@ruby} -W0 #{filename}`
+    status = $?
+  ensure
+    $stderr.reopen(old_stderr)
+    old_stderr.close
+  end
+  if status.signaled?
+    signo = status.termsig
     signame = Signal.list.invert[signo]
     sigdesc = "signal #{signo}"
     if signame
       sigdesc = "SIG#{signame} (#{sigdesc})"
     end
     faildesc = pretty(testsrc, "killed by #{sigdesc}", nil)
+    stderr_log = File.read("assert_normal_exit_stderr.log")
+    if !stderr_log.empty?
+      faildesc << "\n" if /\n\z/ !~ faildesc
+      stderr_log << "\n" if /\n\z/ !~ stderr_log
+      stderr_log.gsub!(/^.*\n/) { '| ' + $& }
+      faildesc << stderr_log
+    end
   end
   if !faildesc
     $stderr.print '.'

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

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