benchmark_driver 0.10.15 → 0.10.16

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
  SHA256:
3
- metadata.gz: 0e301eeeaf85744b19b38ae2ecff69ff32bc0002d28d08cd99bcb58193a3f54d
4
- data.tar.gz: 5f045cff2a9c0f66ee206e0855de207f8a181b2fce87da3e139663f0d45db5af
3
+ metadata.gz: 6082e75d0eda1a86f600c95730d10b0dfd1c50ce0015e3620109a975a302ac70
4
+ data.tar.gz: a864a92790907f9ce4f04187f064d42d99dbb8e0c84a5daf4373da910ef9addf
5
5
  SHA512:
6
- metadata.gz: b8af5a176ef54d49de2ce29bbeebfe7b9cd4cf47bf7d01ef2ad10706754685a28b6f6b7484d21037e7de3fc251c975cc22a9c41ca2b3c69da4ec29cff71e7414
7
- data.tar.gz: ae3c1bfda72c49f2a81b20dcd08ac80a3de4e48e8af757c8f6d01d5c901e97e73768e5e7c9918d03579fec80205d9b7d1be0800acb6a58eb42d86900f147a781
6
+ metadata.gz: c5cafbd01fdb7192915ac1372f173aadd62f2d19da708d2d224e1cc3044d763cb15b57037dd19efa90bbc3c85c669daa0b9a2f15ea697182888f8c2d255f8238
7
+ data.tar.gz: 8108b55f9a9de835e5e42237c9cdf661ebcdb2b54ef41ce58ae02c5df8312248fed6aa76e9bc874704fe8befe2093a17a96aae712e09fb73a5d92c09717163d0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # v0.10.16
2
+
3
+ - `command_stdout` runner uses YAML's dirname as `working_directory` by default
4
+
1
5
  # v0.10.15
2
6
 
3
7
  - Make `Benchmark.driver` take `repeat_count:` keyword argument
data/README.md CHANGED
@@ -300,7 +300,7 @@ Comparison:
300
300
  ### memory
301
301
 
302
302
  ```
303
- $ be exe/benchmark-driver examples/yaml/blank_loop.yml --runner memory --rbenv '2.4.3;2.5.0'
303
+ $ benchmark-driver examples/yaml/blank_loop.yml --runner memory --rbenv '2.4.3;2.5.0'
304
304
  Calculating -------------------------------------
305
305
  2.4.3 2.5.0
306
306
  empty 9.192M 9.364M bytes - 20.000M times
data/exe/benchmark-driver CHANGED
@@ -87,7 +87,8 @@ jobs = config.paths.flat_map do |path|
87
87
  job = { 'type' => config.runner_type }.merge!(job)
88
88
 
89
89
  begin
90
- BenchmarkDriver::JobParser.parse(job)
90
+ # `working_directory` is YAML-specific special parameter, mainly for "command_stdout"
91
+ BenchmarkDriver::JobParser.parse(job, default_params: { working_directory: File.dirname(path) })
91
92
  rescue ArgumentError
92
93
  $stderr.puts "benchmark-driver: Failed to parse #{path.dump}."
93
94
  $stderr.puts ' YAML format may be wrong. See error below:'
@@ -3,7 +3,8 @@ require 'benchmark_driver/runner'
3
3
  module BenchmarkDriver
4
4
  class << JobParser = Module.new
5
5
  # @param [Hash] config
6
- def parse(config)
6
+ # @param [Hash] default_params - Special default values not written in job definition
7
+ def parse(config, default_params: {})
7
8
  config = symbolize_keys(config)
8
9
  type = config.fetch(:type)
9
10
  if !type.is_a?(String)
@@ -14,7 +15,13 @@ module BenchmarkDriver
14
15
  config.delete(:type)
15
16
 
16
17
  # Dynamic dispatch for plugin support
17
- ::BenchmarkDriver.const_get("Runner::#{camelize(type)}::JobParser", false).parse(config)
18
+ job = ::BenchmarkDriver.const_get("Runner::#{camelize(type)}::JobParser", false).parse(config)
19
+ default_params.each do |key, value|
20
+ if job.respond_to?(key) && job.respond_to?("#{key}=") && job.public_send(key).nil?
21
+ job.public_send("#{key}=", value)
22
+ end
23
+ end
24
+ job
18
25
  end
19
26
 
20
27
  private
@@ -1,3 +1,3 @@
1
1
  module BenchmarkDriver
2
- VERSION = '0.10.15'
2
+ VERSION = '0.10.16'
3
3
  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.10.15
4
+ version: 0.10.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: 2018-05-07 00:00:00.000000000 Z
11
+ date: 2018-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  version: '0'
112
112
  requirements: []
113
113
  rubyforge_project:
114
- rubygems_version: 2.7.6
114
+ rubygems_version: 2.7.7
115
115
  signing_key:
116
116
  specification_version: 4
117
117
  summary: Fully-featured accurate benchmark driver for Ruby