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/