Project

General

Profile

Actions

Backport #2376

closed

Kernel.__method__ rubyspec failures for 1.8.*

Added by vvs (Vladimir Sizikov) over 14 years ago. Updated almost 5 years ago.

Status:
Closed
Assignee:
-
[ruby-core:26767]

Description

=begin
The specs pass on MRI 1.9 and on JRuby, but fail on MRI 1.8.7, 1.8.*.

mspec -t /opt/ruby187-dev/bin/ruby core/kernel/__method__spec.rb -fs
ruby 1.8.7 (2009-11-09 patchlevel 202) [i686-linux]

Kernel.method

  • returns the current method, even when aliased (FAILED - 1)
  • returns the original name when aliased method (FAILED - 2)
  • returns the caller from blocks too (FAILED - 3)
  • returns the caller from define_method too
  • returns the caller from block inside define_method too
  • returns the caller from a define_method called from the same class
  • returns method name even from eval
  • returns nil when not called from a method (FAILED - 4)

Kernel.method returns the current method, even when aliased FAILED
Expected :send
to equal :f

/opt/work/mspec.git/lib/mspec/expectations/expectations.rb:15:in fail_with' /opt/work/mspec.git/lib/mspec/matchers/base.rb:8:in =='
/opt/work/rubyspec.git/core/kernel/shared/method.rb:9
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in protect'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in protect' /opt/work/rubyspec.git/core/kernel/__method__spec.rb:3:in all?'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in each' /opt/work/mspec.git/lib/mspec/runner/context.rb:135:in all?'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in protect' /opt/work/mspec.git/lib/mspec/runner/context.rb:163:in process'
/opt/work/mspec.git/lib/mspec/runner/context.rb:155:in each' /opt/work/mspec.git/lib/mspec/runner/context.rb:155:in process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:36:in describe' /opt/work/mspec.git/lib/mspec/runner/object.rb:11:in describe'
/opt/work/rubyspec.git/core/kernel/__method__spec.rb:5
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in load' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in protect'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:49:in each'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:49:in files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:41:in process'
/opt/work/mspec.git/lib/mspec/commands/mspec-run.rb:87:in run' /opt/work/mspec.git/lib/mspec/utils/script.rb:217:in main'
/opt/work/mspec.git/bin/mspec-run:8

Kernel.method returns the original name when aliased method FAILED
Expected :send
to equal :f

/opt/work/mspec.git/lib/mspec/expectations/expectations.rb:15:in fail_with' /opt/work/mspec.git/lib/mspec/matchers/base.rb:8:in =='
/opt/work/rubyspec.git/core/kernel/shared/method.rb:13
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in protect'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in protect' /opt/work/mspec.git/lib/mspec/expectations/expectations.rb:15:in all?'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in each' /opt/work/mspec.git/lib/mspec/runner/context.rb:135:in all?'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in protect' /opt/work/mspec.git/lib/mspec/runner/context.rb:163:in process'
/opt/work/mspec.git/lib/mspec/runner/context.rb:155:in each' /opt/work/mspec.git/lib/mspec/runner/context.rb:155:in process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:36:in describe' /opt/work/mspec.git/lib/mspec/runner/object.rb:11:in describe'
/opt/work/rubyspec.git/core/kernel/__method__spec.rb:5
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in load' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in protect'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:49:in each'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:49:in files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:41:in process'
/opt/work/mspec.git/lib/mspec/commands/mspec-run.rb:87:in run' /opt/work/mspec.git/lib/mspec/utils/script.rb:217:in main'
/opt/work/mspec.git/bin/mspec-run:8

Kernel.method returns the caller from blocks too FAILED
Expected [:send, :send]
to equal [:h, :h]

/opt/work/mspec.git/lib/mspec/expectations/expectations.rb:15:in fail_with' /opt/work/mspec.git/lib/mspec/matchers/base.rb:8:in =='
/opt/work/rubyspec.git/core/kernel/shared/method.rb:20
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in protect'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in protect' /opt/work/mspec.git/lib/mspec/expectations/expectations.rb:15:in all?'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in each' /opt/work/mspec.git/lib/mspec/runner/context.rb:135:in all?'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in protect' /opt/work/mspec.git/lib/mspec/runner/context.rb:163:in process'
/opt/work/mspec.git/lib/mspec/runner/context.rb:155:in each' /opt/work/mspec.git/lib/mspec/runner/context.rb:155:in process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:36:in describe' /opt/work/mspec.git/lib/mspec/runner/object.rb:11:in describe'
/opt/work/rubyspec.git/core/kernel/__method__spec.rb:5
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in load' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in protect'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:49:in each'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:49:in files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:41:in process'
/opt/work/mspec.git/lib/mspec/commands/mspec-run.rb:87:in run' /opt/work/mspec.git/lib/mspec/utils/script.rb:217:in main'
/opt/work/mspec.git/bin/mspec-run:8

Kernel.method returns nil when not called from a method FAILED
Expected :send
to equal nil

/opt/work/mspec.git/lib/mspec/expectations/expectations.rb:15:in fail_with' /opt/work/mspec.git/lib/mspec/matchers/base.rb:8:in =='
/opt/work/rubyspec.git/core/kernel/shared/method.rb:49
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in protect'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in protect' /opt/work/rubyspec.git/core/kernel/shared/__method__.rb:43:in all?'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in each' /opt/work/mspec.git/lib/mspec/runner/context.rb:135:in all?'
/opt/work/mspec.git/lib/mspec/runner/context.rb:135:in protect' /opt/work/mspec.git/lib/mspec/runner/context.rb:163:in process'
/opt/work/mspec.git/lib/mspec/runner/context.rb:155:in each' /opt/work/mspec.git/lib/mspec/runner/context.rb:155:in process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:36:in describe' /opt/work/mspec.git/lib/mspec/runner/object.rb:11:in describe'
/opt/work/rubyspec.git/core/kernel/__method__spec.rb:5
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in load' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in instance_eval' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:67:in protect'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:55:in files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:49:in each'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:49:in files' /opt/work/mspec.git/lib/mspec/runner/mspec.rb:41:in process'
/opt/work/mspec.git/lib/mspec/commands/mspec-run.rb:87:in run' /opt/work/mspec.git/lib/mspec/utils/script.rb:217:in main'
/opt/work/mspec.git/bin/mspec-run:8

Finished in 0.012987 seconds

1 file, 8 examples, 8 expectations, 4 failures, 0 errors
=end


Files

__method__spec.rb (1.16 KB) __method__spec.rb shugo (Shugo Maeda), 12/06/2009 01:19 AM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0