command_exec 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/Gemfile +6 -2
  2. data/Gemfile.lock +42 -18
  3. data/README.md +707 -72
  4. data/RELEASE_NOTES.md +62 -0
  5. data/Rakefile +40 -9
  6. data/TODO.md +8 -2
  7. data/command_exec.gemspec +3 -2
  8. data/gemfiles/Gemfile.default +28 -0
  9. data/gemfiles/Gemfile.travis +16 -0
  10. data/gemfiles/Gemfile.travis.lock +48 -0
  11. data/lib/command_exec.rb +22 -2
  12. data/lib/command_exec/command.rb +307 -157
  13. data/lib/command_exec/exceptions.rb +16 -6
  14. data/lib/command_exec/field_helper.rb +263 -0
  15. data/lib/command_exec/formatter/array.rb +158 -0
  16. data/lib/command_exec/formatter/hash.rb +78 -0
  17. data/lib/command_exec/formatter/json.rb +22 -0
  18. data/lib/command_exec/formatter/string.rb +22 -0
  19. data/lib/command_exec/formatter/xml.rb +22 -0
  20. data/lib/command_exec/formatter/yaml.rb +22 -0
  21. data/lib/command_exec/logger.rb +9 -0
  22. data/lib/command_exec/process.rb +294 -0
  23. data/lib/command_exec/spec_helper_module.rb +52 -0
  24. data/lib/command_exec/version.rb +1 -1
  25. data/script/console +8 -0
  26. data/spec/command/command_spec.rb +413 -117
  27. data/spec/command/test_data/echo_test +3 -0
  28. data/spec/command/test_data/exit_status_test +2 -0
  29. data/spec/command/test_data/log_file_test +3 -0
  30. data/spec/command/test_data/logger_test +2 -0
  31. data/spec/command/test_data/not_raise_error_test +4 -0
  32. data/spec/command/test_data/not_throw_error_test +4 -0
  33. data/spec/command/test_data/output_test +6 -0
  34. data/spec/command/test_data/raise_error_test +6 -0
  35. data/spec/command/test_data/runner_open3_test +4 -0
  36. data/spec/command/test_data/runner_system_test +4 -0
  37. data/spec/command/test_data/stderr_test +4 -0
  38. data/spec/command/test_data/stdout_multiple_lines_test +4 -0
  39. data/spec/command/test_data/stdout_test +4 -0
  40. data/spec/command/test_data/throw_error_test +6 -0
  41. data/spec/command/test_data/true_test +2 -0
  42. data/spec/formatter/array_spec.rb +215 -0
  43. data/spec/formatter/hash_spec.rb +117 -0
  44. data/spec/formatter/json_spec.rb +21 -0
  45. data/spec/formatter/xml_spec.rb +33 -0
  46. data/spec/formatter/yaml_spec.rb +21 -0
  47. data/spec/process/process_spec.rb +329 -0
  48. data/spec/spec_helper.rb +15 -4
  49. metadata +79 -5
@@ -0,0 +1,33 @@
1
+ #encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Formatter::XML do
6
+ before :each do
7
+ @formatter = Formatter::XML.new
8
+ end
9
+
10
+ it "outputs data as XML string" do
11
+ @formatter.stderr(["output of stderr"])
12
+ @formatter.stdout("output of stdout")
13
+ @formatter.log_file("output of log file")
14
+ @formatter.return_code("output of return code")
15
+ @formatter.pid(4711)
16
+ @formatter.status(:failed)
17
+ @formatter.executable('/usr/bin/true')
18
+
19
+ expect(@formatter.output(:stdout,:stderr)).to eq("<command>\n <stdout>output of stdout</stdout>\n <stderr>output of stderr</stderr>\n</command>\n")
20
+ end
21
+
22
+ it "outputs data as XML string (attributes with multiple values)" do
23
+ @formatter.stderr(["output of stderr 1/2", "output of stderr 2/2"])
24
+ @formatter.stdout("output of stdout")
25
+ @formatter.log_file("output of log file")
26
+ @formatter.return_code("output of return code")
27
+ @formatter.pid(4711)
28
+ @formatter.status(:failed)
29
+ @formatter.executable('/usr/bin/true')
30
+
31
+ expect(@formatter.output(:stdout,:stderr)).to eq("<command>\n <stdout>output of stdout</stdout>\n <stderr>output of stderr 1/2</stderr>\n <stderr>output of stderr 2/2</stderr>\n</command>\n")
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ #encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Formatter::YAML do
6
+ before :each do
7
+ @formatter = Formatter::YAML.new
8
+ end
9
+
10
+ it "outputs data as yaml string" do
11
+ @formatter.stderr(["output of stderr"])
12
+ @formatter.stdout("output of stdout")
13
+ @formatter.log_file("output of log file")
14
+ @formatter.return_code("output of return code")
15
+ @formatter.pid(4711)
16
+ @formatter.status(:failed)
17
+ @formatter.executable('/usr/bin/true')
18
+
19
+ expect(@formatter.output(:stdout,:stderr)).to eq("---\n:stdout:\n- output of stdout\n:stderr:\n- output of stderr\n")
20
+ end
21
+ end
@@ -0,0 +1,329 @@
1
+ #encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe CommandExec::Process do
6
+
7
+ let(:dev_null) { StringIO.new }
8
+
9
+ context :private_api do; end
10
+
11
+ context :public_api do
12
+
13
+ it "has a executable" do
14
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
15
+ process.executable = '/bin/sh'
16
+ expect(process.executable).to eq('/bin/sh')
17
+ end
18
+
19
+ it "opens a log file" do
20
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
21
+ tmp_file = create_temp_file_with('process.log' , 'this is content' )
22
+ process.log_file = tmp_file
23
+
24
+ expect(process.log_file).to eq(['this is content'])
25
+ end
26
+
27
+ it "accepts nil as filename" do
28
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
29
+ process.log_file = nil
30
+
31
+ expect(process.log_file).to eq([])
32
+ end
33
+
34
+ it 'accepts a start time' do
35
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
36
+ time = Time.now
37
+ process.start_time = time
38
+
39
+ expect(process.start_time).to eq(time)
40
+ end
41
+
42
+ it 'accepts an end time' do
43
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
44
+ time = Time.now
45
+ process.end_time = time
46
+
47
+ expect(process.end_time).to eq(time)
48
+ end
49
+
50
+ it 'calculates the run time' do
51
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
52
+ time = Time.now
53
+ process.start_time = time
54
+ process.end_time = time + 2.seconds
55
+
56
+ expect(process.run_time).to eq(2.seconds)
57
+ end
58
+
59
+ it "goes on with a warning, if log file doesn't exists" do
60
+ file = '/tmp/test1234.txt'
61
+ bucket = StringIO.new
62
+ process = CommandExec::Process.new(lib_logger: Logger.new(bucket))
63
+ tmp_file = create_temp_file_with('process.log' , 'this is content' )
64
+ process.log_file = file
65
+ process.log_file
66
+
67
+ expect(bucket.string[file]).to_not eq(nil)
68
+ end
69
+
70
+ it "takes stdout" do
71
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
72
+ process.stdout = 'content'
73
+ expect(process.stdout).to eq(['content'])
74
+
75
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
76
+ process.stdout = ['content']
77
+ expect(process.stdout).to eq(['content'])
78
+ end
79
+
80
+ it "takes stderr" do
81
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
82
+ process.stderr = 'content'
83
+ expect(process.stderr).to eq(['content'])
84
+
85
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
86
+ process.stderr = ['content']
87
+ expect(process.stderr).to eq(['content'])
88
+ end
89
+
90
+ it "takes a pid" do
91
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
92
+ process.pid = 4711
93
+ expect(process.pid).to eq("4711")
94
+
95
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
96
+ process.pid = "4711"
97
+ expect(process.pid).to eq("4711")
98
+ end
99
+
100
+ it "takes a status" do
101
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
102
+ process.status = :failed
103
+ expect(process.status).to eq(:failed)
104
+
105
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
106
+ process.status = :success
107
+ expect(process.status).to eq(:success)
108
+
109
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
110
+ process.status = :unknown
111
+ expect(process.status).to eq(:failed)
112
+ end
113
+
114
+ it "takes a reason for a failure" do
115
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
116
+ process.reason_for_failure = 'this is an error msg'
117
+ expect(process.reason_for_failure).to eq(['this is an error msg'])
118
+ end
119
+
120
+ it "takes a return code" do
121
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
122
+ process.return_code = 1
123
+ expect(process.return_code).to eq(1)
124
+ end
125
+
126
+ it "returns an array" do
127
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
128
+
129
+ process.stderr = "output of stderr"
130
+ process.stdout = "output of stdout"
131
+ process.log_file = create_temp_file_with('process.log' , 'output of log file' )
132
+ process.return_code = "output of return code"
133
+ process.status = :failed
134
+ process.pid = 4711
135
+ process.reason_for_failure = 'great an error occured'
136
+ process.executable = '/bin/true'
137
+
138
+ start_time = Time.now
139
+ end_time= start_time + 2.seconds
140
+ process.start_time = start_time
141
+ process.end_time = end_time
142
+
143
+ expect(process.to_a).to eq([
144
+ "===== STATUS =====",
145
+ "\e[1;31mFAILED\e[0m",
146
+ "===== RETURN CODE =====",
147
+ "output of return code",
148
+ "===== STDERR =====",
149
+ "output of stderr",
150
+ "===== STDOUT =====",
151
+ "output of stdout",
152
+ "===== LOG FILE =====",
153
+ "output of log file",
154
+ "===== PID =====",
155
+ "4711",
156
+ "===== REASON FOR FAILURE =====",
157
+ "great an error occured",
158
+ "===== EXECUTABLE =====",
159
+ "/bin/true",
160
+ "===== START TIME =====",
161
+ start_time,
162
+ "===== END TIME =====",
163
+ end_time,
164
+ ])
165
+
166
+ expect(process.to_a(:status)).to eq([
167
+ "===== STATUS =====",
168
+ "\e[1;31mFAILED\e[0m",
169
+ ])
170
+
171
+ end
172
+
173
+ it "returns a hash" do
174
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
175
+
176
+ process.stderr = "output of stderr"
177
+ process.stdout = "output of stdout"
178
+ process.log_file = create_temp_file_with('process.log' , 'output of log file' )
179
+ process.return_code = "output of return code"
180
+ process.status = :failed
181
+ process.pid = 4711
182
+ process.reason_for_failure = 'great an error occured'
183
+ process.executable = '/usr/bin/true'
184
+
185
+ start_time = Time.now
186
+ end_time= start_time + 2.seconds
187
+ process.start_time = start_time
188
+ process.end_time = end_time
189
+
190
+ expect(process.to_h).to eq({
191
+ stderr: ["output of stderr"],
192
+ stdout: ["output of stdout"],
193
+ log_file: ["output of log file"],
194
+ return_code: ["output of return code"],
195
+ status: ['FAILED'],
196
+ pid: ['4711'],
197
+ reason_for_failure: ['great an error occured'],
198
+ executable: ['/usr/bin/true'],
199
+ start_time: [ start_time ],
200
+ end_time: [ end_time],
201
+ })
202
+ end
203
+
204
+ it 'returns a string version of process' do
205
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
206
+
207
+ process.stderr = "output of stderr"
208
+ process.stdout = "output of stdout"
209
+ process.log_file = create_temp_file_with('process.log' , 'output of log file' )
210
+ process.return_code = "output of return code"
211
+ process.status = :failed
212
+ process.pid = 4711
213
+ process.reason_for_failure = 'great an error occured'
214
+ process.executable = '/usr/bin/true'
215
+
216
+ start_time = Time.now
217
+ end_time= start_time + 2.seconds
218
+ process.start_time = start_time
219
+ process.end_time = end_time
220
+
221
+ expect(process.to_s).to eq([
222
+ "===== STATUS =====",
223
+ "\e[1;31mFAILED\e[0m",
224
+ "===== RETURN CODE =====",
225
+ "output of return code",
226
+ "===== STDERR =====",
227
+ "output of stderr",
228
+ "===== STDOUT =====",
229
+ "output of stdout",
230
+ "===== LOG FILE =====",
231
+ "output of log file",
232
+ "===== PID =====",
233
+ "4711",
234
+ "===== REASON FOR FAILURE =====",
235
+ "great an error occured",
236
+ "===== EXECUTABLE =====",
237
+ "/usr/bin/true",
238
+ "===== START TIME =====",
239
+ start_time,
240
+ "===== END TIME =====",
241
+ end_time,
242
+ ].join("\n")
243
+ )
244
+ end
245
+
246
+ it 'returns a json encoded string' do
247
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
248
+
249
+ process.stderr = "output of stderr"
250
+ process.stdout = "output of stdout"
251
+ process.log_file = create_temp_file_with('process.log' , 'output of log file' )
252
+ process.return_code = "output of return code"
253
+ process.status = :failed
254
+ process.pid = 4711
255
+ process.reason_for_failure = 'great an error occured'
256
+ process.executable = '/usr/bin/true'
257
+
258
+ start_time = Time.now
259
+ end_time= start_time + 2.seconds
260
+ process.start_time = start_time
261
+ process.end_time = end_time
262
+
263
+ expect(process.to_json).to eq("{\"status\":[\"FAILED\"],\"return_code\":[\"output of return code\"],\"stderr\":[\"output of stderr\"],\"stdout\":[\"output of stdout\"],\"log_file\":[\"output of log file\"],\"pid\":[\"4711\"],\"reason_for_failure\":[\"great an error occured\"],\"executable\":[\"/usr/bin/true\"],\"start_time\":[\"#{start_time}\"],\"end_time\":[\"#{end_time}\"]}")
264
+ end
265
+
266
+ it 'returns a json encoded string and supports unicode as well' do
267
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
268
+
269
+ process.stderr = "this is an 'ä'"
270
+ process.stdout = "output of stdout"
271
+ process.log_file = create_temp_file_with('process.log' , 'output of log file' )
272
+ process.return_code = "output of return code"
273
+ process.status = :failed
274
+ process.pid = 4711
275
+ process.reason_for_failure = 'great an error occured'
276
+ process.executable = '/usr/bin/true'
277
+
278
+ start_time = Time.now
279
+ end_time= start_time + 2.seconds
280
+ process.start_time = start_time
281
+ process.end_time = end_time
282
+
283
+ expect(process.to_json).to eq("{\"status\":[\"FAILED\"],\"return_code\":[\"output of return code\"],\"stderr\":[\"this is an 'ä'\"],\"stdout\":[\"output of stdout\"],\"log_file\":[\"output of log file\"],\"pid\":[\"4711\"],\"reason_for_failure\":[\"great an error occured\"],\"executable\":[\"/usr/bin/true\"],\"start_time\":[\"#{start_time}\"],\"end_time\":[\"#{end_time}\"]}")
284
+ end
285
+
286
+ it 'returns a yaml encoded string' do
287
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
288
+
289
+ process.stderr = "output of stderr"
290
+ process.stdout = "output of stdout"
291
+ process.log_file = create_temp_file_with('process.log' , 'output of log file' )
292
+ process.return_code = "output of return code"
293
+ process.status = :failed
294
+ process.pid = 4711
295
+ process.reason_for_failure = 'great an error occured'
296
+ process.executable = '/usr/bin/true'
297
+
298
+ start_time = Time.now
299
+ end_time= start_time + 2.seconds
300
+ process.start_time = start_time
301
+ process.end_time = end_time
302
+
303
+ time_format_string = "%Y-%m-%d %H:%M:%S.%9N %:z"
304
+
305
+ expect(process.to_yaml).to eq("---\n:status:\n- FAILED\n:return_code:\n- output of return code\n:stderr:\n- output of stderr\n:stdout:\n- output of stdout\n:log_file:\n- output of log file\n:pid:\n- '4711'\n:reason_for_failure:\n- great an error occured\n:executable:\n- /usr/bin/true\n:start_time:\n- #{start_time.strftime(time_format_string)}\n:end_time:\n- #{end_time.strftime(time_format_string)}\n")
306
+ end
307
+
308
+ it 'returns a xml encoded string' do
309
+ process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
310
+
311
+ process.stderr = "output of stderr"
312
+ process.stdout = "output of stdout"
313
+ process.log_file = create_temp_file_with('process.log' , 'output of log file' )
314
+ process.return_code = "output of return code"
315
+ process.status = :failed
316
+ process.pid = 4711
317
+ process.reason_for_failure = 'great an error occured'
318
+ process.executable = '/usr/bin/true'
319
+
320
+ start_time = Time.now
321
+ end_time= start_time + 2.seconds
322
+ process.start_time = start_time
323
+ process.end_time = end_time
324
+
325
+ expect(process.to_xml).to eq("<command>\n <status>FAILED</status>\n <return_code>output of return code</return_code>\n <stderr>output of stderr</stderr>\n <stdout>output of stdout</stdout>\n <log_file>output of log file</log_file>\n <pid>4711</pid>\n <reason_for_failure>great an error occured</reason_for_failure>\n <executable>/usr/bin/true</executable>\n <start_time>#{start_time}</start_time>\n <end_time>#{end_time}</end_time>\n</command>\n")
326
+ end
327
+
328
+ end
329
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,21 +1,32 @@
1
1
  #encoding: utf-8
2
+
2
3
  $LOAD_PATH << File.expand_path('../lib' , File.dirname(__FILE__))
3
4
 
4
- require 'pry'
5
- require 'stringio'
5
+ unless ENV['TRAVIS_CI'] == 'true'
6
+ require 'pry'
7
+ require 'debugger'
8
+ require 'ap'
9
+ end
6
10
 
11
+ require 'stringio'
7
12
  require 'tempfile'
8
13
 
9
- require 'simplecov'
10
- SimpleCov.start
14
+ unless ENV['TRAVIS_CI'] == 'true'
15
+ require 'simplecov'
16
+ SimpleCov.start
17
+ end
11
18
 
12
19
  require 'command_exec'
13
20
  require 'command_exec/spec_helper_module'
21
+ require 'active_support/core_ext/numeric/time'
14
22
 
15
23
  include CommandExec
16
24
  include CommandExec::Exceptions
17
25
 
18
26
  RSpec.configure do |c|
19
27
  c.include CommandExec::SpecHelper
28
+ c.treat_symbols_as_metadata_keys_with_true_values = true
29
+ c.filter_run_including :focus => true
20
30
  end
21
31
 
32
+ #ENV['PATH'] = '/bin'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: command_exec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,10 +9,10 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-23 00:00:00.000000000 Z
12
+ date: 2012-11-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: POpen4
15
+ name: smart_colored
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
@@ -28,7 +28,23 @@ dependencies:
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
- name: colored
31
+ name: activesupport
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: xml-simple
32
48
  requirement: !ruby/object:Gem::Requirement
33
49
  none: false
34
50
  requirements:
@@ -51,21 +67,58 @@ extensions: []
51
67
  extra_rdoc_files: []
52
68
  files:
53
69
  - .gitignore
70
+ - .travis.yml
71
+ - .yardopts
54
72
  - Gemfile
55
73
  - Gemfile.lock
56
74
  - Guardfile
57
75
  - LICENSE.md
58
76
  - README.md
77
+ - RELEASE_NOTES.md
59
78
  - Rakefile
60
79
  - TODO.md
61
80
  - command_exec.gemspec
81
+ - gemfiles/Gemfile.default
82
+ - gemfiles/Gemfile.travis
83
+ - gemfiles/Gemfile.travis.lock
62
84
  - lib/command_exec.rb
63
85
  - lib/command_exec/command.rb
64
86
  - lib/command_exec/exceptions.rb
87
+ - lib/command_exec/field_helper.rb
88
+ - lib/command_exec/formatter/array.rb
89
+ - lib/command_exec/formatter/hash.rb
90
+ - lib/command_exec/formatter/json.rb
91
+ - lib/command_exec/formatter/string.rb
92
+ - lib/command_exec/formatter/xml.rb
93
+ - lib/command_exec/formatter/yaml.rb
94
+ - lib/command_exec/logger.rb
95
+ - lib/command_exec/process.rb
65
96
  - lib/command_exec/spec_helper_module.rb
66
97
  - lib/command_exec/version.rb
98
+ - script/console
67
99
  - script/terminal
68
100
  - spec/command/command_spec.rb
101
+ - spec/command/test_data/echo_test
102
+ - spec/command/test_data/exit_status_test
103
+ - spec/command/test_data/log_file_test
104
+ - spec/command/test_data/logger_test
105
+ - spec/command/test_data/not_raise_error_test
106
+ - spec/command/test_data/not_throw_error_test
107
+ - spec/command/test_data/output_test
108
+ - spec/command/test_data/raise_error_test
109
+ - spec/command/test_data/runner_open3_test
110
+ - spec/command/test_data/runner_system_test
111
+ - spec/command/test_data/stderr_test
112
+ - spec/command/test_data/stdout_multiple_lines_test
113
+ - spec/command/test_data/stdout_test
114
+ - spec/command/test_data/throw_error_test
115
+ - spec/command/test_data/true_test
116
+ - spec/formatter/array_spec.rb
117
+ - spec/formatter/hash_spec.rb
118
+ - spec/formatter/json_spec.rb
119
+ - spec/formatter/xml_spec.rb
120
+ - spec/formatter/yaml_spec.rb
121
+ - spec/process/process_spec.rb
69
122
  - spec/spec_helper.rb
70
123
  homepage: ''
71
124
  licenses: []
@@ -87,11 +140,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
140
  version: '0'
88
141
  requirements: []
89
142
  rubyforge_project:
90
- rubygems_version: 1.8.24
143
+ rubygems_version: 1.8.23
91
144
  signing_key:
92
145
  specification_version: 3
93
146
  summary: Helper gem to exectue arbitrary shell commands
94
147
  test_files:
95
148
  - spec/command/command_spec.rb
149
+ - spec/command/test_data/echo_test
150
+ - spec/command/test_data/exit_status_test
151
+ - spec/command/test_data/log_file_test
152
+ - spec/command/test_data/logger_test
153
+ - spec/command/test_data/not_raise_error_test
154
+ - spec/command/test_data/not_throw_error_test
155
+ - spec/command/test_data/output_test
156
+ - spec/command/test_data/raise_error_test
157
+ - spec/command/test_data/runner_open3_test
158
+ - spec/command/test_data/runner_system_test
159
+ - spec/command/test_data/stderr_test
160
+ - spec/command/test_data/stdout_multiple_lines_test
161
+ - spec/command/test_data/stdout_test
162
+ - spec/command/test_data/throw_error_test
163
+ - spec/command/test_data/true_test
164
+ - spec/formatter/array_spec.rb
165
+ - spec/formatter/hash_spec.rb
166
+ - spec/formatter/json_spec.rb
167
+ - spec/formatter/xml_spec.rb
168
+ - spec/formatter/yaml_spec.rb
169
+ - spec/process/process_spec.rb
96
170
  - spec/spec_helper.rb
97
171
  has_rdoc: