specinfra 2.2.2 → 2.2.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a57b2d08f95569aeb857d6017f2e156976ba050c
|
4
|
+
data.tar.gz: 30045d3ab0a840cdca3f193c1618e7b179bd669b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdbd20dc2d38ad0d66e7ec84244c79fe7cbf1039bcf55c5eb626fda768916302590bb3dead630f8f87b9c0296f65bc082a361b343952274b32d8e34a9223b7a2
|
7
|
+
data.tar.gz: 513565d427cebdb3573488a371b3e7f43dead08d3a17152567cf3275ea4a19b64aa72b4499332873ae0e21b78e6d01882ff83253decbb25bc7d9009c86636a78
|
@@ -25,6 +25,19 @@ module Specinfra::Backend
|
|
25
25
|
FileUtils.cp(from, to)
|
26
26
|
end
|
27
27
|
|
28
|
+
def build_command(cmd)
|
29
|
+
shell = Specinfra.configuration.shell || '/bin/sh'
|
30
|
+
cmd = cmd.shelljoin if cmd.is_a?(Array)
|
31
|
+
cmd = "#{shell.shellescape} -c #{cmd.shellescape}"
|
32
|
+
|
33
|
+
path = Specinfra.configuration.path
|
34
|
+
if path
|
35
|
+
cmd = %Q{env PATH="#{path}" #{cmd}}
|
36
|
+
end
|
37
|
+
|
38
|
+
cmd
|
39
|
+
end
|
40
|
+
|
28
41
|
private
|
29
42
|
def with_env
|
30
43
|
keys = %w[BUNDLER_EDITOR BUNDLE_BIN_PATH BUNDLE_GEMFILE
|
@@ -50,19 +63,6 @@ module Specinfra::Backend
|
|
50
63
|
end
|
51
64
|
end
|
52
65
|
|
53
|
-
def build_command(cmd)
|
54
|
-
shell = Specinfra.configuration.shell || '/bin/sh'
|
55
|
-
cmd = cmd.shelljoin if cmd.is_a?(Array)
|
56
|
-
cmd = "#{shell.shellescape} -c #{cmd.shellescape}"
|
57
|
-
|
58
|
-
path = Specinfra.configuration.path
|
59
|
-
if path
|
60
|
-
cmd = %Q{env PATH="#{path}" #{cmd}}
|
61
|
-
end
|
62
|
-
|
63
|
-
cmd
|
64
|
-
end
|
65
|
-
|
66
66
|
def add_pre_command(cmd)
|
67
67
|
if Specinfra.configuration.pre_command
|
68
68
|
pre_cmd = build_command(Specinfra.configuration.pre_command)
|
@@ -33,11 +33,6 @@ module Specinfra::Backend
|
|
33
33
|
run_command(Specinfra.command.get(:move_file, tmp, to))
|
34
34
|
end
|
35
35
|
|
36
|
-
private
|
37
|
-
def prompt
|
38
|
-
'Password: '
|
39
|
-
end
|
40
|
-
|
41
36
|
def build_command(cmd)
|
42
37
|
cmd = super(cmd)
|
43
38
|
user = Specinfra.configuration.ssh_options[:user]
|
@@ -48,6 +43,11 @@ module Specinfra::Backend
|
|
48
43
|
cmd
|
49
44
|
end
|
50
45
|
|
46
|
+
private
|
47
|
+
def prompt
|
48
|
+
'Password: '
|
49
|
+
end
|
50
|
+
|
51
51
|
def with_env
|
52
52
|
env = Specinfra.configuration.env || {}
|
53
53
|
env[:LANG] ||= 'C'
|
data/lib/specinfra/version.rb
CHANGED
@@ -4,13 +4,13 @@ describe Specinfra::Backend::Exec do
|
|
4
4
|
describe '#build_command' do
|
5
5
|
context 'with simple command' do
|
6
6
|
it 'should escape spaces' do
|
7
|
-
expect(Specinfra.backend.
|
7
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq '/bin/sh -c test\ -f\ /etc/passwd'
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
11
|
context 'with complex command' do
|
12
12
|
it 'should escape special chars' do
|
13
|
-
expect(Specinfra.backend.
|
13
|
+
expect(Specinfra.backend.build_command('test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)')).to eq '/bin/sh -c test\ \!\ -f\ /etc/selinux/config\ \|\|\ \(getenforce\ \|\ grep\ -i\ --\ disabled\ \&\&\ grep\ -i\ --\ \^SELINUX\=disabled\$\ /etc/selinux/config\)'
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -24,7 +24,7 @@ describe Specinfra::Backend::Exec do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'should use custom shell' do
|
27
|
-
expect(Specinfra.backend.
|
27
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq '/usr/local/bin/tcsh -c test\ -f\ /etc/passwd'
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -38,7 +38,7 @@ describe Specinfra::Backend::Exec do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'should use custom shell' do
|
41
|
-
expect(Specinfra.backend.
|
41
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq '/usr/test\ \&\ spec/bin/sh -c test\ -f\ /etc/passwd'
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -52,7 +52,7 @@ describe Specinfra::Backend::Exec do
|
|
52
52
|
end
|
53
53
|
|
54
54
|
it 'should use custom path' do
|
55
|
-
expect(Specinfra.backend.
|
55
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq 'env PATH="/opt/bin:/opt/foo/bin:$PATH" /bin/sh -c test\ -f\ /etc/passwd'
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
@@ -66,7 +66,7 @@ describe Specinfra::Backend::Exec do
|
|
66
66
|
end
|
67
67
|
|
68
68
|
it 'should use custom path' do
|
69
|
-
expect(Specinfra.backend.
|
69
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq 'env PATH="/opt/bin:/opt/test & spec/bin:$PATH" /bin/sh -c test\ -f\ /etc/passwd'
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
@@ -13,11 +13,11 @@ describe Specinfra::Backend::Ssh do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'should not prepend sudo' do
|
16
|
-
expect(Specinfra.backend.
|
16
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq '/bin/sh -c test\ -f\ /etc/passwd'
|
17
17
|
end
|
18
18
|
|
19
19
|
it 'should escape special characters' do
|
20
|
-
expect(Specinfra.backend.
|
20
|
+
expect(Specinfra.backend.build_command('test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)')).to eq '/bin/sh -c test\ \!\ -f\ /etc/selinux/config\ \|\|\ \(getenforce\ \|\ grep\ -i\ --\ disabled\ \&\&\ grep\ -i\ --\ \^SELINUX\=disabled\$\ /etc/selinux/config\)'
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -30,11 +30,11 @@ describe Specinfra::Backend::Ssh do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'should prepend sudo' do
|
33
|
-
expect(Specinfra.backend.
|
33
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq %q{sudo -p 'Password: ' /bin/sh -c test\ -f\ /etc/passwd}
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'should escape special characters' do
|
37
|
-
expect(Specinfra.backend.
|
37
|
+
expect(Specinfra.backend.build_command('test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)')).to eq %q{sudo -p 'Password: ' /bin/sh -c test\ \!\ -f\ /etc/selinux/config\ \|\|\ \(getenforce\ \|\ grep\ -i\ --\ disabled\ \&\&\ grep\ -i\ --\ \^SELINUX\=disabled\$\ /etc/selinux/config\)}
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -54,11 +54,11 @@ describe Specinfra::Backend::Ssh do
|
|
54
54
|
end
|
55
55
|
|
56
56
|
it 'command pattern 1a' do
|
57
|
-
expect(Specinfra.backend.
|
57
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq %q{/usr/local/bin/sudo -p 'Password: ' /bin/sh -c test\ -f\ /etc/passwd}
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'command pattern 2a' do
|
61
|
-
expect(Specinfra.backend.
|
61
|
+
expect(Specinfra.backend.build_command('test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)')).to eq %q{/usr/local/bin/sudo -p 'Password: ' /bin/sh -c test\ \!\ -f\ /etc/selinux/config\ \|\|\ \(getenforce\ \|\ grep\ -i\ --\ disabled\ \&\&\ grep\ -i\ --\ \^SELINUX\=disabled\$\ /etc/selinux/config\)}
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
@@ -78,16 +78,14 @@ describe Specinfra::Backend::Ssh do
|
|
78
78
|
end
|
79
79
|
|
80
80
|
it 'command pattern 1b' do
|
81
|
-
expect(Specinfra.backend.
|
81
|
+
expect(Specinfra.backend.build_command('test -f /etc/passwd')).to eq '/bin/sh -c test\ -f\ /etc/passwd'
|
82
82
|
end
|
83
83
|
|
84
84
|
it 'command pattern 2b' do
|
85
|
-
expect(Specinfra.backend.
|
85
|
+
expect(Specinfra.backend.build_command('test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)')).to eq '/bin/sh -c test\ \!\ -f\ /etc/selinux/config\ \|\|\ \(getenforce\ \|\ grep\ -i\ --\ disabled\ \&\&\ grep\ -i\ --\ \^SELINUX\=disabled\$\ /etc/selinux/config\)'
|
86
86
|
end
|
87
|
-
|
88
87
|
end
|
89
88
|
|
90
|
-
|
91
89
|
context 'with sudo on alternative path' do
|
92
90
|
before do
|
93
91
|
RSpec.configure do |c|
|
@@ -104,12 +102,12 @@ describe Specinfra::Backend::Ssh do
|
|
104
102
|
end
|
105
103
|
|
106
104
|
context 'command pattern 1a' do
|
107
|
-
subject { Specinfra.backend.
|
105
|
+
subject { Specinfra.backend.build_command('test -f /etc/passwd') }
|
108
106
|
it { should eq %q{sudo -p 'Password: ' /bin/sh -c test\ -f\ /etc/passwd} }
|
109
107
|
end
|
110
108
|
|
111
109
|
context 'command pattern 2a' do
|
112
|
-
subject { Specinfra.backend.
|
110
|
+
subject { Specinfra.backend.build_command('test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)') }
|
113
111
|
it { should eq %q{sudo -p 'Password: ' /bin/sh -c test\ \!\ -f\ /etc/selinux/config\ \|\|\ \(getenforce\ \|\ grep\ -i\ --\ disabled\ \&\&\ grep\ -i\ --\ \^SELINUX\=disabled\$\ /etc/selinux/config\)} }
|
114
112
|
end
|
115
113
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|