Sha256: 7975b09c0de84a83c2c8e8a23c28c1660fa2adc4468f492b07f57832d2cfe901
Contents?: true
Size: 1008 Bytes
Versions: 5
Compression:
Stored size: 1008 Bytes
Contents
# -*- encoding: binary -*- require 'test/unit' require 'raindrops' require 'socket' require 'benchmark' $stderr.sync = $stdout.sync = true class TestLinuxAllTcpListenStatsLeak < Test::Unit::TestCase TEST_ADDR = ENV['UNICORN_TEST_ADDR'] || '127.0.0.1' def rss_kb File.readlines("/proc/#$$/status").grep(/VmRSS:/)[0].split(/\s+/)[1].to_i end def test_leak s = TCPServer.new(TEST_ADDR, 0) start_kb = rss_kb p [ :start_kb, start_kb ] assert_nothing_raised do p(Benchmark.measure { 1000.times { Raindrops::Linux.all_tcp_listener_stats } }) end cur_kb = rss_kb p [ :cur_kb, cur_kb ] now = Time.now.to_i fin = now + 60 assert_nothing_raised do 1000000000.times { |i| if (i % 1024) == 0 now = Time.now.to_i break if now > fin end Raindrops::Linux.all_tcp_listener_stats } end cur_kb = rss_kb p [ :cur_kb, cur_kb ] ensure s.close end end if ENV["STRESS"].to_i != 0
Version data entries
5 entries across 5 versions & 2 rubygems