Skip to content

Commit c2d818e

Browse files
p-mongop
andauthored
RUBY-2132 cleanup stress test (#1943)
Co-authored-by: Oleg Pudeyev <oleg@bsdpower.com>
1 parent d065a24 commit c2d818e

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

spec/stress/cleanup_spec.rb

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
require 'spec_helper'
2+
3+
describe 'Cleanup stress test' do
4+
require_stress
5+
6+
let(:options) do
7+
SpecConfig.instance.all_test_options
8+
end
9+
10+
before(:all) do
11+
# load if necessary
12+
ClusterConfig.instance.primary_address
13+
ClientRegistry.instance.close_all_clients
14+
end
15+
16+
context 'single client disconnect/reconnect' do
17+
let(:client) do
18+
new_local_client([ClusterConfig.instance.primary_address.seed], options)
19+
end
20+
21+
it 'cleans up' do
22+
client
23+
24+
start_resources = resources
25+
26+
100.times do
27+
client.close
28+
client.reconnect
29+
end
30+
31+
end_resources = resources
32+
33+
end_resources.should == start_resources
34+
end
35+
end
36+
37+
def resources
38+
{
39+
open_file_count: Dir["/proc/#{Process.pid}/fd/*"].count,
40+
running_thread_count: Thread.list.select { |thread| thread.status == 'run' }.count,
41+
}
42+
end
43+
end

0 commit comments

Comments
 (0)