benchmark_driver 0.14.15 → 0.14.16
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 +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
|