aboutsummaryrefslogtreecommitdiffstats
path: root/tool/run-lcov.rb
Commit message (Collapse)AuthorAgeFilesLines
* Revamp method coverage to support define_methodmame2017-12-051-4/+4
| | | | | | | | | | | | | | Traditionally, method coverage measurement was implemented by inserting `trace2` instruction to the head of method iseq. So, it just measured methods defined by `def` keyword. This commit drastically changes the measuring mechanism of method coverage; at `RUBY_EVENT_CALL`, it keeps a hash from rb_method_entry_t* to runs (i.e., it counts the runs per method entry), and at `Coverage.result`, it creates the result hash by enumerating all `rb_method_entry_t*` objects (by `ObjectSpace.each_object`). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* run-lcov.rb: support overwritten tmpdir pathmame2017-09-261-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/run-lcov.rb: Filter tmp files outmame2017-09-261-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/run-lcov.rb: Filter test files outmame2017-09-251-11/+36
| | | | | | And refactoring. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* run-lcov.rb: wrongly used unique ID as linenomame2017-09-171-2/+2
| | | | | | | The second value of key of branch/method coverage is unique ID, not lineno. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Measure branch and method coverage for `make test-all`mame2017-09-141-5/+60
| | | | | | | | | | | | | To measure coverage of C code: `./configure --enable-gcov && make && make exam && make lcov` To measure coverage of Ruby code: `./configure && make && make exam COVERAGE=true && make lcov` To measure coverage of both languages at a time: `./configure --enable-gcov && make && make exam COVERAGE=true && make lcov` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Support LCOV visualization for both C and Ruby codemame2017-09-091-4/+45
| | | | | | | | | | | `./configure --enable-gcov && make exam && make lcov` will create `lcov-c-out/index.html` for coverage of C code of the interpreter. `make exam COVERAGE=true && make lcov` will create `lcov-rb-out/index.html` for coverage of Ruby stdlib code. Using both `--enable-gcov` and `COVERAGE=true` will create `lcov-out/index.html` for total coverage. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use lcov visualizer for gcov statisticsmame2017-07-041-0/+41
This experimental feature is only for Ruby-core team, not for casual users. Usage: `./configure --enable-gcov && make && make exam && make lcov` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e