jeremyevans/home_run

home_run --bench error: undefined method `new!' for Date:Class

Closed this issue · 2 comments

This is with ruby 1.9.3p0:

$ home_run --bench
WARNING: rake-compiler found compiled files in 'ext/date_ext' directory. Please remove them.
/usr/bin/ruby1.9.1 bench/cpu_bench.rb
label,stdlib,home_run,times faster
Date._parse,8641,924,9.34
Date._strptime,2351,2084,1.13
Date.civil,252,175,1.44
Date.commercial,512,388,1.32
Date.gregorian_leap?,78,66,1.19
Date.jd,297,181,1.64
Date.julian_leap?,79,65,1.21
bench/cpu_bench.rb:10:in `block (2 levels) in <main>': undefined method `new!' for Date:Class (NoMethodError)
    from bench/cpu_bench.rb:10:in `times'
    from bench/cpu_bench.rb:10:in `block in <main>'
    from /var/lib/gems/1.9.1/gems/home_run-1.0.8/bench/cpu_bench_util.rb:30:in `compare'
    from bench/cpu_bench.rb:10:in `<main>'
/usr/lib/ruby/1.9.1/rake/file_utils.rb:53:in `block in create_shell_runner': Command failed with status (1): [/usr/bin/ruby1.9.1 bench/cpu_bench.rb...] (RuntimeError)
    from /usr/lib/ruby/1.9.1/rake/file_utils.rb:45:in `call'
    from /usr/lib/ruby/1.9.1/rake/file_utils.rb:45:in `sh'
    from /usr/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in `sh'
    from /var/lib/gems/1.9.1/gems/home_run-1.0.8/Rakefile:54:in `block in <top (required)>'
    from /usr/lib/ruby/1.9.1/rake/task.rb:205:in `call'
    from /usr/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute'
    from /usr/lib/ruby/1.9.1/rake/task.rb:200:in `each'
    from /usr/lib/ruby/1.9.1/rake/task.rb:200:in `execute'
    from /usr/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain'
    from /usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
    from /usr/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
    from /usr/lib/ruby/1.9.1/rake/task.rb:176:in `block in invoke_prerequisites'
    from /usr/lib/ruby/1.9.1/rake/task.rb:174:in `each'
    from /usr/lib/ruby/1.9.1/rake/task.rb:174:in `invoke_prerequisites'
    from /usr/lib/ruby/1.9.1/rake/task.rb:157:in `block in invoke_with_call_chain'
    from /usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
    from /usr/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
    from /usr/lib/ruby/1.9.1/rake/task.rb:144:in `invoke'
    from /var/lib/gems/1.9.1/gems/home_run-1.0.8/bin/home_run:44:in `<top (required)>'
    from /usr/local/bin/home_run:19:in `load'
    from /usr/local/bin/home_run:19:in `<main>'

This is because that method no longer exists in the 1.9.3+ Date class. I'll push up a patch in just a sec that skips it. Thanks!

Fixed by f3c1416