/* * call-seq: * Coverage.peek_result => hash * * Returns a hash that contains filename as key and coverage array as value. */ static VALUE rb_coverage_peek_result(VALUE klass) { VALUE coverages = rb_get_coverages(); VALUE ncoverages = rb_hash_new(); if (!RTEST(coverages)) { rb_raise(rb_eRuntimeError, "coverage measurement is not enabled"); } st_foreach(RHASH_TBL(coverages), coverage_peek_result_i, ncoverages); rb_hash_freeze(ncoverages); return ncoverages; }
/* * call-seq: * Coverage.start => nil * * Enables coverage measurement. */ static VALUE rb_coverage_start(VALUE klass) { if (!RTEST(rb_get_coverages())) { if (rb_coverages == Qundef) { rb_coverages = rb_hash_new(); RBASIC(rb_coverages)->klass = 0; } rb_set_coverages(rb_coverages); } return Qnil; }