summaryrefslogtreecommitdiff
path: root/bootstraptest
diff options
context:
space:
mode:
Diffstat (limited to 'bootstraptest')
-rwxr-xr-xbootstraptest/runner.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb
index eef8a20d19..c885b7e98c 100755
--- a/bootstraptest/runner.rb
+++ b/bootstraptest/runner.rb
@@ -223,8 +223,9 @@ end
def assert_check(testsrc, message = '', opt = '')
show_progress(message) {
- result = get_result_string(testsrc, opt)
+ result, errout = with_stderr {get_result_string(testsrc, opt)}
check_coredump
+ error "stderr output is not empty\n", adjust_indent(errout) unless errout.empty?
yield(result)
}
end
@@ -396,6 +397,23 @@ def get_result_string(src, opt = '')
end
end
+def with_stderr
+ out = err = nil
+ IO.pipe do |r, w|
+ stderr = $stderr.dup
+ $stderr.reopen(w)
+ w.close
+ reader = Thread.start {r.read}
+ begin
+ out = yield
+ ensure
+ $stderr.reopen(stderr)
+ err = reader.value
+ end
+ end
+ return out, err
+end
+
def newtest
@location = File.basename(caller(2).first)
@count += 1