benchmark_driver 0.10.15 → 0.10.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 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