Thanks a lot!
I applied the patch in 4167 (along with some minor improvement).

-- 
Thibault Martin-Lagardette



On May 26, 2010, at 14:39, Jordan Breeding wrote:

Currently ERROR is not thrown out of the results before they are tested to see which is best, this means that ERROR is actually considered the winner after running .to_f on it.

My current patch probably doesn't handle the case of each of the rubies being tested all having ERROR, but it does work if at least one real value was returned. This patch also changes it so that if you are testing a large number of ruby installations (4 or more) on a wide terminal window the "----" underline will cover all of the names instead of stopping at 80 characters.

diff --git a/perf/run.rb b/perf/run.rb
index 14af044..7279136 100644
--- a/perf/run.rb
+++ b/perf/run.rb
@@ -31,9 +31,10 @@ end

rubies_names = rubies.map { |x| `#{x} -v`.scan(/^\w+\s+[^\s]+/)[0] }

-print 'Name'.ljust(20)
-rubies_names.each { |x| print x.ljust(20) }
-puts '', '-' * 80
+header_string = 'Name'.ljust(20)
+rubies_names.each { |x| header_string += x.ljust(20) }
+print header_string
+puts '', '-' * header_string.length

booter = File.join(cwd, 'boot.rb')
perf_files.each do |file, suite|
@@ -53,7 +54,7 @@ perf_files.each do |file, suite|
    print "#{prefix}:#{title}".ljust(20)
    winner = nil
    if res.size > 1
-      winner = res.sort { |a, b| a[:best].to_f <=> b[:best].to_f }.first[:best]
+      winner = res.reject { |a| a[:best] == 'ERROR' }.sort { |a, b| a[:best].to_f <=> b[:best].to_f }.first[:best]
    end
    res.each do |rb|
      best = rb[:best]_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel