Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions test/benchmarks/run_benchmarks.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
require 'fileutils'
require 'benchmark'
require 'optparse'
require 'rbconfig'

PROGRAMS_DIR = File.expand_path('programs', __dir__)
FIXTURES_DIR = File.expand_path('fixtures', __dir__)
Expand Down Expand Up @@ -44,15 +45,15 @@ def run_benchmark(name)
results = { name: name }

elapsed = Benchmark.realtime do
system('ruby', program)
system(RbConfig.ruby, program)
raise 'Program failed' unless $?.success?
end
results[:ruby_ms] = (elapsed * 1000).round

native_dir = File.join(TMP_DIR, name, 'native')
FileUtils.mkdir_p(native_dir)
elapsed = Benchmark.realtime do
system('ruby', File.expand_path('../../gems/codetracer-ruby-recorder/lib/native_trace.rb', __dir__),
system(RbConfig.ruby, File.expand_path('../../gems/codetracer-ruby-recorder/lib/native_trace.rb', __dir__),
'--out-dir', native_dir, program)
raise 'Native trace failed' unless $?.success?
end
Expand All @@ -63,7 +64,7 @@ def run_benchmark(name)
pure_dir = File.join(TMP_DIR, name, 'pure')
FileUtils.mkdir_p(pure_dir)
elapsed = Benchmark.realtime do
system('ruby', File.expand_path('../../gems/codetracer-pure-ruby-recorder/lib/trace.rb', __dir__),
system(RbConfig.ruby, File.expand_path('../../gems/codetracer-pure-ruby-recorder/lib/trace.rb', __dir__),
'--out-dir', pure_dir, program)
raise 'Pure trace failed' unless $?.success?
end
Expand Down
9 changes: 5 additions & 4 deletions test/test_tracer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
require 'json'
require 'fileutils'
require 'open3'
require 'rbconfig'
require 'tmpdir'

class TraceTest < Minitest::Test
Expand All @@ -22,7 +23,7 @@ def run_trace(tracer_script, program_name, *args)
program = File.join('test', 'programs', program_name)
out_dir = File.join('test', 'tmp', base, tracer_name)
FileUtils.mkdir_p(out_dir)
stdout, stderr, status = Open3.capture3('ruby', tracer_script, '--out-dir', out_dir, program, *args)
stdout, stderr, status = Open3.capture3(RbConfig.ruby, tracer_script, '--out-dir', out_dir, program, *args)
raise "trace failed: #{stderr}" unless status.success?
trace_file = File.join(out_dir, 'trace.json')
trace = JSON.parse(File.read(trace_file)) if File.exist?(trace_file)
Expand Down Expand Up @@ -84,7 +85,7 @@ def run_gem_installation_test(gem_bin, gem_module)

out_dir = File.join('test', 'tmp', "gem_install_#{gem_bin.tr('-', '_')}")
FileUtils.rm_rf(out_dir)
stdout, stderr, status = Open3.capture3(env, 'ruby', '-S', gem_bin, '--out-dir', out_dir, File.join('test', 'programs', 'addition.rb'))
stdout, stderr, status = Open3.capture3(env, RbConfig.ruby, '-S', gem_bin, '--out-dir', out_dir, File.join('test', 'programs', 'addition.rb'))
raise "#{gem_bin} failed: #{stderr}" unless status.success?
assert_equal "3\n", stdout
assert File.exist?(File.join(out_dir, 'trace.json'))
Expand All @@ -105,7 +106,7 @@ def run_gem_installation_test(gem_bin, gem_module)
RUBY
script_path = File.join('test', 'tmp', "use_#{gem_bin.tr('-', '_')}.rb")
File.write(script_path, script)
stdout, stderr, status = Open3.capture3(env, 'ruby', script_path)
stdout, stderr, status = Open3.capture3(env, RbConfig.ruby, script_path)
raise "#{gem_module} library failed: #{stderr}" unless status.success?
expected_out = <<~OUT
start trace
Expand All @@ -132,7 +133,7 @@ def test_pure_debug_smoke
env = { 'CODETRACER_RUBY_RECORDER_DEBUG' => '1' }
out_dir = File.join('test', 'tmp', 'debug_smoke')
FileUtils.rm_rf(out_dir)
stdout, stderr, status = Open3.capture3(env, 'ruby', 'gems/codetracer-pure-ruby-recorder/lib/trace.rb', '--out-dir', out_dir, File.join('test', 'programs', 'addition.rb'))
stdout, stderr, status = Open3.capture3(env, RbConfig.ruby, 'gems/codetracer-pure-ruby-recorder/lib/trace.rb', '--out-dir', out_dir, File.join('test', 'programs', 'addition.rb'))
raise "trace failed: #{stderr}" unless status.success?

lines = stdout.lines.map(&:chomp)
Expand Down
Loading