Show thread and fiber limits as part of bootstrap tests.
This commit is contained in:
parent
3fd83cb6fc
commit
69195fd9b2
@ -208,6 +208,9 @@ def exec_test(pathes)
|
|||||||
$stderr.puts unless @quiet and @tty and @error == error
|
$stderr.puts unless @quiet and @tty and @error == error
|
||||||
end
|
end
|
||||||
$stderr.print(erase) if @quiet
|
$stderr.print(erase) if @quiet
|
||||||
|
@errbuf.each do |msg|
|
||||||
|
$stderr.puts msg
|
||||||
|
end
|
||||||
if @error == 0
|
if @error == 0
|
||||||
if @count == 0
|
if @count == 0
|
||||||
$stderr.puts "No tests, no problem"
|
$stderr.puts "No tests, no problem"
|
||||||
@ -216,9 +219,6 @@ def exec_test(pathes)
|
|||||||
end
|
end
|
||||||
exit true
|
exit true
|
||||||
else
|
else
|
||||||
@errbuf.each do |msg|
|
|
||||||
$stderr.puts msg
|
|
||||||
end
|
|
||||||
$stderr.puts "#{@failed}FAIL#{@reset} #{@error}/#{@count} tests failed"
|
$stderr.puts "#{@failed}FAIL#{@reset} #{@error}/#{@count} tests failed"
|
||||||
exit false
|
exit false
|
||||||
end
|
end
|
||||||
@ -244,7 +244,7 @@ def show_progress(message = '')
|
|||||||
else
|
else
|
||||||
$stderr.print "#{@failed}F"
|
$stderr.print "#{@failed}F"
|
||||||
$stderr.printf(" %.3f", t) if @verbose
|
$stderr.printf(" %.3f", t) if @verbose
|
||||||
$stderr.print "#{@reset}"
|
$stderr.print @reset
|
||||||
$stderr.puts if @verbose
|
$stderr.puts if @verbose
|
||||||
error faildesc, message
|
error faildesc, message
|
||||||
unless errout.empty?
|
unless errout.empty?
|
||||||
@ -263,6 +263,19 @@ rescue Exception => err
|
|||||||
error err.message, message
|
error err.message, message
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def show_limit(testsrc, opt = '', **argh)
|
||||||
|
result = get_result_string(testsrc, opt, **argh)
|
||||||
|
$stderr.print '.'
|
||||||
|
$stderr.print @reset
|
||||||
|
$stderr.puts if @verbose
|
||||||
|
|
||||||
|
if @tty
|
||||||
|
$stderr.puts "#{erase}#{result}"
|
||||||
|
else
|
||||||
|
@errbuf.push result
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def assert_check(testsrc, message = '', opt = '', **argh)
|
def assert_check(testsrc, message = '', opt = '', **argh)
|
||||||
show_progress(message) {
|
show_progress(message) {
|
||||||
result = get_result_string(testsrc, opt, **argh)
|
result = get_result_string(testsrc, opt, **argh)
|
||||||
|
@ -1,5 +1,27 @@
|
|||||||
# Thread and Fiber
|
show_limit %q{
|
||||||
|
threads = []
|
||||||
|
begin
|
||||||
|
threads << Thread.new{sleep}
|
||||||
|
|
||||||
|
raise Exception, "skipping" if threads.count >= 10_000
|
||||||
|
rescue Exception => error
|
||||||
|
puts "Thread count: #{threads.count} (#{error})"
|
||||||
|
break
|
||||||
|
end while true
|
||||||
|
}
|
||||||
|
show_limit %q{
|
||||||
|
fibers = []
|
||||||
|
begin
|
||||||
|
fiber = Fiber.new{Fiber.yield}
|
||||||
|
fiber.resume
|
||||||
|
fibers << fiber
|
||||||
|
|
||||||
|
raise Exception, "skipping" if fibers.count >= 10_000
|
||||||
|
rescue Exception => error
|
||||||
|
puts "Fiber count: #{fibers.count} (#{error})"
|
||||||
|
break
|
||||||
|
end while true
|
||||||
|
}
|
||||||
assert_equal %q{ok}, %q{
|
assert_equal %q{ok}, %q{
|
||||||
Thread.new{
|
Thread.new{
|
||||||
}.join
|
}.join
|
||||||
|
Loading…
x
Reference in New Issue
Block a user