paraduct 1.0.0.beta1 → 1.0.0.beta2

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 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