Skip to content

Commit 2e23328

Browse files
committed
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>
1 parent 8f7f5e5 commit 2e23328

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

examples/test/test-rev-list.sh

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
#!/bin/bash
2+
3+
THIS_FILE="$(readlink -f "$0")"
4+
ROOT="$(dirname "$(dirname "$(dirname "$THIS_FILE")")")"
5+
PROGRAM="$ROOT"/examples/rev-list
6+
LIBDIR="$ROOT"/build
7+
REPO="$ROOT"/tests-clar/resources/testrepo.git
8+
9+
cd "$REPO"
10+
11+
run () {
12+
LD_LIBRARY_PATH="$LIBDIR" "$PROGRAM" "$@"
13+
}
14+
15+
diff -u - <(run --date-order a4a7dce) <<EOF
16+
a4a7dce85cf63874e984719f4fdd239f5145052f
17+
c47800c7266a2be04c571c04d5a6614691ea99bd
18+
9fd738e8f7967c078dceed8190330fc8648ee56a
19+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
20+
5b5b025afb0b4c913b4c338a42934a3863bf3644
21+
8496071c1b46c854b31185ea97743be6a8774479
22+
EOF
23+
24+
out="$(run --topo-order a4a7dce)"
25+
diff -q - <(echo -n "$out") <<EOF >/dev/null ||
26+
a4a7dce85cf63874e984719f4fdd239f5145052f
27+
c47800c7266a2be04c571c04d5a6614691ea99bd
28+
9fd738e8f7967c078dceed8190330fc8648ee56a
29+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
30+
5b5b025afb0b4c913b4c338a42934a3863bf3644
31+
8496071c1b46c854b31185ea97743be6a8774479
32+
EOF
33+
diff -u - <(echo "$out") <<EOF
34+
a4a7dce85cf63874e984719f4fdd239f5145052f
35+
9fd738e8f7967c078dceed8190330fc8648ee56a
36+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
37+
c47800c7266a2be04c571c04d5a6614691ea99bd
38+
5b5b025afb0b4c913b4c338a42934a3863bf3644
39+
8496071c1b46c854b31185ea97743be6a8774479
40+
EOF
41+
42+
diff -u - <(run --date-order --reverse a4a7dce) <<EOF
43+
8496071c1b46c854b31185ea97743be6a8774479
44+
5b5b025afb0b4c913b4c338a42934a3863bf3644
45+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
46+
9fd738e8f7967c078dceed8190330fc8648ee56a
47+
c47800c7266a2be04c571c04d5a6614691ea99bd
48+
a4a7dce85cf63874e984719f4fdd239f5145052f
49+
EOF
50+
51+
out=$(run --topo-order --reverse a4a7dce)
52+
diff -q - <(echo -n "$out") <<EOF >/dev/null ||
53+
8496071c1b46c854b31185ea97743be6a8774479
54+
5b5b025afb0b4c913b4c338a42934a3863bf3644
55+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
56+
9fd738e8f7967c078dceed8190330fc8648ee56a
57+
c47800c7266a2be04c571c04d5a6614691ea99bd
58+
a4a7dce85cf63874e984719f4fdd239f5145052f
59+
EOF
60+
diff -u - <(echo "$out") <<EOF
61+
8496071c1b46c854b31185ea97743be6a8774479
62+
5b5b025afb0b4c913b4c338a42934a3863bf3644
63+
c47800c7266a2be04c571c04d5a6614691ea99bd
64+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
65+
9fd738e8f7967c078dceed8190330fc8648ee56a
66+
a4a7dce85cf63874e984719f4fdd239f5145052f
67+
EOF
68+
69+
out="$(run --date-order --topo-order --reverse --reverse a4a7dce)"
70+
diff -q - <(echo -n "$out") <<EOF >/dev/null ||
71+
a4a7dce85cf63874e984719f4fdd239f5145052f
72+
c47800c7266a2be04c571c04d5a6614691ea99bd
73+
9fd738e8f7967c078dceed8190330fc8648ee56a
74+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
75+
5b5b025afb0b4c913b4c338a42934a3863bf3644
76+
8496071c1b46c854b31185ea97743be6a8774479
77+
EOF
78+
diff -u - <(echo "$out") <<EOF
79+
a4a7dce85cf63874e984719f4fdd239f5145052f
80+
9fd738e8f7967c078dceed8190330fc8648ee56a
81+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
82+
c47800c7266a2be04c571c04d5a6614691ea99bd
83+
5b5b025afb0b4c913b4c338a42934a3863bf3644
84+
8496071c1b46c854b31185ea97743be6a8774479
85+
EOF
86+
87+
diff -u - <(run ^9fd738e~2 9fd738e) <<EOF
88+
9fd738e8f7967c078dceed8190330fc8648ee56a
89+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
90+
EOF
91+
92+
diff -u - <(run --not 9fd738e..9fd738e~2) <<EOF
93+
9fd738e8f7967c078dceed8190330fc8648ee56a
94+
4a202b346bb0fb0db7eff3cffeb3c70babbd2045
95+
EOF

0 commit comments

Comments
 (0)