diff options
author | Greg Price <price@mit.edu> | 2013-03-20 09:39:20 -0700 |
---|---|---|
committer | Greg Price <price@mit.edu> | 2013-04-06 20:51:16 -0700 |
commit | 2e2332857d26c7dbed3e4b940bb571da348bb5c7 (patch) | |
tree | e719deffbb3380f71debc3689c04aecf39328728 /examples | |
parent | 8f7f5e55436eb6b20c12c435eab03e9f37be2e39 (diff) | |
download | libgit2-2e2332857d26c7dbed3e4b940bb571da348bb5c7.tar.gz |
examples: a test, for rev-list
This test file could probably be improved by a framework like
the one in git.git:t/, or by using a language like Python instead
of shell.
The other examples would benefit from tests too. Probably best
to settle on a framework to write them in, then add more tests.
Signed-off-by: Greg Price <price@mit.edu>
Diffstat (limited to 'examples')
-rwxr-xr-x | examples/test/test-rev-list.sh | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/examples/test/test-rev-list.sh b/examples/test/test-rev-list.sh new file mode 100755 index 000000000..bc0eea7cf --- /dev/null +++ b/examples/test/test-rev-list.sh @@ -0,0 +1,95 @@ +#!/bin/bash + +THIS_FILE="$(readlink -f "$0")" +ROOT="$(dirname "$(dirname "$(dirname "$THIS_FILE")")")" +PROGRAM="$ROOT"/examples/rev-list +LIBDIR="$ROOT"/build +REPO="$ROOT"/tests-clar/resources/testrepo.git + +cd "$REPO" + +run () { + LD_LIBRARY_PATH="$LIBDIR" "$PROGRAM" "$@" +} + +diff -u - <(run --date-order a4a7dce) <<EOF +a4a7dce85cf63874e984719f4fdd239f5145052f +c47800c7266a2be04c571c04d5a6614691ea99bd +9fd738e8f7967c078dceed8190330fc8648ee56a +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +5b5b025afb0b4c913b4c338a42934a3863bf3644 +8496071c1b46c854b31185ea97743be6a8774479 +EOF + +out="$(run --topo-order a4a7dce)" +diff -q - <(echo -n "$out") <<EOF >/dev/null || +a4a7dce85cf63874e984719f4fdd239f5145052f +c47800c7266a2be04c571c04d5a6614691ea99bd +9fd738e8f7967c078dceed8190330fc8648ee56a +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +5b5b025afb0b4c913b4c338a42934a3863bf3644 +8496071c1b46c854b31185ea97743be6a8774479 +EOF +diff -u - <(echo "$out") <<EOF +a4a7dce85cf63874e984719f4fdd239f5145052f +9fd738e8f7967c078dceed8190330fc8648ee56a +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +c47800c7266a2be04c571c04d5a6614691ea99bd +5b5b025afb0b4c913b4c338a42934a3863bf3644 +8496071c1b46c854b31185ea97743be6a8774479 +EOF + +diff -u - <(run --date-order --reverse a4a7dce) <<EOF +8496071c1b46c854b31185ea97743be6a8774479 +5b5b025afb0b4c913b4c338a42934a3863bf3644 +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +9fd738e8f7967c078dceed8190330fc8648ee56a +c47800c7266a2be04c571c04d5a6614691ea99bd +a4a7dce85cf63874e984719f4fdd239f5145052f +EOF + +out=$(run --topo-order --reverse a4a7dce) +diff -q - <(echo -n "$out") <<EOF >/dev/null || +8496071c1b46c854b31185ea97743be6a8774479 +5b5b025afb0b4c913b4c338a42934a3863bf3644 +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +9fd738e8f7967c078dceed8190330fc8648ee56a +c47800c7266a2be04c571c04d5a6614691ea99bd +a4a7dce85cf63874e984719f4fdd239f5145052f +EOF +diff -u - <(echo "$out") <<EOF +8496071c1b46c854b31185ea97743be6a8774479 +5b5b025afb0b4c913b4c338a42934a3863bf3644 +c47800c7266a2be04c571c04d5a6614691ea99bd +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +9fd738e8f7967c078dceed8190330fc8648ee56a +a4a7dce85cf63874e984719f4fdd239f5145052f +EOF + +out="$(run --date-order --topo-order --reverse --reverse a4a7dce)" +diff -q - <(echo -n "$out") <<EOF >/dev/null || +a4a7dce85cf63874e984719f4fdd239f5145052f +c47800c7266a2be04c571c04d5a6614691ea99bd +9fd738e8f7967c078dceed8190330fc8648ee56a +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +5b5b025afb0b4c913b4c338a42934a3863bf3644 +8496071c1b46c854b31185ea97743be6a8774479 +EOF +diff -u - <(echo "$out") <<EOF +a4a7dce85cf63874e984719f4fdd239f5145052f +9fd738e8f7967c078dceed8190330fc8648ee56a +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +c47800c7266a2be04c571c04d5a6614691ea99bd +5b5b025afb0b4c913b4c338a42934a3863bf3644 +8496071c1b46c854b31185ea97743be6a8774479 +EOF + +diff -u - <(run ^9fd738e~2 9fd738e) <<EOF +9fd738e8f7967c078dceed8190330fc8648ee56a +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +EOF + +diff -u - <(run --not 9fd738e..9fd738e~2) <<EOF +9fd738e8f7967c078dceed8190330fc8648ee56a +4a202b346bb0fb0db7eff3cffeb3c70babbd2045 +EOF |