On Fri, Jun 28, 2019 at 12:35 AM Derrick Stolee <stolee@xxxxxxxxx> wrote: > > dir.c > > 3b2385cf 2840) static void jw_object_untracked_cache_dir(struct json_writer *jw, > > 3b2385cf 2845) jw_object_bool(jw, "valid", ucd->valid); > > 3b2385cf 2846) jw_object_bool(jw, "check-only", ucd->check_only); > > 3b2385cf 2847) jw_object_stat_data(jw, "stat", &ucd->stat_data); > > 3b2385cf 2848) jw_object_string(jw, "exclude-oid", oid_to_hex(&ucd->exclude_oid)); > > 3b2385cf 2849) jw_object_inline_begin_array(jw, "untracked"); > > 3b2385cf 2850) for (i = 0; i < ucd->untracked_nr; i++) > > 3b2385cf 2851) jw_array_string(jw, ucd->untracked[i]); > > 3b2385cf 2852) jw_end(jw); > > 3b2385cf 2854) jw_object_inline_begin_object(jw, "dirs"); > > 3b2385cf 2855) for (i = 0; i < ucd->dirs_nr; i++) { > > 3b2385cf 2856) jw_object_inline_begin_object(jw, ucd->dirs[i]->name); > > 3b2385cf 2857) jw_object_untracked_cache_dir(jw, ucd->dirs[i]); > > 3b2385cf 2858) jw_end(jw); > > 3b2385cf 2860) jw_end(jw); > > 3b2385cf 2861) } > > 3b2385cf 2958) jw_object_inline_begin_object(jw, "root"); > > 3b2385cf 2959) jw_object_untracked_cache_dir(jw, uc->root); > > 3b2385cf 2960) jw_end(jw); > > Duy: I know you were working on some tests for these options. This is specifically > in the "untracked cache" mode, so enabling the cache with at least one entry and > running --debug-json should be sufficient. It's a bit more complicated than that, but I see your point. I initially looked at the output and saw "something" and moved on. I should have examined the json output more carefully. > > read-cache.c > > 8eeabe15 1752) ret = error(_("index uses %.4s extension, which we do not understand"), > > ee70c128 1754) if (advice_unknown_index_extension) { > > ee70c128 1755) warning(_("ignoring optional %.4s index extension"), ext); > > ee70c128 1756) advise(_("This is likely due to the file having been written by a newer\n" > > 272b3f2a 2026) jw_object_true(jw, "assume_unchanged"); > > 272b3f2a 2030) jw_object_true(jw, "skip_worktree"); > > 272b3f2a 2032) jw_object_intmax(jw, "stage", ce_stage(ce)); > > f0f544da 2309) ieot = read_ieot_extension(istate, mmap, mmap_size, extension_offset); > > f0f544da 3651) static struct index_entry_offset_table *read_ieot_extension( > > f0f544da 3673) return do_read_ieot_extension(istate, index, extsize); > > Duy: more JSON output cases that could be interesting to cover. This is because I changed the function signature, I think. Both IEOT and EOIE extensions, if I'm not mistaken, are never tested in the test suite. You need to set GIT_TEST_INDEX_THREADS, then the last three lines should be covered. -- Duy