Skip to content

Commit 755113b

Browse files
luked99gitster
authored andcommitted
git-p4: additional testing of --changes-block-size
Add additional tests of some corner-cases of the --changes-block-size git-p4 parameter. Also reduce the number of p4 changes created during the tests, so that they complete faster. Signed-off-by: Luke Diamand <[email protected]> Acked-by: Lex Spoon <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 9fb0a79 commit 755113b

File tree

1 file changed

+47
-9
lines changed

1 file changed

+47
-9
lines changed

t/t9818-git-p4-block.sh

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,21 @@ test_expect_success 'start p4d' '
88
start_p4d
99
'
1010

11-
test_expect_success 'Create a repo with ~100 changes' '
11+
test_expect_success 'Create a repo with many changes' '
1212
(
13-
cd "$cli" &&
13+
client_view "//depot/included/... //client/included/..." \
14+
"//depot/excluded/... //client/excluded/..." &&
15+
mkdir -p "$cli/included" "$cli/excluded" &&
16+
cd "$cli/included" &&
1417
>file.txt &&
1518
p4 add file.txt &&
1619
p4 submit -d "Add file.txt" &&
17-
for i in $(test_seq 0 9)
20+
for i in $(test_seq 0 5)
1821
do
1922
>outer$i.txt &&
2023
p4 add outer$i.txt &&
2124
p4 submit -d "Adding outer$i.txt" &&
22-
for j in $(test_seq 0 9)
25+
for j in $(test_seq 0 5)
2326
do
2427
p4 edit file.txt &&
2528
echo $i$j >file.txt &&
@@ -30,33 +33,68 @@ test_expect_success 'Create a repo with ~100 changes' '
3033
'
3134

3235
test_expect_success 'Clone the repo' '
33-
git p4 clone --dest="$git" --changes-block-size=10 --verbose //depot@all
36+
git p4 clone --dest="$git" --changes-block-size=7 --verbose //depot/included@all
3437
'
3538

3639
test_expect_success 'All files are present' '
3740
echo file.txt >expected &&
3841
test_write_lines outer0.txt outer1.txt outer2.txt outer3.txt outer4.txt >>expected &&
39-
test_write_lines outer5.txt outer6.txt outer7.txt outer8.txt outer9.txt >>expected &&
42+
test_write_lines outer5.txt >>expected &&
4043
ls "$git" >current &&
4144
test_cmp expected current
4245
'
4346

4447
test_expect_success 'file.txt is correct' '
45-
echo 99 >expected &&
48+
echo 55 >expected &&
4649
test_cmp expected "$git/file.txt"
4750
'
4851

4952
test_expect_success 'Correct number of commits' '
5053
(cd "$git" && git log --oneline) >log &&
51-
test_line_count = 111 log
54+
wc -l log &&
55+
test_line_count = 43 log
5256
'
5357

5458
test_expect_success 'Previous version of file.txt is correct' '
5559
(cd "$git" && git checkout HEAD^^) &&
56-
echo 97 >expected &&
60+
echo 53 >expected &&
5761
test_cmp expected "$git/file.txt"
5862
'
5963

64+
# Test git-p4 sync, with some files outside the client specification.
65+
66+
p4_add_file() {
67+
(cd "$cli" &&
68+
>$1 &&
69+
p4 add $1 &&
70+
p4 submit -d "Added a file" $1
71+
)
72+
}
73+
74+
test_expect_success 'Add some more files' '
75+
for i in $(test_seq 0 10)
76+
do
77+
p4_add_file "included/x$i" &&
78+
p4_add_file "excluded/x$i"
79+
done &&
80+
for i in $(test_seq 0 10)
81+
do
82+
p4_add_file "excluded/y$i"
83+
done
84+
'
85+
86+
# This should pick up the 10 new files in "included", but not be confused
87+
# by the additional files in "excluded"
88+
test_expect_success 'Syncing files' '
89+
(
90+
cd "$git" &&
91+
git p4 sync --changes-block-size=7 &&
92+
git checkout p4/master &&
93+
ls -l x* > log &&
94+
test_line_count = 11 log
95+
)
96+
'
97+
6098
test_expect_success 'kill p4d' '
6199
kill_p4d
62100
'

0 commit comments

Comments
 (0)