public
Description: ruby lang (www.ruby-lang.org) svn mirror
Homepage: http://svn.ruby-lang.org/repos/ruby/
Clone URL: git://github.com/juretta/ruby.git
Search Repo:
* bootstraptest/runner.rb (assert_normal_exit): hide stderr output
  when success.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17089 
b2dd03c8-39d4-4d8f-98ff-823fe69b080e
akr (author)
Tue Jun 10 20:16:28 -0700 2008
commit  589a9ccc050c8ccee7eace420989070547d8dab6
tree    49e3a74a489c9660799e7bab6a132c0cac37b49a
parent  a25824b7d8fdfb30a24af09e7b31bbaee76986cc
...
 
 
 
 
 
1
2
3
...
1
2
3
4
5
6
7
8
0
@@ -1,3 +1,8 @@
0
+Wed Jun 11 12:15:17 2008 Tanaka Akira <akr@fsij.org>
0
+
0
+ * bootstraptest/runner.rb (assert_normal_exit): hide stderr output
0
+ when success.
0
+
0
 Wed Jun 11 09:26:43 2008 NAKAMURA Usaku <usa@ruby-lang.org>
0
 
0
   * common.mk (encs): need to pass miniruby path for windows.
...
193
194
195
196
197
198
 
 
 
 
 
 
 
 
 
 
 
199
200
201
202
203
204
 
 
 
 
 
 
 
205
206
207
...
193
194
195
 
 
 
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
0
@@ -193,15 +193,30 @@ def assert_normal_exit(testsrc, message = '')
0
   $stderr.puts "\##{@count} #{@location}" if @verbose
0
   faildesc = nil
0
   filename = make_srcfile(testsrc)
0
- `#{@ruby} -W0 #{filename}`
0
- if $?.signaled?
0
- signo = $?.termsig
0
+ old_stderr = $stderr.dup
0
+ begin
0
+ $stderr.reopen("assert_normal_exit_stderr.log", "w")
0
+ `#{@ruby} -W0 #{filename}`
0
+ status = $?
0
+ ensure
0
+ $stderr.reopen(old_stderr)
0
+ old_stderr.close
0
+ end
0
+ if status.signaled?
0
+ signo = status.termsig
0
     signame = Signal.list.invert[signo]
0
     sigdesc = "signal #{signo}"
0
     if signame
0
       sigdesc = "SIG#{signame} (#{sigdesc})"
0
     end
0
     faildesc = pretty(testsrc, "killed by #{sigdesc}", nil)
0
+ stderr_log = File.read("assert_normal_exit_stderr.log")
0
+ if !stderr_log.empty?
0
+ faildesc << "\n" if /\n\z/ !~ faildesc
0
+ stderr_log << "\n" if /\n\z/ !~ stderr_log
0
+ stderr_log.gsub!(/^.*\n/) { '| ' + $& }
0
+ faildesc << stderr_log
0
+ end
0
   end
0
   if !faildesc
0
     $stderr.print '.'

Comments

    No one has commented yet.