Issue #7722 has been updated by ko1 (Koichi Sasada).

Priority changed from Normal to Urgent
Target version set to 2.0.0


----------------------------------------
Bug #7722: [rubyspec] failure in core/marshal/dump_spec.rb
https://bugs.ruby-lang.org/issues/7722#change-35588

Author: nobu (Nobuyoshi Nakada)
Status: Assigned
Priority: Urgent
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 2.0.0
ruby -v: r38118 and later


=begin
Since r38118, (({test-rubyspect})) fails in ((%rubyspec/core/marshal/dump_spec.rb%)).

* Before r38117
    $ export MSPECOPT='-e "Marshal.dump with an Object dumps a BasicObject subclass if it defines respond_to?" core/marshal/dump_spec.rb'
    $ make test-rubyspec
    ./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems ./spec/mspec/bin/mspec run -B ./spec/default.mspec -e "Marshal.dump with an Object dumps a BasicObject subclass if it defines respond_to?" core/marshal/dump_spec.rb
    ruby 2.0.0dev (2012-12-01 trunk 38117) [x86_64-darwin11.4.2]
    .

    Finished in 0.045351 seconds

    1 file, 1 example, 1 expectation, 0 failures, 0 errors

* After r38117
    $ make test-rubyspec
    ./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems ./spec/mspec/bin/mspec run -B ./spec/default.mspec -e "Marshal.dump with an Object dumps a BasicObject subclass if it defines respond_to?" core/marshal/dump_spec.rb
    ruby 2.0.0dev (2012-12-01 trunk 38118) [x86_64-darwin11.4.2]
    E

    1)
    Marshal.dump with an Object dumps a BasicObject subclass if it defines respond_to? ERROR
    ArgumentError: wrong number of arguments (2 for 1)
    /tmp/ruby/trunk/feature-6539/spec/rubyspec/core/marshal/fixtures/marshal_data.rb:158:in `respond_to?'
    /tmp/ruby/trunk/feature-6539/spec/rubyspec/core/marshal/dump_spec.rb:397:in `dump'
    /tmp/ruby/trunk/feature-6539/spec/rubyspec/core/marshal/dump_spec.rb:397:in `block (4 levels) in <top (required)>'
    /tmp/ruby/trunk/feature-6539/spec/rubyspec/core/marshal/dump_spec.rb:5:in `<top (required)>'

    Finished in 0.045077 seconds

    1 file, 1 example, 0 expectations, 0 failures, 1 error
    make: *** [test-rubyspec] Error 1

r38118 changes to call (({respond_to?})) method with ((|include_all|)) as (({true})), so
that private methods can be found, cf. [Feature #6539]

The choces what I can thought out are:

(1) change RubySpect to take the flag as a rest argument
(2) reject [Feature #6539]
(3) call respond_to? according to its arity

Attach the patches for (3).
=end



-- 
http://bugs.ruby-lang.org/