train-core 3.4.8 → 3.4.9
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/train/transports/local.rb +25 -7
- data/lib/train/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6272024b67e2dac1df86499e4687dc44d5df58b328146d52cb864433d7c6e6a7
|
4
|
+
data.tar.gz: a4133877056cc7feed58ac9dab964ecfc435d28cc30a09d6dd104577a8a30374
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53bcc25af9bade96ee63aa1f0940927cb4e4183220737269bb4882c800df94c1bf6cb924abf5cb6b354b18ae000b6fba3d7a35787a3764d9402cd63f7b90bdd2
|
7
|
+
data.tar.gz: 775d8a24be41a87f8427f3850b829b1acbc78d2a9ef8e299e1e4c9f9dbd352838d7bd9ef906723832171d0f822a10dac39827ab8a1b92c7ebec220bf37e337dd
|
@@ -31,6 +31,10 @@ module Train::Transports
|
|
31
31
|
nil # none, open your shell
|
32
32
|
end
|
33
33
|
|
34
|
+
def close
|
35
|
+
@runner.close
|
36
|
+
end
|
37
|
+
|
34
38
|
def uri
|
35
39
|
"local://"
|
36
40
|
end
|
@@ -108,6 +112,10 @@ module Train::Transports
|
|
108
112
|
res.run_command
|
109
113
|
Local::CommandResult.new(res.stdout, res.stderr, res.exitstatus)
|
110
114
|
end
|
115
|
+
|
116
|
+
def close
|
117
|
+
# nothing to do at the moment
|
118
|
+
end
|
111
119
|
end
|
112
120
|
|
113
121
|
class WindowsShellRunner
|
@@ -132,6 +140,10 @@ module Train::Transports
|
|
132
140
|
res.run_command
|
133
141
|
Local::CommandResult.new(res.stdout, res.stderr, res.exitstatus)
|
134
142
|
end
|
143
|
+
|
144
|
+
def close
|
145
|
+
# nothing to do at the moment
|
146
|
+
end
|
135
147
|
end
|
136
148
|
|
137
149
|
class WindowsPipeRunner
|
@@ -141,6 +153,7 @@ module Train::Transports
|
|
141
153
|
|
142
154
|
def initialize(powershell_cmd = "powershell")
|
143
155
|
@powershell_cmd = powershell_cmd
|
156
|
+
@server_pid = nil
|
144
157
|
@pipe = acquire_pipe
|
145
158
|
raise PipeError if @pipe.nil?
|
146
159
|
end
|
@@ -160,12 +173,21 @@ module Train::Transports
|
|
160
173
|
Local::CommandResult.new(res.stdout, res.stderr, res.exitstatus)
|
161
174
|
end
|
162
175
|
|
176
|
+
def close
|
177
|
+
Process.kill("KILL", @server_pid) unless @server_pid.nil?
|
178
|
+
@server_pid = nil
|
179
|
+
end
|
180
|
+
|
163
181
|
private
|
164
182
|
|
165
183
|
def acquire_pipe
|
184
|
+
require "win32/process"
|
166
185
|
pipe_name = "inspec_#{SecureRandom.hex}"
|
167
186
|
|
168
|
-
start_pipe_server(pipe_name)
|
187
|
+
@server_pid = start_pipe_server(pipe_name)
|
188
|
+
|
189
|
+
# Ensure process is killed when the Train process exits
|
190
|
+
at_exit { close }
|
169
191
|
|
170
192
|
pipe = nil
|
171
193
|
|
@@ -227,13 +249,9 @@ module Train::Transports
|
|
227
249
|
utf8_script = script.encode("UTF-16LE", "UTF-8")
|
228
250
|
base64_script = Base64.strict_encode64(utf8_script)
|
229
251
|
cmd = "#{@powershell_cmd} -NoProfile -ExecutionPolicy bypass -NonInteractive -EncodedCommand #{base64_script}"
|
230
|
-
|
231
|
-
server_pid = Process.create(command_line: cmd).process_id
|
232
|
-
|
233
|
-
# Ensure process is killed when the Train process exits
|
234
|
-
at_exit { Process.kill("KILL", server_pid) }
|
252
|
+
Process.create(command_line: cmd).process_id
|
235
253
|
end
|
236
254
|
end
|
237
255
|
end
|
238
256
|
end
|
239
|
-
end
|
257
|
+
end
|
data/lib/train/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: train-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef InSpec Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|