@@ -131,7 +131,7 @@ def find_graal_javacmd_and_options
131
131
options = [ '--no-bootclasspath' ]
132
132
elsif graal_home
133
133
graal_home = File . expand_path ( graal_home , TRUFFLERUBY_DIR )
134
- output , _ = mx ( '-v' , '-p' , graal_home , 'vm' , '-version' , : err => :out , capture : true )
134
+ output = mx ( '-v' , '-p' , graal_home , 'vm' , '-version' , capture : true , : err => :out )
135
135
command_line = output . lines . select { |line | line . include? '-version' }
136
136
if command_line . size == 1
137
137
command_line = command_line [ 0 ]
@@ -323,11 +323,11 @@ def raw_sh(*args)
323
323
elsif timeout
324
324
result = system_timeout ( timeout , *args )
325
325
elsif capture
326
- if options . delete ( :out ) == :err
327
- err , status = Open3 . capture2e ( *args )
328
- out = ""
326
+ if options . delete ( :err ) == :out
327
+ out , status = Open3 . capture2e ( *args )
329
328
else
330
- out , err , status = Open3 . capture3 ( *args )
329
+ out = IO . popen ( args ) { |io | io . read }
330
+ status = $?
331
331
end
332
332
result = status . success?
333
333
else
@@ -336,7 +336,7 @@ def raw_sh(*args)
336
336
337
337
if result
338
338
if capture
339
- [ out , err ]
339
+ out
340
340
else
341
341
true
342
342
end
@@ -348,7 +348,6 @@ def raw_sh(*args)
348
348
349
349
if capture
350
350
$stderr. puts out
351
- $stderr. puts err
352
351
end
353
352
354
353
if status && status . exitstatus
@@ -794,7 +793,7 @@ def pr_clean(*args)
794
793
puts "Open PRs: #{ open_prs } "
795
794
796
795
sh 'git' , 'fetch' , Remotes . bitbucket , '--prune' # ensure we have locally only existing remote branches
797
- branches , _ = sh 'git' , 'branch' , '--remote' , '--list' , capture : true
796
+ branches = sh 'git' , 'branch' , '--remote' , '--list' , capture : true
798
797
branches_to_delete = branches .
799
798
scan ( /^ *#{ Remotes . bitbucket } \/ (github\/ pr\/ (\d +))$/ ) .
800
799
reject { |_ , number | open_prs . include? Integer ( number ) }
@@ -814,7 +813,7 @@ def pr_clean(*args)
814
813
def pr_push ( *args )
815
814
# Fetch PRs on GitHub
816
815
fetch = "+refs/pull/*/head:refs/remotes/#{ Remotes . github } /pr/*"
817
- out , _err = sh 'git' , 'config' , '--get-all' , "remote.#{ Remotes . github } .fetch" , capture : true
816
+ out = sh 'git' , 'config' , '--get-all' , "remote.#{ Remotes . github } .fetch" , capture : true
818
817
sh 'git' , 'config' , '--add' , "remote.#{ Remotes . github } .fetch" , fetch unless out . include? fetch
819
818
sh 'git' , 'fetch' , Remotes . github
820
819
@@ -823,7 +822,7 @@ def pr_push(*args)
823
822
github_pr_branch = "#{ Remotes . github } /pr/#{ pr_number } "
824
823
else
825
824
github_pr_branch = begin
826
- out , _err = sh 'git' , 'branch' , '-r' , '--contains' , 'HEAD' , capture : true
825
+ out = sh 'git' , 'branch' , '-r' , '--contains' , 'HEAD' , capture : true
827
826
candidate = out . lines . find { |l | l . strip . start_with? "#{ Remotes . github } /pr/" }
828
827
candidate && candidate . strip . chomp
829
828
end
@@ -868,9 +867,9 @@ def github(dir = TRUFFLERUBY_DIR)
868
867
def remote_urls ( dir = TRUFFLERUBY_DIR )
869
868
@remote_urls ||= Hash . new
870
869
@remote_urls [ dir ] ||= begin
871
- out , _err = raw_sh 'git' , '-C' , dir , 'remote' , capture : true , no_print_cmd : true
870
+ out = raw_sh 'git' , '-C' , dir , 'remote' , capture : true , no_print_cmd : true
872
871
out . split . map do |remote |
873
- url , _err = raw_sh 'git' , '-C' , dir , 'config' , '--get' , "remote.#{ remote } .url" , capture : true , no_print_cmd : true
872
+ url = raw_sh 'git' , '-C' , dir , 'config' , '--get' , "remote.#{ remote } .url" , capture : true , no_print_cmd : true
874
873
[ remote , url . chomp ]
875
874
end
876
875
end
@@ -1112,7 +1111,7 @@ def test_cexts(*args)
1112
1111
1113
1112
sh 'clang' , '-c' , '-emit-llvm' , *openssl_cflags , 'test/truffle/cexts/xopenssl/main.c' , '-o' , 'test/truffle/cexts/xopenssl/main.bc'
1114
1113
mx 'build' , '--dependencies' , 'SULONG_LAUNCHER' # For mx lli
1115
- out , _ = mx ( 'lli' , "-Dpolyglot.llvm.libraries=#{ openssl_lib } " , 'test/truffle/cexts/xopenssl/main.bc' , capture : true )
1114
+ out = mx ( 'lli' , "-Dpolyglot.llvm.libraries=#{ openssl_lib } " , 'test/truffle/cexts/xopenssl/main.bc' , capture : true )
1116
1115
raise out . inspect unless out == "5d41402abc4b2a76b9719d911017c592\n "
1117
1116
1118
1117
when 'minimum' , 'method' , 'module' , 'globals' , 'backtraces' , 'xopenssl'
@@ -1481,8 +1480,8 @@ def metrics_alloc(*args)
1481
1480
samples = [ ]
1482
1481
METRICS_REPS . times do
1483
1482
log '.' , "sampling\n "
1484
- out , err = run_ruby '-J-Dtruffleruby.metrics.memory_used_on_exit=true' , '-J-verbose:gc' , *args , capture : true , no_print_cmd : true
1485
- samples . push memory_allocated ( out + err )
1483
+ out = run_ruby '-J-Dtruffleruby.metrics.memory_used_on_exit=true' , '-J-verbose:gc' , *args , capture : true , :err => :out , no_print_cmd : true
1484
+ samples . push memory_allocated ( out )
1486
1485
end
1487
1486
log "\n " , nil
1488
1487
range = samples . max - samples . min
@@ -1568,12 +1567,12 @@ def metrics_maxrss(*args)
1568
1567
log '.' , "sampling\n "
1569
1568
1570
1569
max_rss_in_mb = if LINUX
1571
- out , err = raw_sh ( '/usr/bin/time' , '-v' , '--' , find_launcher ( true ) , *args , capture : true , no_print_cmd : true )
1572
- err =~ /Maximum resident set size \( kbytes\) : (?<max_rss_in_kb>\d +)/m
1570
+ out = raw_sh ( '/usr/bin/time' , '-v' , '--' , find_launcher ( true ) , *args , capture : true , :err => :out , no_print_cmd : true )
1571
+ out =~ /Maximum resident set size \( kbytes\) : (?<max_rss_in_kb>\d +)/m
1573
1572
Integer ( $~[ :max_rss_in_kb ] ) / 1024.0
1574
1573
elsif MAC
1575
- out , err = raw_sh ( '/usr/bin/time' , '-l' , '--' , find_launcher ( true ) , *args , capture : true , no_print_cmd : true )
1576
- err =~ /(?<max_rss_in_bytes>\d +)\s +maximum resident set size/m
1574
+ out = raw_sh ( '/usr/bin/time' , '-l' , '--' , find_launcher ( true ) , *args , capture : true , :err => :out , no_print_cmd : true )
1575
+ out =~ /(?<max_rss_in_bytes>\d +)\s +maximum resident set size/m
1577
1576
Integer ( $~[ :max_rss_in_bytes ] ) / 1024.0 / 1024.0
1578
1577
else
1579
1578
raise "Can't measure RSS on this platform."
@@ -1610,9 +1609,9 @@ def metrics_native_instructions(*args)
1610
1609
1611
1610
use_json = args . delete '--json'
1612
1611
1613
- out , err = raw_sh ( 'perf' , 'stat' , '-e' , 'instructions' , '--' , find_launcher ( true ) , *args , capture : true , no_print_cmd : true )
1612
+ out = raw_sh ( 'perf' , 'stat' , '-e' , 'instructions' , '--' , find_launcher ( true ) , *args , capture : true , :err => :out , no_print_cmd : true )
1614
1613
1615
- err =~ /(?<instruction_count>[\d ,]+)\s +instructions/m
1614
+ out =~ /(?<instruction_count>[\d ,]+)\s +instructions/m
1616
1615
instruction_count = $~[ :instruction_count ] . gsub ( ',' , '' )
1617
1616
1618
1617
log "\n " , nil
@@ -1639,9 +1638,9 @@ def metrics_time(*args)
1639
1638
samples = METRICS_REPS . times . map do
1640
1639
log '.' , "sampling\n "
1641
1640
start = Time . now
1642
- _ , err = run_ruby ( *args , capture : true , no_print_cmd : true , :out => :err )
1641
+ out = run_ruby ( *args , capture : true , no_print_cmd : true , :err => :out )
1643
1642
finish = Time . now
1644
- get_times ( err , ( finish - start ) * 1000.0 )
1643
+ get_times ( out , ( finish - start ) * 1000.0 )
1645
1644
end
1646
1645
log "\n " , nil
1647
1646
@@ -1780,22 +1779,19 @@ def profile(*args)
1780
1779
run_args = *DEFAULT_PROFILE_OPTIONS + args
1781
1780
1782
1781
begin
1783
- profile_data , err = run_ruby ( env , *run_args , capture : true )
1784
- $stderr. puts ( err ) unless err . empty?
1782
+ profile_data = run_ruby ( env , *run_args , capture : true )
1785
1783
1786
1784
profile_data_file = Tempfile . new %w[ truffleruby-profile .json ]
1787
1785
profile_data_file . write ( profile_data )
1788
1786
profile_data_file . close
1789
1787
1790
- flamegraph_data , err = raw_sh "#{ repo } /stackcollapse-graalvm.rb" , profile_data_file . path , capture : true
1791
- $stderr. puts ( err ) unless err . empty?
1788
+ flamegraph_data = raw_sh "#{ repo } /stackcollapse-graalvm.rb" , profile_data_file . path , capture : true
1792
1789
1793
1790
flamegraph_data_file = Tempfile . new 'truffleruby-flamegraph-data'
1794
1791
flamegraph_data_file . write ( flamegraph_data )
1795
1792
flamegraph_data_file . close
1796
1793
1797
- svg_data , err = raw_sh "#{ repo } /flamegraph.pl" , flamegraph_data_file . path , capture : true
1798
- $stderr. puts ( err ) unless err . empty?
1794
+ svg_data = raw_sh "#{ repo } /flamegraph.pl" , flamegraph_data_file . path , capture : true
1799
1795
1800
1796
Dir . mkdir ( PROFILES_DIR ) unless Dir . exist? ( PROFILES_DIR )
1801
1797
svg_filename = "#{ PROFILES_DIR } /flamegraph_#{ Time . now . strftime ( "%Y%m%d-%H%M%S" ) } .svg"
@@ -1954,7 +1950,7 @@ def check_filename_length
1954
1950
1955
1951
def check_parser
1956
1952
build ( 'parser' )
1957
- diff , _err = sh 'git' , 'diff' , 'src/main/java/org/truffleruby/parser/parser/RubyParser.java' , :err => :out , capture : true
1953
+ diff = sh 'git' , 'diff' , 'src/main/java/org/truffleruby/parser/parser/RubyParser.java' , capture : true
1958
1954
unless diff . empty?
1959
1955
STDERR . puts "DIFF:"
1960
1956
STDERR . puts diff
0 commit comments