specinfra 2.36.15 → 2.36.16
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.
- checksums.yaml +4 -4
- data/lib/specinfra/backend/exec.rb +5 -57
- data/lib/specinfra/version.rb +1 -1
- data/specinfra.gemspec +0 -1
- metadata +1 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 31f0678bd739fd583fa966de880fbaa598e472dc
|
4
|
+
data.tar.gz: 1320a5fa3d67768f37014a5543b19170b3fa5edb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 369339a197697ee26e44a5bba33329a88c95aa4889f9d7f818b510bf54ed14687314fbcf003d27f60475de5ecaf5b3277acc325fb14cd437706a12a5c1404860
|
7
|
+
data.tar.gz: 4f74f36d6b8cb24e53d02a045f9fee4b411a9b91c15db355709ccd7b644a9f9318265b26e4fa09058a85dd51b383e8252d3c870f70ef822b3a2fa57d9668b992
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'singleton'
|
2
2
|
require 'fileutils'
|
3
3
|
require 'shellwords'
|
4
|
-
require 'sfl'
|
5
4
|
|
6
5
|
module Specinfra
|
7
6
|
module Backend
|
@@ -9,16 +8,18 @@ module Specinfra
|
|
9
8
|
def run_command(cmd, opts={})
|
10
9
|
cmd = build_command(cmd)
|
11
10
|
cmd = add_pre_command(cmd)
|
12
|
-
stdout
|
13
|
-
|
11
|
+
stdout = with_env do
|
12
|
+
`#{cmd} 2>&1`
|
14
13
|
end
|
14
|
+
# In ruby 1.9, it is possible to use Open3.capture3, but not in 1.8
|
15
|
+
# stdout, stderr, status = Open3.capture3(cmd)
|
15
16
|
|
16
17
|
if @example
|
17
18
|
@example.metadata[:command] = cmd
|
18
19
|
@example.metadata[:stdout] = stdout
|
19
20
|
end
|
20
21
|
|
21
|
-
CommandResult.new :stdout => stdout, :
|
22
|
+
CommandResult.new :stdout => stdout, :exit_status => $?.exitstatus
|
22
23
|
end
|
23
24
|
|
24
25
|
def send_file(from, to)
|
@@ -43,59 +44,6 @@ module Specinfra
|
|
43
44
|
end
|
44
45
|
|
45
46
|
private
|
46
|
-
def spawn_command(cmd)
|
47
|
-
stdout, stderr = '', ''
|
48
|
-
|
49
|
-
begin
|
50
|
-
quit_r, quit_w = IO.pipe
|
51
|
-
out_r, out_w = IO.pipe
|
52
|
-
err_r, err_w = IO.pipe
|
53
|
-
|
54
|
-
th = Thread.new do
|
55
|
-
begin
|
56
|
-
loop do
|
57
|
-
readable_ios, = IO.select([quit_r, out_r, err_r])
|
58
|
-
|
59
|
-
if readable_ios.include?(out_r)
|
60
|
-
stdout += out_r.read_nonblock(1000)
|
61
|
-
end
|
62
|
-
|
63
|
-
if readable_ios.include?(err_r)
|
64
|
-
stderr += err_r.read_nonblock(1000)
|
65
|
-
end
|
66
|
-
|
67
|
-
if readable_ios.include?(quit_r)
|
68
|
-
break
|
69
|
-
end
|
70
|
-
end
|
71
|
-
rescue EOFError
|
72
|
-
ensure
|
73
|
-
quit_r.close unless quit_r.closed?
|
74
|
-
out_r.close unless out_r.closed?
|
75
|
-
err_r.close unless err_r.closed?
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
th.abort_on_exception = true
|
80
|
-
|
81
|
-
pid = spawn(cmd, :out => out_w, :err => err_w)
|
82
|
-
|
83
|
-
out_w.close
|
84
|
-
err_w.close
|
85
|
-
|
86
|
-
pid, stats = Process.waitpid2(pid)
|
87
|
-
|
88
|
-
begin
|
89
|
-
quit_w.syswrite 1
|
90
|
-
rescue Errno::EPIPE
|
91
|
-
end
|
92
|
-
ensure
|
93
|
-
quit_w.close unless quit_w.closed?
|
94
|
-
end
|
95
|
-
|
96
|
-
return stdout, stderr, stats.exitstatus
|
97
|
-
end
|
98
|
-
|
99
47
|
def with_env
|
100
48
|
keys = %w[BUNDLER_EDITOR BUNDLE_BIN_PATH BUNDLE_GEMFILE
|
101
49
|
RUBYOPT GEM_HOME GEM_PATH GEM_CACHE]
|
data/lib/specinfra/version.rb
CHANGED
data/specinfra.gemspec
CHANGED
@@ -22,7 +22,6 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_runtime_dependency "net-scp"
|
23
23
|
spec.add_runtime_dependency "net-ssh"
|
24
24
|
spec.add_runtime_dependency "net-telnet"
|
25
|
-
spec.add_runtime_dependency "sfl"
|
26
25
|
|
27
26
|
spec.add_development_dependency "bundler", "~> 1.3"
|
28
27
|
spec.add_development_dependency "rake", "~> 10.1.1"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.36.
|
4
|
+
version: 2.36.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: sfl
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: bundler
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|