paraduct 1.0.0.beta2 → 1.0.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/CHANGELOG.md +0 -4
- data/README.md +1 -1
- data/lib/paraduct/runner.rb +21 -24
- data/lib/paraduct/version.rb +1 -1
- data/paraduct.gemspec +5 -2
- data/spec/paraduct/cli_spec.rb +1 -1
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44b857ff3d62610894f7bb2c251302415642bc22
|
4
|
+
data.tar.gz: 4744fbe562d1a5ae56eca1ea85e46897e62ff682
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc130e6be4ce56c7c1f0ae4ccda80790e88631fdd4d9c8f6c20e31ca6f27fe845749c8872d9190fb4faee843cdc9e96714de971d08651c4f927c8d1833551527
|
7
|
+
data.tar.gz: e6a4990163c8a9e79c28cd1ee1836a4fbd41c331f8b5512e391842839fe553372d8abf1904bad80a4bc5f94636d6f3a2b4e051baae076bfb8b9c9161a640eabe
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -5,10 +5,6 @@
|
|
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
8
|
* some refactorings
|
13
9
|
* https://github.com/sue445/paraduct/pull/79
|
14
10
|
* https://github.com/sue445/paraduct/pull/80
|
data/README.md
CHANGED
data/lib/paraduct/runner.rb
CHANGED
@@ -1,21 +1,18 @@
|
|
1
1
|
module Paraduct
|
2
2
|
require "pty"
|
3
|
-
require 'specinfra/core'
|
4
3
|
|
5
4
|
class Runner
|
6
5
|
attr_reader :script, :params, :base_job_dir
|
7
6
|
|
8
|
-
# @param
|
9
|
-
# @
|
10
|
-
# @
|
11
|
-
# @
|
12
|
-
def initialize(
|
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
|
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]
|
19
16
|
end
|
20
17
|
|
21
18
|
def setup_dir
|
@@ -62,20 +59,20 @@ module Paraduct
|
|
62
59
|
private
|
63
60
|
|
64
61
|
def run_command(command)
|
65
|
-
command_result = @backend.run_command(command)
|
66
|
-
|
67
62
|
full_stdout = ""
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
63
|
+
|
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?
|
77
75
|
end
|
78
|
-
raise Paraduct::Errors::ProcessError.new(full_stdout, command_result.exit_status) if command_result.failure?
|
79
76
|
|
80
77
|
full_stdout
|
81
78
|
end
|
data/lib/paraduct/version.rb
CHANGED
data/paraduct.gemspec
CHANGED
@@ -17,12 +17,10 @@ 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"
|
21
20
|
|
22
21
|
spec.add_dependency "activesupport", "~> 4.0"
|
23
22
|
spec.add_dependency "colorize"
|
24
23
|
spec.add_dependency "rsync"
|
25
|
-
spec.add_dependency "specinfra"
|
26
24
|
spec.add_dependency "thor"
|
27
25
|
spec.add_dependency "thread"
|
28
26
|
|
@@ -38,4 +36,9 @@ Gem::Specification.new do |spec|
|
|
38
36
|
spec.add_development_dependency "rspec-retry"
|
39
37
|
spec.add_development_dependency "rspec-temp_dir"
|
40
38
|
spec.add_development_dependency "yard"
|
39
|
+
|
40
|
+
if RUBY_VERSION.to_i >= 2
|
41
|
+
# NOTE: pry-byebug doesn't support ruby 1.9
|
42
|
+
spec.add_development_dependency "pry-byebug"
|
43
|
+
end
|
41
44
|
end
|
data/spec/paraduct/cli_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paraduct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sue445
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: specinfra
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: thor
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -262,6 +248,20 @@ dependencies:
|
|
262
248
|
- - ">="
|
263
249
|
- !ruby/object:Gem::Version
|
264
250
|
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: pry-byebug
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
265
|
description: Paraduct(parallel + parameterize + product) is matrix test runner
|
266
266
|
email:
|
267
267
|
- sue445@sue445.net
|
@@ -329,7 +329,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
329
329
|
requirements:
|
330
330
|
- - ">="
|
331
331
|
- !ruby/object:Gem::Version
|
332
|
-
version:
|
332
|
+
version: '0'
|
333
333
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
334
334
|
requirements:
|
335
335
|
- - ">"
|