Exemple #1
0
/*
 * 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;
}
Exemple #2
0
/*
 * 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;
}