paraduct 1.0.0.beta1 → 1.0.0.beta2

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: a9e503239ff974eb782d8661d709310c4f64dd8d
4
- data.tar.gz: 51adc18eca955569631ebe3f0ae34300de855fb2
3
+ metadata.gz: 7b356ec4fc1ad384a7b94c7bd2b154f333623896
4
+ data.tar.gz: 2cf58a48ce0c7fb0fd73b156d28b2b241dffc0b8
5
5
  SHA512:
6
- metadata.gz: cd356d9697d2b13fb8d7a3410d43edfd880bc71385e920d077bd01fb36427ad9bc4e7638ed4ff85fd697930672be97aa359ff0380b6d0770f3d657ee6da01fdc
7
- data.tar.gz: 22ff95122ec9bc3dfe6b2771e3311a4bca5118caf165c6d9e83bf3955dbd8ec308d4f3828c2813eb9b7da3650a5697ae2fefa6160a2baffe0e542cbdc095e1c8
6
+ metadata.gz: 85f5c6e65e5173ca899f65a2bdc7db0dc6af6b665b4adc536db906dec3e951e23b8217545a161654ab2da0eb5e054d114139e0006e964241a2b8844a9d74a182
7
+ data.tar.gz: 40ce010692cf0e3a889afde1362d3f027712404070bbe58e2990ef46b9e6774263fcdf18f446e00158e57481b24dff03fa646213490aa0f9f3556aedc70d1026
data/.travis.yml CHANGED
@@ -1,6 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9
4
3
  - 2.0
5
4
  - 2.1
6
5
  - 2.2
data/CHANGELOG.md CHANGED
@@ -5,12 +5,22 @@
5
5
  * https://github.com/sue445/paraduct/pull/77
6
6
  * Run under current directory when work_dir is empty
7
7
  * https://github.com/sue445/paraduct/pull/78
8
+ * Stop support ruby 1.9
9
+ * https://github.com/sue445/paraduct/pull/82
10
+ * Use specinfra insteadof PTY.spawn
11
+ * https://github.com/sue445/paraduct/pull/81
12
+ * some refactorings
13
+ * https://github.com/sue445/paraduct/pull/79
14
+ * https://github.com/sue445/paraduct/pull/80
8
15
 
9
16
  ## v0.0.3
10
17
  [full changelog](http://github.com/sue445/paraduct/compare/v0.0.2...v0.0.3)
11
18
 
12
19
  * relax exclude definition
13
20
  * https://github.com/sue445/paraduct/pull/74
21
+ * some refactorings
22
+ * https://github.com/sue445/paraduct/pull/73
23
+ * https://github.com/sue445/paraduct/pull/76
14
24
 
15
25
  ## v0.0.2
16
26
  [full changelog](http://github.com/sue445/paraduct/compare/v0.0.1...v0.0.2)
data/README.md CHANGED
@@ -13,7 +13,7 @@ Paraduct (**parallel** + **parameterize** + **product**) is matrix test runner
13
13
  ![architecture](img/architecture.png)
14
14
 
15
15
  ## Requirements
16
- * ruby 1.9+
16
+ * ruby 2.0+
17
17
  * rsync
18
18
 
19
19
  ## Installation
@@ -1,18 +1,21 @@
1
1
  module Paraduct
2
2
  require "pty"
3
+ require 'specinfra/core'
3
4
 
4
5
  class Runner
5
6
  attr_reader :script, :params, :base_job_dir
6
7
 
7
- # @param args
8
- # @option args :script [String, Array<String>] script file, script(s)
9
- # @option args :params [Hash{String => String}] key is capitalized and value is quoted (ex. foo=1 => FOO="1" )
10
- # @option args :base_job_dir [String]
11
- def initialize(args={})
12
- @script = args[:script]
13
- @params = args[:params]
14
- @base_job_dir = args[:base_job_dir]
15
- @job_id = args[:job_id]
8
+ # @param script [String, Array<String>] script file, script(s)
9
+ # @param params [Hash{String => String}] value is quoted (ex. FOO=1 => FOO="1" )
10
+ # @param base_job_dir [String]
11
+ # @param job_id [String]
12
+ def initialize(script: nil, params: nil, base_job_dir: nil, job_id: nil)
13
+ @script = script
14
+ @params = params
15
+ @base_job_dir = base_job_dir
16
+ @job_id = job_id
17
+
18
+ @backend = Specinfra::Backend::Exec.new
16
19
  end
17
20
 
18
21
  def setup_dir
@@ -59,20 +62,20 @@ module Paraduct
59
62
  private
60
63
 
61
64
  def run_command(command)
62
- full_stdout = ""
65
+ command_result = @backend.run_command(command)
63
66
 
64
- PTY.spawn(command) do |stdin, _stdout, pid|
65
- begin
66
- stdin.each do |line|
67
- line.strip!
68
- logger.info line
69
- full_stdout << "#{line}\n"
70
- end
71
- rescue Errno::EIO
72
- end
73
- exit_status = PTY.check(pid)
74
- raise Paraduct::Errors::ProcessError.new(full_stdout, exit_status) if exit_status && !exit_status.success?
67
+ full_stdout = ""
68
+ command_result.stdout.each_line do |line|
69
+ line = line.strip
70
+ logger.info line
71
+ full_stdout << "#{line}\n"
72
+ end
73
+ command_result.stderr.each_line do |line|
74
+ line = line.strip
75
+ logger.info line
76
+ full_stdout << "#{line}\n"
75
77
  end
78
+ raise Paraduct::Errors::ProcessError.new(full_stdout, command_result.exit_status) if command_result.failure?
76
79
 
77
80
  full_stdout
78
81
  end
@@ -1,3 +1,3 @@
1
1
  module Paraduct
2
- VERSION = "1.0.0.beta1"
2
+ VERSION = "1.0.0.beta2"
3
3
  end
data/paraduct.gemspec CHANGED
@@ -17,22 +17,22 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
+ spec.required_ruby_version = ">= 2.0.0"
20
21
 
21
- spec.add_dependency "activesupport", ">= 4.0.0"
22
- spec.add_dependency "colorize" , "~> 0.7.3"
23
- spec.add_dependency "rsync" , "~> 1.0.9"
24
- spec.add_dependency "thor" , "~> 0.19.1"
25
- spec.add_dependency "thread" , "~> 0.1.4"
22
+ spec.add_dependency "activesupport", "~> 4.0"
23
+ spec.add_dependency "colorize"
24
+ spec.add_dependency "rsync"
25
+ spec.add_dependency "specinfra"
26
+ spec.add_dependency "thor"
27
+ spec.add_dependency "thread"
26
28
 
27
29
  spec.add_development_dependency "bundler", ">= 1.5"
28
30
  spec.add_development_dependency "codeclimate-test-reporter"
29
31
  spec.add_development_dependency "coveralls"
30
32
  spec.add_development_dependency "pry"
31
- spec.add_development_dependency "pry-nav"
32
- spec.add_development_dependency "pry-remote"
33
33
  spec.add_development_dependency "rake", "~> 10.0"
34
34
  spec.add_development_dependency "redcarpet"
35
- spec.add_development_dependency "rspec", "~> 3.1.0"
35
+ spec.add_development_dependency "rspec", "~> 3.4"
36
36
  spec.add_development_dependency "rspec-collection_matchers"
37
37
  spec.add_development_dependency "rspec-its"
38
38
  spec.add_development_dependency "rspec-retry"
@@ -65,7 +65,7 @@ describe Paraduct::CLI do
65
65
  }
66
66
  end
67
67
 
68
- it "should raise TestFailureError", with_retry do
68
+ it "should raise TestFailureError" do
69
69
  expect { subject }.to raise_error Paraduct::Errors::TestFailureError
70
70
  end
71
71
  end
data/spec/spec_helper.rb CHANGED
@@ -3,10 +3,11 @@ if ENV["COVERAGE"]
3
3
  require 'coveralls'
4
4
  require 'codeclimate-test-reporter'
5
5
 
6
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
7
- CodeClimate::TestReporter::Formatter,
8
- Coveralls::SimpleCov::Formatter
9
- ]
6
+ SimpleCov.formatter =
7
+ SimpleCov::Formatter::MultiFormatter.new([
8
+ CodeClimate::TestReporter::Formatter,
9
+ Coveralls::SimpleCov::Formatter
10
+ ])
10
11
  SimpleCov.start do
11
12
  %w(/bin/ /vendor/ /spec/).each do |ignore_path|
12
13
  add_filter(ignore_path)
@@ -8,8 +8,8 @@ shared_context :stub_configuration do
8
8
  script: %q(echo "NAME1=${NAME1}, NAME2=${NAME2}"),
9
9
  work_dir: "tmp/paraduct_workspace",
10
10
  variables: {
11
- name1: ["value1a", "value1b"],
12
- name2: ["value2a", "value2b"],
11
+ "NAME1" => ["value1a", "value1b"],
12
+ "NAME2" => ["value2a", "value2b"],
13
13
  },
14
14
  }
15
15
  end
metadata CHANGED
@@ -1,107 +1,93 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paraduct
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta1
4
+ version: 1.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-20 00:00:00.000000000 Z
11
+ date: 2016-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 4.0.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 4.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: colorize
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 0.7.3
19
+ version: '4.0'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 0.7.3
26
+ version: '4.0'
41
27
  - !ruby/object:Gem::Dependency
42
- name: rsync
28
+ name: colorize
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - "~>"
31
+ - - ">="
46
32
  - !ruby/object:Gem::Version
47
- version: 1.0.9
33
+ version: '0'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - "~>"
38
+ - - ">="
53
39
  - !ruby/object:Gem::Version
54
- version: 1.0.9
40
+ version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: thor
42
+ name: rsync
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - "~>"
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: 0.19.1
47
+ version: '0'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - "~>"
52
+ - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: 0.19.1
54
+ version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: thread
56
+ name: specinfra
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - "~>"
59
+ - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: 0.1.4
61
+ version: '0'
76
62
  type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - "~>"
66
+ - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: 0.1.4
68
+ version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: bundler
70
+ name: thor
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: '1.5'
90
- type: :development
75
+ version: '0'
76
+ type: :runtime
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: '1.5'
82
+ version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: codeclimate-test-reporter
84
+ name: thread
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
102
88
  - !ruby/object:Gem::Version
103
89
  version: '0'
104
- type: :development
90
+ type: :runtime
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
@@ -109,21 +95,21 @@ dependencies:
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
- name: coveralls
98
+ name: bundler
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
116
102
  - !ruby/object:Gem::Version
117
- version: '0'
103
+ version: '1.5'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - ">="
123
109
  - !ruby/object:Gem::Version
124
- version: '0'
110
+ version: '1.5'
125
111
  - !ruby/object:Gem::Dependency
126
- name: pry
112
+ name: codeclimate-test-reporter
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - ">="
@@ -137,7 +123,7 @@ dependencies:
137
123
  - !ruby/object:Gem::Version
138
124
  version: '0'
139
125
  - !ruby/object:Gem::Dependency
140
- name: pry-nav
126
+ name: coveralls
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - ">="
@@ -151,7 +137,7 @@ dependencies:
151
137
  - !ruby/object:Gem::Version
152
138
  version: '0'
153
139
  - !ruby/object:Gem::Dependency
154
- name: pry-remote
140
+ name: pry
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - ">="
@@ -198,14 +184,14 @@ dependencies:
198
184
  requirements:
199
185
  - - "~>"
200
186
  - !ruby/object:Gem::Version
201
- version: 3.1.0
187
+ version: '3.4'
202
188
  type: :development
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
192
  - - "~>"
207
193
  - !ruby/object:Gem::Version
208
- version: 3.1.0
194
+ version: '3.4'
209
195
  - !ruby/object:Gem::Dependency
210
196
  name: rspec-collection_matchers
211
197
  requirement: !ruby/object:Gem::Requirement
@@ -286,7 +272,6 @@ extra_rdoc_files: []
286
272
  files:
287
273
  - ".coveralls.yml"
288
274
  - ".gitignore"
289
- - ".hound.yml"
290
275
  - ".rspec"
291
276
  - ".tachikoma.yml"
292
277
  - ".travis.yml"
@@ -312,7 +297,6 @@ files:
312
297
  - lib/paraduct/variable_converter.rb
313
298
  - lib/paraduct/version.rb
314
299
  - paraduct.gemspec
315
- - spec/.hound.yml
316
300
  - spec/.paraduct.yml
317
301
  - spec/.paraduct_rsync_exclude.txt
318
302
  - spec/paraduct/cli_spec.rb
@@ -345,7 +329,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
345
329
  requirements:
346
330
  - - ">="
347
331
  - !ruby/object:Gem::Version
348
- version: '0'
332
+ version: 2.0.0
349
333
  required_rubygems_version: !ruby/object:Gem::Requirement
350
334
  requirements:
351
335
  - - ">"
@@ -358,7 +342,6 @@ signing_key:
358
342
  specification_version: 4
359
343
  summary: matrix test runner
360
344
  test_files:
361
- - spec/.hound.yml
362
345
  - spec/.paraduct.yml
363
346
  - spec/.paraduct_rsync_exclude.txt
364
347
  - spec/paraduct/cli_spec.rb
data/.hound.yml DELETED
@@ -1,25 +0,0 @@
1
- Style/LineLength:
2
- Description: 'Limit lines to 130 characters.'
3
- Max: 130
4
- Style/SpaceInsideParens:
5
- Enabled: false
6
- Style/SpaceBeforeBlockBraces:
7
- Enabled: false
8
- StringLiterals:
9
- Enabled: false
10
- Style/TrailingComma:
11
- Enabled: false
12
- Style/BlockComments:
13
- Enabled: false
14
- Style/NilComparison:
15
- Enabled: false
16
- Style/Documentation:
17
- Enabled: false
18
- Style/RegexpLiteral:
19
- Enabled: false
20
- Style/SignalException:
21
- Enabled: false
22
- Style/CaseEquality:
23
- Enabled: false
24
- Style/SpaceBeforeComma:
25
- Enabled: false
data/spec/.hound.yml DELETED
@@ -1,5 +0,0 @@
1
- inherit_from:
2
- - ../.hound.yml
3
-
4
- Style/Blocks:
5
- Enabled: false