1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* include/ruby/intern.h: remove prototypes about coverage.

* iseq.c (prepare_iseq_build): add prototype.

* parse.y (coverage): ditto.

* thread.c (clear_coverage): ditto.

* thread.c (update_coverage): use rb_sourceline.

* thread.c (rb_get_coverages): rename and move to vm.c.

* vm.c (rb_vm_get_coverages): ditto.

* ext/coverage/coverage.c: add rdoc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2008-07-03 14:27:43 +00:00
parent da1263d2ac
commit ae3a03eb07
7 changed files with 76 additions and 17 deletions

View file

@ -1,11 +1,47 @@
/************************************************
coverage.c -
$Author: $
Copyright (c) 2008 Yusuke Endoh
************************************************/
#include "ruby.h"
VALUE rb_mCoverage;
extern void rb_enable_coverages(void);
/* Coverage provides coverage measurement feature for Ruby.
*
* = Usage
*
* (1) require "coverage.so"
* (2) require or load Ruby source file
* (3) Coverage.result will return a hash that contains filename as key and
* coverage array as value.
*
* = Example
*
* [foo.rb]
* s = 0
* 10.times do |x|
* s += x
* end
*
* if s == 45
* p :ok
* else
* p :ng
* end
* [EOF]
*
* require "coverage.so"
* require "foo.rb"
* p COVERAGE__ #=> {"foo.rb"=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}
*/
void
Init_coverage(void)
{
rb_enable_coverages();
rb_mCoverage = rb_define_module("Coverage");
rb_define_module_function(rb_mCoverage, "result", rb_get_coverages, 0);
}