Branch Coverage

src/panda/exception.cc
Criterion Covered Total %
branch 0 76 0.0


line true false branch
25 0 0 std::regex re("(.+)\\((.+)\\+0x(.+)\\) \\[(.+)\\]");
27 0 0 if (regex_match(symbol, what, re)) {
0 0 if (regex_match(symbol, what, re)) {
28 0 0 panda::string dll (what[1].first, what[1].length());
0 0 panda::string dll (what[1].first, what[1].length());
0 0 panda::string dll (what[1].first, what[1].length());
0 0 panda::string dll (what[1].first, what[1].length());
29 0 0 panda::string mangled_name (what[2].first, what[2].length());
0 0 panda::string mangled_name (what[2].first, what[2].length());
0 0 panda::string mangled_name (what[2].first, what[2].length());
0 0 panda::string mangled_name (what[2].first, what[2].length());
0 0 panda::string mangled_name (what[2].first, what[2].length());
30 0 0 panda::string symbol_offset (what[3].first, what[3].length());
0 0 panda::string symbol_offset (what[3].first, what[3].length());
0 0 panda::string symbol_offset (what[3].first, what[3].length());
0 0 panda::string symbol_offset (what[3].first, what[3].length());
0 0 panda::string symbol_offset (what[3].first, what[3].length());
31 0 0 panda::string address (what[4].first, what[4].length());
0 0 panda::string address (what[4].first, what[4].length());
0 0 panda::string address (what[4].first, what[4].length());
0 0 panda::string address (what[4].first, what[4].length());
0 0 panda::string address (what[4].first, what[4].length());
34 0 0 char* demangled_name = abi::__cxa_demangle(mangled_name.c_str(), nullptr, 0, &status);
0 0 char* demangled_name = abi::__cxa_demangle(mangled_name.c_str(), nullptr, 0, &status);
35 0 0 if (demangled_name) {
37 0 0 guard_t guard(&demangled_name, [](char** ptr) { free(*ptr); });
0 0 guard_t guard(&demangled_name, [](char** ptr) { free(*ptr); });
40 0 0 return address + " in " + demangled_name + " from " + dll;
0 0 return address + " in " + demangled_name + " from " + dll;
0 0 return address + " in " + demangled_name + " from " + dll;
0 0 return address + " in " + demangled_name + " from " + dll;
43 0 0 return panda::string("[demangle failed]") + symbol;
50 0 0 if (symbols) {
51 0 0 guard_t guard(&symbols, [](char*** ptr) { free(*ptr); });
52 0 0 for (int i = 0; i < static_cast(buffer.size()); ++i) {
53 0 0 result += humanize(symbols[i]) + "\n";
0 0 result += humanize(symbols[i]) + "\n";
0 0 result += humanize(symbols[i]) + "\n";