benchmark_driver 0.14.15 → 0.14.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/benchmark_driver/runner/ruby_stdout.rb +16 -9
- data/lib/benchmark_driver/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: 85135f24e2f936e148208e4a5af25ca67635521729fc4dc9ee9b212422c101c6
|
4
|
+
data.tar.gz: ac1a8cfd80db996f81fcb4f7e9be7fa7fcc78a4189032008d13304e515ef2ae7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0bacf5b0207c59aa3130c3982e147e0dfce21166466d7afa6cde5b027da58ebcdcab479e6578223c84fe952450ff8c356f402d583150f0cb939b2afdb1ac5cc
|
7
|
+
data.tar.gz: f4c8b9266e1e4f33a69f0130c8407a16017a4846eae7119fe6c404d0422cfcf9035d8ad77d07dc7c2d78185f10bd34aca37883ee70bb07b4c783607477d61f1c
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,8 @@ require 'open3'
|
|
6
6
|
|
7
7
|
# Use stdout of ruby command
|
8
8
|
class BenchmarkDriver::Runner::RubyStdout
|
9
|
+
CommandFailure = Class.new(StandardError)
|
10
|
+
|
9
11
|
# JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"
|
10
12
|
Job = ::BenchmarkDriver::Struct.new(
|
11
13
|
:name, # @param [String] name - This is mandatory for all runner
|
@@ -83,15 +85,20 @@ class BenchmarkDriver::Runner::RubyStdout
|
|
83
85
|
exec = context.executable
|
84
86
|
repeat_params = { config: @config, larger_better: metric.larger_better }
|
85
87
|
result = BenchmarkDriver::Repeater.with_repeat(repeat_params) do
|
86
|
-
|
87
|
-
|
88
|
+
begin
|
89
|
+
stdout = with_chdir(job.working_directory) do
|
90
|
+
with_ruby_prefix(exec) { execute(*exec.command, *job.command) }
|
91
|
+
end
|
92
|
+
script = StdoutToMetrics.new(
|
93
|
+
stdout: stdout,
|
94
|
+
value_from_stdout: job.value_from_stdout,
|
95
|
+
environment_from_stdout: job.environment_from_stdout,
|
96
|
+
)
|
97
|
+
[script.value, script.environment]
|
98
|
+
rescue CommandFailure => e
|
99
|
+
$stderr.puts("\n```\n#{e.message}```\n")
|
100
|
+
[BenchmarkDriver::Result::ERROR, {}]
|
88
101
|
end
|
89
|
-
script = StdoutToMetrics.new(
|
90
|
-
stdout: stdout,
|
91
|
-
value_from_stdout: job.value_from_stdout,
|
92
|
-
environment_from_stdout: job.environment_from_stdout,
|
93
|
-
)
|
94
|
-
[script.value, script.environment]
|
95
102
|
end
|
96
103
|
value, environment = result.value
|
97
104
|
|
@@ -129,7 +136,7 @@ class BenchmarkDriver::Runner::RubyStdout
|
|
129
136
|
def execute(*args)
|
130
137
|
stdout, stderr, status = Open3.capture3(*args)
|
131
138
|
unless status.success?
|
132
|
-
raise "Failed to execute: #{args.shelljoin} (status: #{$?.exitstatus}):\n[stdout]:\n#{stdout}\n[stderr]:\n#{stderr}"
|
139
|
+
raise CommandFailure.new("Failed to execute: #{args.shelljoin} (status: #{$?.exitstatus}):\n\n[stdout]:\n#{stdout}\n[stderr]:\n#{stderr}")
|
133
140
|
end
|
134
141
|
stdout
|
135
142
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: benchmark_driver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takashi Kokubun
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|