On Thu, Jun 27, 2019 at 7:35 PM Derrick Stolee <stolee@xxxxxxxxx> wrote: > > Here are some interesting sections I found when examining the test coverage > report. I am only highlighting these sections because they seem to include > non-trivial logic. In some cases, maybe the code isn't needed. > > On 6/27/2019 1:05 PM, Derrick Stolee wrote: > > promisor-remote.c > > db27dca5 25) die(_("Remote with no URL")); > > 48de3158 61) warning(_("promisor remote name cannot begin with '/': %s"), > > 48de3158 63) return NULL; > > faf2abf4 93) previous->next = r->next; > > 4ca9474e 108) return git_config_string(&core_partial_clone_filter_default, > > fa3d1b63 139) return 0; > > 9e27beaa 202) static int remove_fetched_oids(struct repository *repo, > > 9e27beaa 206) int i, remaining_nr = 0; > > 9e27beaa 207) int *remaining = xcalloc(oid_nr, sizeof(*remaining)); > > 9e27beaa 208) struct object_id *old_oids = *oids; > > 9e27beaa 211) for (i = 0; i < oid_nr; i++) > > 9e27beaa 212) if (oid_object_info_extended(repo, &old_oids[i], NULL, > > 9e27beaa 214) remaining[i] = 1; > > 9e27beaa 215) remaining_nr++; > > 9e27beaa 218) if (remaining_nr) { > > 9e27beaa 219) int j = 0; > > 9e27beaa 220) new_oids = xcalloc(remaining_nr, sizeof(*new_oids)); > > 9e27beaa 221) for (i = 0; i < oid_nr; i++) > > 9e27beaa 222) if (remaining[i]) > > 9e27beaa 223) oidcpy(&new_oids[j++], &old_oids[i]); > > 9e27beaa 224) *oids = new_oids; > > 9e27beaa 225) if (to_free) > > 9e27beaa 226) free(old_oids); > > 9e27beaa 229) free(remaining); > > 9e27beaa 231) return remaining_nr; > > 9e27beaa 248) if (remaining_nr == 1) > > 9e27beaa 249) continue; > > 9e27beaa 250) remaining_nr = remove_fetched_oids(repo, &remaining_oids, > > 9e27beaa 252) if (remaining_nr) { > > 9e27beaa 253) to_free = 1; > > 9e27beaa 254) continue; > > 9e27beaa 262) free(remaining_oids); > > Christian: this section continues to be untested, but I think you were > working on creating tests for this. Yeah, I am planning to work on this soon. > > t/helper/test-oidmap.c > > 11510dec 52) if (get_oid(p1, &oid)) { > > 11510dec 53) printf("Unknown oid: %s\n", p1); > > 11510dec 54) continue; > > 11510dec 58) FLEX_ALLOC_STR(entry, name, p2); > > 11510dec 59) oidcpy(&entry->entry.oid, &oid); > > 11510dec 62) oidmap_put(&map, entry); > > Christian: this block looks like the test-oidmap helper never uses the "add" > subcommand. Is that correct? Yeah, I initially copied it from hashmap, but then I realized that it was nearly identical as the "put" subcommand, so not worth testing separately. I should have removed it and will do it soon. > > 11510dec 97) if (get_oid(p1, &oid)) { > > 11510dec 98) printf("Unknown oid: %s\n", p1); > > 11510dec 99) continue; > > 11510dec 103) entry = oidmap_remove(&map, &oid); > > 11510dec 106) puts(entry ? entry->name : "NULL"); > > 11510dec 107) free(entry); > > Similarly, this block means we are not using the "remove" subcommand. Yeah, it looks like I forgot to implement a test for that subcommand. Will add it soon. Thanks, Christian.