net-ssh-multi 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/CHANGES.txt +6 -0
- data/Rakefile +1 -1
- data/lib/net/ssh/multi/server.rb +3 -2
- data/lib/net/ssh/multi/session.rb +10 -1
- data/lib/net/ssh/multi/version.rb +1 -1
- data/net-ssh-multi.gemspec +6 -6
- data/test/channel_test.rb +2 -2
- data/test/common.rb +9 -2
- data/test/multi_test.rb +2 -2
- data/test/server_test.rb +7 -7
- data/test/session_actions_test.rb +2 -2
- data/test/session_test.rb +2 -2
- metadata +4 -4
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGES.txt
CHANGED
data/Rakefile
CHANGED
data/lib/net/ssh/multi/server.rb
CHANGED
@@ -140,8 +140,9 @@ module Net; module SSH; module Multi
|
|
140
140
|
|
141
141
|
# Returns +true+ if the session has been opened, and the session is currently
|
142
142
|
# busy (as defined by Net::SSH::Connection::Session#busy?).
|
143
|
+
# Also returns false if the server has failed to connect.
|
143
144
|
def busy?(include_invisible=false)
|
144
|
-
session && session.busy?(include_invisible)
|
145
|
+
!failed? && session && session.busy?(include_invisible)
|
145
146
|
end
|
146
147
|
|
147
148
|
# Closes this server's session. If the session has not yet been opened,
|
@@ -228,4 +229,4 @@ module Net; module SSH; module Multi
|
|
228
229
|
session.postprocess(listeners & readers, listeners & writers)
|
229
230
|
end
|
230
231
|
end
|
231
|
-
end; end; end
|
232
|
+
end; end; end
|
@@ -476,7 +476,12 @@ module Net; module SSH; module Multi
|
|
476
476
|
return connection
|
477
477
|
end
|
478
478
|
|
479
|
-
|
479
|
+
# Only increment the open_connections count if the connection
|
480
|
+
# is not being forced. Incase of a force, it will already be
|
481
|
+
# incremented.
|
482
|
+
if !force
|
483
|
+
@open_connections += 1
|
484
|
+
end
|
480
485
|
end
|
481
486
|
|
482
487
|
begin
|
@@ -542,6 +547,10 @@ module Net; module SSH; module Multi
|
|
542
547
|
count = concurrent_connections ? (concurrent_connections - open_connections) : @pending_sessions.length
|
543
548
|
count.times do
|
544
549
|
session = @pending_sessions.pop or break
|
550
|
+
# Increment the open_connections count here to prevent
|
551
|
+
# creation of connection thread again before that is
|
552
|
+
# incremented by the thread.
|
553
|
+
@session_mutex.synchronize { @open_connections += 1 }
|
545
554
|
@connect_threads << Thread.new do
|
546
555
|
session.replace_with(next_session(session.server, true))
|
547
556
|
end
|
data/net-ssh-multi.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "net-ssh-multi"
|
8
|
-
s.version = "1.2.
|
8
|
+
s.version = "1.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jamis Buck", "Delano Mandelbaum"]
|
12
12
|
s.cert_chain = ["gem-public_cert.pem"]
|
13
|
-
s.date = "
|
13
|
+
s.date = "2015-04-11"
|
14
14
|
s.description = "Control multiple Net::SSH connections via a single interface."
|
15
15
|
s.email = "net-ssh@solutious.com"
|
16
16
|
s.extra_rdoc_files = [
|
@@ -47,7 +47,7 @@ Gem::Specification.new do |s|
|
|
47
47
|
s.licenses = ["MIT"]
|
48
48
|
s.require_paths = ["lib"]
|
49
49
|
s.rubyforge_project = "net-ssh-multi"
|
50
|
-
s.rubygems_version = "1.8.
|
50
|
+
s.rubygems_version = "1.8.23"
|
51
51
|
s.signing_key = "/mnt/gem/gem-private_key.pem"
|
52
52
|
s.summary = "Control multiple Net::SSH connections via a single interface."
|
53
53
|
|
@@ -57,18 +57,18 @@ Gem::Specification.new do |s|
|
|
57
57
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
58
58
|
s.add_runtime_dependency(%q<net-ssh>, [">= 2.6.5"])
|
59
59
|
s.add_runtime_dependency(%q<net-ssh-gateway>, [">= 1.2.0"])
|
60
|
-
s.add_development_dependency(%q<
|
60
|
+
s.add_development_dependency(%q<minitest>, [">= 0"])
|
61
61
|
s.add_development_dependency(%q<mocha>, [">= 0"])
|
62
62
|
else
|
63
63
|
s.add_dependency(%q<net-ssh>, [">= 2.6.5"])
|
64
64
|
s.add_dependency(%q<net-ssh-gateway>, [">= 1.2.0"])
|
65
|
-
s.add_dependency(%q<
|
65
|
+
s.add_dependency(%q<minitest>, [">= 0"])
|
66
66
|
s.add_dependency(%q<mocha>, [">= 0"])
|
67
67
|
end
|
68
68
|
else
|
69
69
|
s.add_dependency(%q<net-ssh>, [">= 2.6.5"])
|
70
70
|
s.add_dependency(%q<net-ssh-gateway>, [">= 1.2.0"])
|
71
|
-
s.add_dependency(%q<
|
71
|
+
s.add_dependency(%q<minitest>, [">= 0"])
|
72
72
|
s.add_dependency(%q<mocha>, [">= 0"])
|
73
73
|
end
|
74
74
|
end
|
data/test/channel_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'common'
|
2
2
|
require 'net/ssh/multi/channel'
|
3
3
|
|
4
|
-
class ChannelTest < Test
|
4
|
+
class ChannelTest < Minitest::Test
|
5
5
|
def test_each_should_iterate_over_each_component_channel
|
6
6
|
channels = [c1 = mock('channel'), c2 = mock('channel'), c3 = mock('channel')]
|
7
7
|
channel = Net::SSH::Multi::Channel.new(mock('session'), channels)
|
@@ -149,4 +149,4 @@ class ChannelTest < Test::Unit::TestCase
|
|
149
149
|
end
|
150
150
|
end
|
151
151
|
end
|
152
|
-
end
|
152
|
+
end
|
data/test/common.rb
CHANGED
@@ -1,2 +1,9 @@
|
|
1
|
-
require '
|
2
|
-
require 'mocha'
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'mocha/setup'
|
3
|
+
|
4
|
+
if Minitest.const_defined?('Test')
|
5
|
+
# We're on Minitest 5+. Nothing to do here.
|
6
|
+
else
|
7
|
+
# Minitest 4 doesn't have Minitest::Test yet.
|
8
|
+
Minitest::Test = MiniTest::Unit::TestCase
|
9
|
+
end
|
data/test/multi_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'common'
|
2
2
|
require 'net/ssh/multi'
|
3
3
|
|
4
|
-
class MultiTest < Test
|
4
|
+
class MultiTest < Minitest::Test
|
5
5
|
def test_start_with_block_should_yield_session_and_then_close
|
6
6
|
Net::SSH::Multi::Session.any_instance.expects(:loop)
|
7
7
|
Net::SSH::Multi::Session.any_instance.expects(:close)
|
@@ -17,4 +17,4 @@ class MultiTest < Test::Unit::TestCase
|
|
17
17
|
Net::SSH::Multi::Session.any_instance.expects(:close).never
|
18
18
|
assert_instance_of Net::SSH::Multi::Session, Net::SSH::Multi.start
|
19
19
|
end
|
20
|
-
end
|
20
|
+
end
|
data/test/server_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'common'
|
2
2
|
require 'net/ssh/multi/server'
|
3
3
|
|
4
|
-
class ServerTest < Test
|
4
|
+
class ServerTest < Minitest::Test
|
5
5
|
def setup
|
6
6
|
@master = stub('multi-session', :default_user => "bob")
|
7
7
|
end
|
@@ -50,7 +50,7 @@ class ServerTest < Test::Unit::TestCase
|
|
50
50
|
s1 = server('user@host1:1234')
|
51
51
|
s2 = server('user@host2:1234')
|
52
52
|
assert !s1.eql?(s2)
|
53
|
-
|
53
|
+
refute_equal s1.hash, s2.hash
|
54
54
|
assert s1 != s2
|
55
55
|
end
|
56
56
|
|
@@ -58,7 +58,7 @@ class ServerTest < Test::Unit::TestCase
|
|
58
58
|
s1 = server('user@host:1234')
|
59
59
|
s2 = server('user@host:1235')
|
60
60
|
assert !s1.eql?(s2)
|
61
|
-
|
61
|
+
refute_equal s1.hash, s2.hash
|
62
62
|
assert s1 != s2
|
63
63
|
end
|
64
64
|
|
@@ -66,7 +66,7 @@ class ServerTest < Test::Unit::TestCase
|
|
66
66
|
s1 = server('user1@host:1234')
|
67
67
|
s2 = server('user2@host:1234')
|
68
68
|
assert !s1.eql?(s2)
|
69
|
-
|
69
|
+
refute_equal s1.hash, s2.hash
|
70
70
|
assert s1 != s2
|
71
71
|
end
|
72
72
|
|
@@ -112,7 +112,7 @@ class ServerTest < Test::Unit::TestCase
|
|
112
112
|
end
|
113
113
|
|
114
114
|
def test_close_channels_when_session_is_not_open_should_not_do_anything
|
115
|
-
|
115
|
+
server('host').close_channels
|
116
116
|
end
|
117
117
|
|
118
118
|
def test_close_channels_when_session_is_open_should_iterate_over_open_channels_and_close_them
|
@@ -127,7 +127,7 @@ class ServerTest < Test::Unit::TestCase
|
|
127
127
|
end
|
128
128
|
|
129
129
|
def test_close_when_session_is_not_open_should_not_do_anything
|
130
|
-
|
130
|
+
server('host').close
|
131
131
|
end
|
132
132
|
|
133
133
|
def test_close_when_session_is_open_should_close_session
|
@@ -253,4 +253,4 @@ class ServerTest < Test::Unit::TestCase
|
|
253
253
|
@master.expects(:next_session).with(server).returns(session)
|
254
254
|
return session
|
255
255
|
end
|
256
|
-
end
|
256
|
+
end
|
@@ -2,7 +2,7 @@ require 'common'
|
|
2
2
|
require 'net/ssh/multi/server'
|
3
3
|
require 'net/ssh/multi/session_actions'
|
4
4
|
|
5
|
-
class SessionActionsTest < Test
|
5
|
+
class SessionActionsTest < Minitest::Test
|
6
6
|
class SessionActionsContainer
|
7
7
|
include Net::SSH::Multi::SessionActions
|
8
8
|
|
@@ -125,4 +125,4 @@ class SessionActionsTest < Test::Unit::TestCase
|
|
125
125
|
assert_equal 127, c[:exit_status]
|
126
126
|
end
|
127
127
|
|
128
|
-
end
|
128
|
+
end
|
data/test/session_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'common'
|
2
2
|
require 'net/ssh/multi/session'
|
3
3
|
|
4
|
-
class SessionTest < Test
|
4
|
+
class SessionTest < Minitest::Test
|
5
5
|
def setup
|
6
6
|
@session = Net::SSH::Multi::Session.new
|
7
7
|
end
|
@@ -198,4 +198,4 @@ class SessionTest < Test::Unit::TestCase
|
|
198
198
|
IO.expects(:select).with([:a, :b, :c], [:a, :c], nil, 5).returns([[:b, :c], [:a, :c]])
|
199
199
|
@session.process(5)
|
200
200
|
end
|
201
|
-
end
|
201
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-ssh-multi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -38,7 +38,7 @@ cert_chain:
|
|
38
38
|
MVhNUThCTTJKejBYb1BhblBlMzU0K2xXd2pwa1JLYkZvdy9aYlFIY0NMQ3Ey
|
39
39
|
NCtONmI2ZwpkZ0tmTkR6d2lEcHFDQT09Ci0tLS0tRU5EIENFUlRJRklDQVRF
|
40
40
|
LS0tLS0K
|
41
|
-
date:
|
41
|
+
date: 2015-04-11 00:00:00.000000000 Z
|
42
42
|
dependencies:
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: net-ssh
|
@@ -73,7 +73,7 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 1.2.0
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
76
|
+
name: minitest
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
none: false
|
79
79
|
requirements:
|
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
157
|
version: '0'
|
158
158
|
requirements: []
|
159
159
|
rubyforge_project: net-ssh-multi
|
160
|
-
rubygems_version: 1.8.
|
160
|
+
rubygems_version: 1.8.23
|
161
161
|
signing_key:
|
162
162
|
specification_version: 3
|
163
163
|
summary: Control multiple Net::SSH connections via a single interface.
|
metadata.gz.sig
CHANGED
Binary file
|