22require 'json'
33require 'fileutils'
44require 'open3'
5+ require 'rbconfig'
56require 'tmpdir'
67
78class TraceTest < Minitest ::Test
@@ -22,7 +23,7 @@ def run_trace(tracer_script, program_name, *args)
2223 program = File . join ( 'test' , 'programs' , program_name )
2324 out_dir = File . join ( 'test' , 'tmp' , base , tracer_name )
2425 FileUtils . mkdir_p ( out_dir )
25- stdout , stderr , status = Open3 . capture3 ( ' ruby' , tracer_script , '--out-dir' , out_dir , program , *args )
26+ stdout , stderr , status = Open3 . capture3 ( RbConfig . ruby , tracer_script , '--out-dir' , out_dir , program , *args )
2627 raise "trace failed: #{ stderr } " unless status . success?
2728 trace_file = File . join ( out_dir , 'trace.json' )
2829 trace = JSON . parse ( File . read ( trace_file ) ) if File . exist? ( trace_file )
@@ -84,7 +85,7 @@ def run_gem_installation_test(gem_bin, gem_module)
8485
8586 out_dir = File . join ( 'test' , 'tmp' , "gem_install_#{ gem_bin . tr ( '-' , '_' ) } " )
8687 FileUtils . rm_rf ( out_dir )
87- stdout , stderr , status = Open3 . capture3 ( env , ' ruby' , '-S' , gem_bin , '--out-dir' , out_dir , File . join ( 'test' , 'programs' , 'addition.rb' ) )
88+ stdout , stderr , status = Open3 . capture3 ( env , RbConfig . ruby , '-S' , gem_bin , '--out-dir' , out_dir , File . join ( 'test' , 'programs' , 'addition.rb' ) )
8889 raise "#{ gem_bin } failed: #{ stderr } " unless status . success?
8990 assert_equal "3\n " , stdout
9091 assert File . exist? ( File . join ( out_dir , 'trace.json' ) )
@@ -105,7 +106,7 @@ def run_gem_installation_test(gem_bin, gem_module)
105106 RUBY
106107 script_path = File . join ( 'test' , 'tmp' , "use_#{ gem_bin . tr ( '-' , '_' ) } .rb" )
107108 File . write ( script_path , script )
108- stdout , stderr , status = Open3 . capture3 ( env , ' ruby' , script_path )
109+ stdout , stderr , status = Open3 . capture3 ( env , RbConfig . ruby , script_path )
109110 raise "#{ gem_module } library failed: #{ stderr } " unless status . success?
110111 expected_out = <<~OUT
111112 start trace
@@ -132,7 +133,7 @@ def test_pure_debug_smoke
132133 env = { 'CODETRACER_RUBY_RECORDER_DEBUG' => '1' }
133134 out_dir = File . join ( 'test' , 'tmp' , 'debug_smoke' )
134135 FileUtils . rm_rf ( out_dir )
135- 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' ) )
136+ 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' ) )
136137 raise "trace failed: #{ stderr } " unless status . success?
137138
138139 lines = stdout . lines . map ( &:chomp )
0 commit comments