COVERAGE__ and introduce coverage.so instead. How to measure
coverage: (1) require "coverage.so", (2) require or load Ruby source
file, and (3) Coverage.result will return the same hash as COVERAGE__.
[ruby-dev:35324]
* thread.c (rb_enable_coverages): start coverage measurement by using
rb_add_event_hook.
* thread.c (rb_get_coverages): returns current results of coverage
measurement.
* include/ruby/intern.h: add prototype for above two functions.
* vm_core.h, vm.c: add field of coverages to rb_vm_t.
* insns.def (trace): remove special handling for COVERAGE__.
* iseq.c (prepare_iseq_build): switch COVERAGE__ to
rb_get_coverages().
* parse.y (coverage): ditto.
* thread.c (clear_coverage): ditto.
* lib/coverage.rb: use coverage.so instead of COVERAGE__.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for casual use. Usage: (1) assign {} to COVERAGE__, (2) require or
load Ruby source file, and (3) COVERAGE__["sourcefilepath"] will
return an array whose elements represent number of executions per
line of source code.
* vm_core.h: add field of coverage array to iseq.
* iseq.c (prepare_iseq_build): ditto.
* insns.def (trace): update coverage array.
* parse.y (coverage): create and initialize coverage array.
* compile.h (ADD_TRACE): add trace instruction to update covearge
array.
* thread.c (clear_coverage): delete coverage array when forking.
Otherwise, double count of coverage may occur.
* lib/coverage.rb: sample coverage measurement tool.
* error.c: distinguish explicitly between parse_in_eval and
mild_compile_error.
* load.c: ditto.
* vm_eval.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
namely inclusion of ruby.h, because _GNU_SOURCE is now defined
there (if any) and socket.so requires it on Linux systems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(Gem::Ext::Builder.run): EXIT_SUCCESS may be 0 or may not.
* test/rubygems/test_gem_ext_rake_builder.rb (build_rake_in): override
Gem.ruby and ENV["rake"].
* runruby.rb: bin/rake does not exist in archdir where architecture
depend script (i.e. rbconfig.rb) exists.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
exception not return nil if RSS::Maker.make can't get required information.
* test/rss/rss-assertions.rb: follow the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
should be clean. based on a patch from arton <artonx AT
yahoo.co.jp> at [ruby-dev:35269]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
up. a patch from <m-sumi AT techfirm.co.jp> [ruby-list:45047]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(SortedSet#delete_if, TC_SortedSet#test_sortedset): Use super to
yield elements in sorted order; [ruby-core:17144] by Arthur
Schreiber.
(SortedSet#each, SortedSet#each, TC_Set#test_each)
(TC_SortedSet#test_sortedset): Return self; [ruby-dev:35002] by
Arthur Schreiber.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
methods and make them return a set. [ruby-core:17055]
(Set#delete_if, Set#collect!, Set#reject!, Set#classify)
(Set#divide, Set#delete_if): Return an enumerator if no block is
given.
(Set#classify): Define an alias `group_by' to override that of
Enumerable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
written actually.
* win32/Makefile.sub (LDSHARED_0, LINK_SO): get rid of failure of
mt.exe.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
respond_to? should now take optional second argument; submitted
by Jeremy Kemper <jeremy at bitsweat.net> in [ruby-core:17045].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e