]> git.ipfire.org Git - thirdparty/git.git/blame - t/lib-read-tree.sh
Merge branch 'jc/remove-treesame-parent-in-simplify-merges'
[thirdparty/git.git] / t / lib-read-tree.sh
CommitLineData
ea5070c9
JL
1#!/bin/sh
2#
3# Helper functions to check if read-tree would succeed/fail as expected with
4# and without the dry-run option. They also test that the dry-run does not
5# write the index and that together with -u it doesn't touch the work tree.
6#
7read_tree_must_succeed () {
8 git ls-files -s >pre-dry-run &&
9 git read-tree -n "$@" &&
10 git ls-files -s >post-dry-run &&
11 test_cmp pre-dry-run post-dry-run &&
12 git read-tree "$@"
13}
14
15read_tree_must_fail () {
16 git ls-files -s >pre-dry-run &&
17 test_must_fail git read-tree -n "$@" &&
18 git ls-files -s >post-dry-run &&
19 test_cmp pre-dry-run post-dry-run &&
20 test_must_fail git read-tree "$@"
21}
22
23read_tree_u_must_succeed () {
24 git ls-files -s >pre-dry-run &&
25 git diff-files -p >pre-dry-run-wt &&
26 git read-tree -n "$@" &&
27 git ls-files -s >post-dry-run &&
28 git diff-files -p >post-dry-run-wt &&
29 test_cmp pre-dry-run post-dry-run &&
30 test_cmp pre-dry-run-wt post-dry-run-wt &&
31 git read-tree "$@"
32}
33
34read_tree_u_must_fail () {
35 git ls-files -s >pre-dry-run &&
36 git diff-files -p >pre-dry-run-wt &&
37 test_must_fail git read-tree -n "$@" &&
38 git ls-files -s >post-dry-run &&
39 git diff-files -p >post-dry-run-wt &&
40 test_cmp pre-dry-run post-dry-run &&
41 test_cmp pre-dry-run-wt post-dry-run-wt &&
42 test_must_fail git read-tree "$@"
43}