holyshared / lcov-tool

LCOV report of utility tool
Apache License 2.0
0 stars 1 forks source link

0 coverage results in NaN% #2

Open jayvdb opened 2 years ago

jayvdb commented 2 years ago

For lcov data:

TN:
SF:src/polyfills.ts
FNF:0
FNH:0
LF:0
LH:0
BRF:0
BRH:0
end_of_record

output is


Coverage report of file

   NaN% src/polyfills.ts
jayvdb commented 2 years ago

Also if there are two records, one after the above with 0 coverage, this causes a panick

RUST_BACKTRACE=full lcov-tool coverage coverage/app/lcov.info

Coverage report of file

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /Users/jayvdb/.cargo/registry/src/github.com-1ecc6299db9ec823/lcov-tool-0.1.5/src/report.rs:19:68
stack backtrace:
   0:        0x10e404e81 - std::backtrace_rs::backtrace::libunwind::trace::h590dfebec4e77697
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:        0x10e404e81 - std::backtrace_rs::backtrace::trace_unsynchronized::h99fbb54ac12f3b33
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:        0x10e404e81 - std::sys_common::backtrace::_print_fmt::h98af9386233c17ac
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/sys_common/backtrace.rs:67:5
   3:        0x10e404e81 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::had87307b6abc1c9a
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/sys_common/backtrace.rs:46:22
   4:        0x10e41ed2b - core::fmt::write::hf956bc155d959fe3
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/fmt/mod.rs:1150:17
   5:        0x10e4029fa - std::io::Write::write_fmt::h8329f2ae528d83ac
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/io/mod.rs:1667:15
   6:        0x10e406545 - std::sys_common::backtrace::_print::h6e4389a954583108
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/sys_common/backtrace.rs:49:5
   7:        0x10e406545 - std::sys_common::backtrace::print::h8e088905fb2c3553
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/sys_common/backtrace.rs:36:9
   8:        0x10e406545 - std::panicking::default_hook::{{closure}}::ha89bc0c5c4e06dc0
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:210:50
   9:        0x10e406127 - std::panicking::default_hook::hf75121343f052de7
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:227:9
  10:        0x10e406c30 - std::panicking::rust_panic_with_hook::h86c7505050d2207f
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:624:17
  11:        0x10e4066a4 - std::panicking::begin_panic_handler::{{closure}}::h61e80887dc228270
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:519:13
  12:        0x10e405317 - std::sys_common::backtrace::__rust_end_short_backtrace::hf0f0a63f6b510120
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/sys_common/backtrace.rs:141:18
  13:        0x10e40663a - rust_begin_unwind
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:517:5
  14:        0x10e42867f - core::panicking::panic_fmt::hfb31ffade762ae98
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/panicking.rs:101:14
  15:        0x10e4285d7 - core::panicking::panic::h4ae73fe66a8fce9c
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/panicking.rs:50:5
  16:        0x10e392f44 - alloc::slice::merge_sort::h93dfdd06e243f42d
  17:        0x10e3914bd - <lcov_tool::report::Report as core::fmt::Display>::fmt::h882b5c3d0b7f04c6
  18:        0x10e41ed2b - core::fmt::write::hf956bc155d959fe3
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/fmt/mod.rs:1150:17
  19:        0x10e401333 - std::io::Write::write_fmt::hc0e74c90b44bc203
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/io/mod.rs:1667:15
  20:        0x10e401333 - <&std::io::stdio::Stdout as std::io::Write>::write_fmt::h0226dce527d9aa75
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/io/stdio.rs:852:9
  21:        0x10e4020ae - <std::io::stdio::Stdout as std::io::Write>::write_fmt::h56ddd2bb67eed70b
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/io/stdio.rs:826:9
  22:        0x10e4020ae - std::io::stdio::print_to::h9b341ce242ca8271
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/io/stdio.rs:1192:21
  23:        0x10e4020ae - std::io::stdio::_print::hc44118075b6ace17
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/io/stdio.rs:1205:5
  24:        0x10e3905b7 - lcov_tool::command::coverage::coverage_action::hee2e4ffb1eb754c1
  25:        0x10e397411 - lcov_tool::main::h31750a06e490987e
  26:        0x10e395d46 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha1933bfb0a18dbab
  27:        0x10e3906dc - std::rt::lang_start::{{closure}}::h9dbe5e357a5f178a
  28:        0x10e40707a - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h69c4046776cff27f
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:259:13
  29:        0x10e40707a - std::panicking::try::do_call::hf29484cd182a8166
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:403:40
  30:        0x10e40707a - std::panicking::try::h0dc079bc76330482
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:367:19
  31:        0x10e40707a - std::panic::catch_unwind::hcdcc8b405dbc0e7c
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panic.rs:129:14
  32:        0x10e40707a - std::rt::lang_start_internal::{{closure}}::hc519fd4fe9bea07d
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/rt.rs:45:48
  33:        0x10e40707a - std::panicking::try::do_call::h47874b112ebb4df0
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:403:40
  34:        0x10e40707a - std::panicking::try::h1bce813709a4c45c
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:367:19
  35:        0x10e40707a - std::panic::catch_unwind::hfcbf753edbd8cf11
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panic.rs:129:14
  36:        0x10e40707a - std::rt::lang_start_internal::hf65df31c3ffe3b9a
                               at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/rt.rs:45:20
  37:        0x10e397529 - _main