diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2018-07-20 16:33:15 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-07-20 15:38:55 -0700 |
commit | ab176ac4ae9456a97ff4904c0222c6a0fc63a130 (patch) | |
tree | 96af388a19b5faf402191a8e00ae9879df0ea9b6 /t/helper/test-tool.h | |
parent | commit-reach: move can_all_from_reach_with_flags (diff) | |
download | tgif-ab176ac4ae9456a97ff4904c0222c6a0fc63a130.tar.xz |
test-reach: create new test tool for ref_newer
As we prepare to change the behavior of the algorithms in
commit-reach.c, create a new test-tool subcommand 'reach' to test these
methods on interesting commit-graph shapes.
To use the new test-tool, use 'test-tool reach <method>' and provide
input to stdin that describes the inputs to the method. Currently, we
only implement the ref_newer method, which requires two commits. Use
lines "A:<committish>" and "B:<committish>" for the two inputs. We will
expand this input later to accommodate methods that take lists of
commits.
The test t6600-test-reach.sh creates a repo whose commits form a
two-dimensional grid. This grid makes it easy for us to determine
reachability because commit-A-B can reach commit-X-Y if and only if A is
at least X and B is at least Y. This helps create interesting test cases
for each result of the methods in commit-reach.c.
We test all methods in three different states of the commit-graph file:
Non-existent (no generation numbers), fully computed, and mixed (some
commits have generation numbers and others do not).
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/helper/test-tool.h')
-rw-r--r-- | t/helper/test-tool.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/t/helper/test-tool.h b/t/helper/test-tool.h index 80cbcf0857..a7e53c420e 100644 --- a/t/helper/test-tool.h +++ b/t/helper/test-tool.h @@ -20,6 +20,7 @@ int cmd__mktemp(int argc, const char **argv); int cmd__online_cpus(int argc, const char **argv); int cmd__path_utils(int argc, const char **argv); int cmd__prio_queue(int argc, const char **argv); +int cmd__reach(int argc, const char **argv); int cmd__read_cache(int argc, const char **argv); int cmd__ref_store(int argc, const char **argv); int cmd__regex(int argc, const char **argv); |