| 54 | } |
| 55 | |
| 56 | static int require_resolved(const CBMFileResult *r, const char *callerSub, const char *calleeSub) { |
| 57 | int idx = find_resolved(r, callerSub, calleeSub); |
| 58 | if (idx < 0) { |
| 59 | printf("\n MISSING resolved call: caller~%s -> callee~%s (have %d entries)\n", callerSub, |
| 60 | calleeSub, r->resolved_calls.count); |
| 61 | for (int i = 0; i < r->resolved_calls.count; i++) { |
| 62 | const CBMResolvedCall *rc = &r->resolved_calls.items[i]; |
| 63 | printf(" %s -> %s [%s %.2f]\n", rc->caller_qn ? rc->caller_qn : "(null)", |
| 64 | rc->callee_qn ? rc->callee_qn : "(null)", |
| 65 | rc->strategy ? rc->strategy : "(null)", rc->confidence); |
| 66 | } |
| 67 | } |
| 68 | return idx; |
| 69 | } |
| 70 | |
| 71 | static int count_resolved(const CBMFileResult *r) { |
| 72 | int n = 0; |
no test coverage detected