C0 code coverage information

Generated on Wed Aug 01 14:04:27 -0300 2007 with rcov 0.8.0


Code reported as executed by Ruby looks like this...
and this: this line is also marked as covered.
Lines considered as run by rcov, but not reported by Ruby, look like this,
and this: these lines were inferred by rcov (using simple heuristics).
Finally, here's a line marked as not executed.
Name Total lines Lines of code Total coverage Code coverage
lib/ext/file.rb 61 45
85.2% 
80.0% 
 1 # a custom readbytes is used to show more debugging info
 2 require 'readbytes'
 3 
 4 class File
 5 
 6 def read_u1
def read_u1
   2052   lib/constant_pool/cpinfo.rb:63 in '#<Class:YAJD::ConstantPool::CPInfo>#create_instance'

 7     readchar
 8 end
 9 
10 def read_u2
def read_u2
   2150   lib/attributes/line_number_table.rb:15 in 'YAJD::Attributes::LineNumberTableInfo#initialize'
   1312   lib/ext/file.rb:23 in 'File#read_list'
   1025   lib/attributes/attribute.rb:9 in '#<Class:YAJD::Attributes>#factory'
    978   lib/constant_pool/strings.rb:36 in 'YAJD::ConstantPool::CUTF8Info#initialize'
    550   lib/common.rb:22 in 'YAJD::CommonInfo#initialize'
    550   lib/common.rb:24 in 'YAJD::CommonInfo#initialize'
    550   lib/common.rb:23 in 'YAJD::CommonInfo#initialize'
    390   lib/constant_pool/cpinfo.rb:148 in 'YAJD::ConstantPool::CommonAttrs#initialize'
    390   lib/constant_pool/cpinfo.rb:149 in 'YAJD::ConstantPool::CommonAttrs#initialize'
    286   lib/constant_pool/cpinfo.rb:132 in 'YAJD::ConstantPool::CNameType#initialize'
    286   lib/constant_pool/cpinfo.rb:131 in 'YAJD::ConstantPool::CNameType#initialize'
    282   lib/attributes/constant_value.rb:16 in 'YAJD::Attributes::ConstantValueInfo#initialize'
    248   lib/attributes/code.rb:12 in 'YAJD::Attributes::CodeInfo#initialize'
    248   lib/attributes/code.rb:13 in 'YAJD::Attributes::CodeInfo#initialize'
    246   lib/attributes/line_number_table.rb:12 in 'YAJD::Attributes::LineNumberTableInfo#initialize'
    226   lib/attributes/exceptions.rb:10 in 'YAJD::Attributes::ExceptionsInfo#initialize'
     82   lib/constant_pool/cpinfo.rb:79 in 'YAJD::ConstantPool::CClass#initialize'
     47   lib/constant_pool/strings.rb:15 in 'YAJD::ConstantPool::CString#initialize'
     31   lib/attributes/code.rb:52 in 'YAJD::Attributes::ExceptionTable#initialize'
     31   lib/attributes/code.rb:50 in 'YAJD::Attributes::ExceptionTable#initialize'
     31   lib/attributes/code.rb:49 in 'YAJD::Attributes::ExceptionTable#initialize'
     31   lib/attributes/code.rb:51 in 'YAJD::Attributes::ExceptionTable#initialize'
     10   lib/constant_pool.rb:18 in 'YAJD::ConstantPool::Pool#initialize'
     10   lib/class_file.rb:131 in 'YAJD::ClassFile#read'
     10   lib/class_file.rb:133 in 'YAJD::ClassFile#read'
     10   lib/class_file.rb:135 in 'YAJD::ClassFile#read'
     10   lib/class_file.rb:159 in 'YAJD::ClassFile#read_version'
     10   lib/class_file.rb:160 in 'YAJD::ClassFile#read_version'
      9   lib/attributes/source_file.rb:12 in 'YAJD::Attributes::SourceFileInfo#initialize'
      5   lib/attributes/inner_classes.rb:29 in 'YAJD::InnerClass#initialize'
      5   lib/class_file.rb:137 in 'YAJD::ClassFile#read'
      5   lib/attributes/inner_classes.rb:30 in 'YAJD::InnerClass#initialize'
      5   lib/attributes/inner_classes.rb:28 in 'YAJD::InnerClass#initialize'
      5   lib/attributes/inner_classes.rb:27 in 'YAJD::InnerClass#initialize'
      2   lib/attributes/signature.rb:15 in 'YAJD::Attributes::SignatureInfo#initialize'

11     buf = readbytes(2)
    buf = readbytes(2)
  10066   File#readbytes at lib/ext/file.rb:34

12     buf.unpack('n')[0]
13 end
14 
15 def read_u4
def read_u4
    282   lib/attributes/constant_value.rb:15 in 'YAJD::Attributes::ConstantValueInfo#initialize'
    248   lib/attributes/code.rb:14 in 'YAJD::Attributes::CodeInfo#initialize'
    248   lib/attributes/code.rb:11 in 'YAJD::Attributes::CodeInfo#initialize'
    246   lib/attributes/line_number_table.rb:9 in 'YAJD::Attributes::LineNumberTableInfo#initialize'
    225   lib/attributes/exceptions.rb:9 in 'YAJD::Attributes::ExceptionsInfo#initialize'
     10   lib/class_file.rb:153 in 'YAJD::ClassFile#read_magic'
      9   lib/attributes/source_file.rb:8 in 'YAJD::Attributes::SourceFileInfo#initialize'
      8   lib/attributes/deprecated.rb:8 in 'YAJD::Attributes::DeprecatedInfo#initialize'
      4   lib/attributes/attribute.rb:35 in 'YAJD::Attributes::AttributeInfo#initialize'
      2   lib/attributes/signature.rb:14 in 'YAJD::Attributes::SignatureInfo#initialize'
      2   lib/constant_pool/numbers.rb:8 in 'YAJD::ConstantPool::CIntegerFloat#initialize'
      1   lib/attributes/inner_classes.rb:8 in 'YAJD::Attributes::InnerClassesInfo#initialize'

16     buf = read_c4
    buf = read_c4
   1285   File#read_c4 at lib/ext/file.rb:53

17     buf.unpack('N')[0]
18 end
19 
20 # reads a list of things. 2 bytes indicate the length
21 # and for each element calls the block passed as argument
22 def read_list
def read_list
    550   lib/common.rb:25 in 'YAJD::CommonInfo#initialize'
    248   lib/attributes/code.rb:17 in 'YAJD::Attributes::CodeInfo#initialize'
    248   lib/attributes/code.rb:15 in 'YAJD::Attributes::CodeInfo#initialize'
    225   lib/attributes/exceptions.rb:10 in 'YAJD::Attributes::ExceptionsInfo#initialize'
     10   lib/class_file.rb:143 in 'YAJD::ClassFile#read'
     10   lib/class_file.rb:137 in 'YAJD::ClassFile#read'
     10   lib/class_file.rb:139 in 'YAJD::ClassFile#read'
     10   lib/class_file.rb:141 in 'YAJD::ClassFile#read'
      1   lib/attributes/inner_classes.rb:9 in 'YAJD::Attributes::InnerClassesInfo#initialize'

23     list_count = read_u2
    list_count = read_u2
   1312   File#read_u2 at lib/ext/file.rb:10

24     YAJD::logger.debug { "reading list of #{list_count} elements" } if YAJD::logger.debug?
    YAJD::logger.debug { "reading list of #{list_count} elements" } if YAJD::logger.debug?
   1312   Logger#debug? at /usr/lib/ruby/1.8/logger.rb:217
   1312   #<Class:YAJD>#logger at lib/yajd.rb:20

25     list = []
26     list_count.times do
27         list << (yield self)
28     end
29 
30     list
31 end
32 
33 # based in the code from readbytes.rb
34 def readbytes(n)
def readbytes(n)
  10066   lib/ext/file.rb:11 in 'File#read_u2'
   1812   lib/ext/file.rb:54 in 'File#read_c4'
    978   lib/constant_pool/strings.rb:36 in 'YAJD::ConstantPool::CUTF8Info#initialize'
    248   lib/attributes/code.rb:14 in 'YAJD::Attributes::CodeInfo#initialize'
      4   lib/attributes/attribute.rb:35 in 'YAJD::Attributes::AttributeInfo#initialize'

35     str = read(n)
36     if str == nil
37       raise EOFError, "End of file reached"
38     end   
39     if str.size < n
40       raise TruncatedDataError.new("data truncated (0x#{n.to_s(16)}/0x#{str.size.to_s(16)})", str)
41     end   
42     str 
43   end   
44 
45     def read_int
    def read_int
      7   lib/constant_pool/numbers.rb:23 in 'YAJD::ConstantPool::CInteger#initialize'

46         YAJD::Util::SignedNum.to_little_endian(read_c4)
        YAJD::Util::SignedNum.to_little_endian(read_c4)
      7   File#read_c4 at lib/ext/file.rb:53
      7   #<Class:YAJD::Util::SignedNum>#to_little_endian at lib/utils.rb:16

47     end
48 
49     def read_long
50         YAJD::Util::SignedNum.to_little_endian(read_c8)
51     end
52 
53     def read_c4
    def read_c4
   1285   lib/ext/file.rb:16 in 'File#read_u4'
    260   lib/constant_pool/numbers.rb:38 in 'YAJD::ConstantPool::CLongDouble#initialize'
    260   lib/constant_pool/numbers.rb:37 in 'YAJD::ConstantPool::CLongDouble#initialize'
      7   lib/ext/file.rb:46 in 'File#read_int'

54         readbytes(4)
        readbytes(4)
   1812   File#readbytes at lib/ext/file.rb:34

55     end
56 
57     def read_c8
58         readbytes(8)
59     end
60 end
61 

Generated using the rcov code coverage analysis tool for Ruby version 0.8.0.

Valid XHTML 1.0! Valid CSS!