1b7a91da71
The code for computing history reachability has been shuffled, obtained a bunch of new tests to cover them, and then being improved. * ds/reachable: commit-reach: correct accidental #include of C file commit-reach: use can_all_from_reach commit-reach: make can_all_from_reach... linear commit-reach: replace ref_newer logic test-reach: test commit_contains test-reach: test can_all_from_reach_with_flags test-reach: test reduce_heads test-reach: test get_merge_bases_many test-reach: test is_descendant_of test-reach: test in_merge_bases test-reach: create new test tool for ref_newer commit-reach: move can_all_from_reach_with_flags upload-pack: generalize commit date cutoff upload-pack: refactor ok_to_give_up() upload-pack: make reachable() more generic commit-reach: move commit_contains from ref-filter commit-reach: move ref_newer from remote.c commit.h: remove method declarations commit-reach: move walk methods from commit.c
68 lines
1.9 KiB
C
68 lines
1.9 KiB
C
#include "git-compat-util.h"
|
|
#include "test-tool.h"
|
|
|
|
struct test_cmd {
|
|
const char *name;
|
|
int (*fn)(int argc, const char **argv);
|
|
};
|
|
|
|
static struct test_cmd cmds[] = {
|
|
{ "chmtime", cmd__chmtime },
|
|
{ "config", cmd__config },
|
|
{ "ctype", cmd__ctype },
|
|
{ "date", cmd__date },
|
|
{ "delta", cmd__delta },
|
|
{ "drop-caches", cmd__drop_caches },
|
|
{ "dump-cache-tree", cmd__dump_cache_tree },
|
|
{ "dump-split-index", cmd__dump_split_index },
|
|
{ "example-decorate", cmd__example_decorate },
|
|
{ "genrandom", cmd__genrandom },
|
|
{ "hashmap", cmd__hashmap },
|
|
{ "index-version", cmd__index_version },
|
|
{ "json-writer", cmd__json_writer },
|
|
{ "lazy-init-name-hash", cmd__lazy_init_name_hash },
|
|
{ "match-trees", cmd__match_trees },
|
|
{ "mergesort", cmd__mergesort },
|
|
{ "mktemp", cmd__mktemp },
|
|
{ "online-cpus", cmd__online_cpus },
|
|
{ "path-utils", cmd__path_utils },
|
|
{ "prio-queue", cmd__prio_queue },
|
|
{ "reach", cmd__reach },
|
|
{ "read-cache", cmd__read_cache },
|
|
{ "read-midx", cmd__read_midx },
|
|
{ "ref-store", cmd__ref_store },
|
|
{ "regex", cmd__regex },
|
|
{ "repository", cmd__repository },
|
|
{ "revision-walking", cmd__revision_walking },
|
|
{ "run-command", cmd__run_command },
|
|
{ "scrap-cache-tree", cmd__scrap_cache_tree },
|
|
{ "sha1-array", cmd__sha1_array },
|
|
{ "sha1", cmd__sha1 },
|
|
{ "sigchain", cmd__sigchain },
|
|
{ "strcmp-offset", cmd__strcmp_offset },
|
|
{ "string-list", cmd__string_list },
|
|
{ "submodule-config", cmd__submodule_config },
|
|
{ "subprocess", cmd__subprocess },
|
|
{ "urlmatch-normalization", cmd__urlmatch_normalization },
|
|
{ "wildmatch", cmd__wildmatch },
|
|
{ "write-cache", cmd__write_cache },
|
|
};
|
|
|
|
int cmd_main(int argc, const char **argv)
|
|
{
|
|
int i;
|
|
|
|
BUG_exit_code = 99;
|
|
if (argc < 2)
|
|
die("I need a test name!");
|
|
|
|
for (i = 0; i < ARRAY_SIZE(cmds); i++) {
|
|
if (!strcmp(cmds[i].name, argv[1])) {
|
|
argv++;
|
|
argc--;
|
|
return cmds[i].fn(argc, argv);
|
|
}
|
|
}
|
|
die("There is no test named '%s'", argv[1]);
|
|
}
|