| ChannelStream |  | 0% |  | 0% | 310 | 310 | 668 | 668 | 87 | 87 | 1 | 1 |
| OpenFile |   | 56% |   | 42% | 404 | 660 | 388 | 1,158 | 28 | 152 | 0 | 1 |
| SelectBlob |  | 0% |  | 0% | 136 | 136 | 284 | 284 | 34 | 34 | 1 | 1 |
| PopenExecutor |   | 66% |   | 55% | 209 | 351 | 274 | 813 | 9 | 50 | 0 | 1 |
| EncodingUtils |   | 72% |   | 65% | 185 | 417 | 238 | 924 | 15 | 87 | 0 | 1 |
| ChannelDescriptor |  | 0% |  | 0% | 73 | 73 | 172 | 172 | 49 | 49 | 1 | 1 |
| CRLFStreamWrapper |  | 0% |  | 0% | 76 | 76 | 136 | 136 | 46 | 46 | 1 | 1 |
| PosixShim |   | 42% |   | 30% | 70 | 97 | 128 | 231 | 6 | 24 | 0 | 1 |
| Sockaddr |  | 0% |  | 0% | 26 | 26 | 99 | 99 | 16 | 16 | 1 | 1 |
| ModeFlags |   | 22% |   | 11% | 69 | 80 | 90 | 123 | 18 | 25 | 0 | 1 |
| SelectExecutor |   | 77% |   | 66% | 44 | 99 | 48 | 211 | 0 | 19 | 0 | 1 |
| ChannelStream.InputStreamAdapter |  | 0% |  | 0% | 16 | 16 | 47 | 47 | 5 | 5 | 1 | 1 |
| ChannelStream.OutputStreamAdapter |  | 0% |  | 0% | 15 | 15 | 49 | 49 | 5 | 5 | 1 | 1 |
| PopenExecutor.ExecArg |   | 22% |  | 27% | 38 | 45 | 49 | 59 | 27 | 34 | 0 | 1 |
| BlockingIO |  | 0% |  | 0% | 24 | 24 | 45 | 45 | 13 | 13 | 1 | 1 |
| BlockingIO.IOSelector |  | 0% |  | 0% | 10 | 10 | 34 | 34 | 4 | 4 | 1 | 1 |
| SelectExecutor.new RubyThread.Task() {...} |   | 41% |   | 47% | 12 | 18 | 28 | 45 | 1 | 3 | 0 | 1 |
| PosixShim.LinuxWaitMacros |  | 0% | | 0% | 23 | 23 | 20 | 20 | 19 | 19 | 1 | 1 |
| ChannelFD |   | 71% |   | 58% | 18 | 34 | 14 | 72 | 0 | 9 | 0 | 1 |
| BlockingIO.IOChannel |  | 0% | | 0% | 7 | 7 | 28 | 28 | 5 | 5 | 1 | 1 |
| POSIXProcess |   | 53% |  | 40% | 12 | 16 | 18 | 37 | 5 | 8 | 0 | 1 |
| IOOptions |  | 0% | | 0% | 7 | 7 | 16 | 16 | 5 | 5 | 1 | 1 |
| FilenoUtil |   | 76% |   | 64% | 10 | 23 | 25 | 72 | 0 | 9 | 0 | 1 |
| SelectBlob.ENXIOSelector | | 0% | | n/a | 2 | 2 | 11 | 11 | 2 | 2 | 1 | 1 |
| SelectExecutor.ENXIOSelector | | 0% | | n/a | 2 | 2 | 11 | 11 | 2 | 2 | 1 | 1 |
| NullChannel | | 0% | | 0% | 7 | 7 | 13 | 13 | 5 | 5 | 1 | 1 |
| SelectorFactory | | 11% |  | 0% | 6 | 7 | 10 | 12 | 1 | 2 | 0 | 1 |
| EncodingUtils.new TranscoderDB.SearchPathCallback() {...} | | 0% | | 0% | 4 | 4 | 4 | 4 | 2 | 2 | 1 | 1 |
| PosixShim.BSDWaitMacros | | 63% | | 42% | 7 | 15 | 3 | 11 | 3 | 9 | 0 | 1 |
| OpenFile.new OpenFile.Finalizer() {...} | | 10% | | 0% | 3 | 4 | 9 | 10 | 1 | 2 | 0 | 1 |
| BlockingIO.Condition | | 0% | | n/a | 5 | 5 | 9 | 9 | 5 | 5 | 1 | 1 |
| STDIO |  | 77% |   | 50% | 9 | 18 | 4 | 15 | 2 | 7 | 0 | 1 |
| POSIXProcess.new Object() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| OpenFile.new RubyThread.Task() {...} | | 68% | | 33% | 4 | 7 | 2 | 8 | 1 | 4 | 0 | 1 |
| OpenFile.new RubyThread.Task() {...} | | 68% | | 33% | 4 | 7 | 2 | 9 | 1 | 4 | 0 | 1 |
| PopenExecutor.new Comparator() {...} | | 0% | | 0% | 4 | 4 | 4 | 4 | 2 | 2 | 1 | 1 |
| PermissionDeniedException | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| EncodingUtils.new Object() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| EncodingUtils.new EncodingUtils.TranscodeFallback() {...} | | 21% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
| PopenExecutor.new Object() {...} |  | 88% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 1 |
| DirectoryAsFileException | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
| FileExistsException | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
| Stream | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
| OpenFile.new Object() {...} | | 88% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 1 |
| EncodingUtils.new EncodingUtils.TranscodeFallback() {...} | | 33% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
| EncodingUtils.new EncodingUtils.TranscodeFallback() {...} | | 33% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
| EncodingUtils.new EncodingUtils.TranscodeFallback() {...} | | 33% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
| SelectorPool |  | 95% |  | 92% | 2 | 13 | 2 | 29 | 1 | 7 | 0 | 1 |
| OpenFile.new RubyThread.Task() {...} | | 83% | | n/a | 1 | 3 | 2 | 4 | 1 | 3 | 0 | 1 |
| STDIO.new Object() {...} | | 88% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| PipeException | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| PopenExecutor.PopenArg | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| InvalidValueException | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| BadDescriptorException | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| IOEncodable.ConvConfig |  | 100% | | n/a | 0 | 12 | 0 | 22 | 0 | 12 | 0 | 1 |
| OpenFile.InternalReadStruct | | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 | 0 | 1 |
| OpenFile.InternalWriteStruct | | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 | 0 | 1 |
| EncodingUtils.new EncodingUtils.ResizeFunction() {...} | | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |
| PopenExecutor.new Comparator() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PopenExecutor.new Comparator() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| OpenFile.BufreadArg | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| PopenExecutor.ArgvStr | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| OpenFile.Buffer | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| OpenFile.BinwriteArg | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| PopenExecutor.run_exec_dup2_fd_pair | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |