require 'benchmark_driver/struct' module BenchmarkDriver # All CLI options Config = ::BenchmarkDriver::Struct.new( :runner_type, # @param [String] :output_type, # @param [String] :paths, # @param [Array] :executables, # @param [Array] :filters, # @param [Array] :repeat_count, # @param [Integer] :run_duration, # @param [Integer] defaults: { runner_type: 'ips', output_type: 'compare', filters: [], repeat_count: 1, run_duration: 3, }, ) # Subset of FullConfig passed to JobRunner Config::RunnerConfig = ::BenchmarkDriver::Struct.new( :executables, # @param [Array] :repeat_count, # @param [Integer] :run_duration, # @param [Integer] ) Config::Executable = ::BenchmarkDriver::Struct.new( :name, # @param [String] :command, # @param [Array] ) Config.defaults[:executables] = [ BenchmarkDriver::Config::Executable.new(name: RUBY_VERSION, command: [RbConfig.ruby]), ] end