summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Luke Diamand <luke@diamand.org>2015-06-10 08:30:58 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2015-06-10 08:29:10 -0700
commiteceafffbec97385eb65d7ba0c365ee028aaf1aad (patch)
tree4e1bb57869cf283066c86748c005040ca293cf3c /t
parentgit-p4: test with limited p4 server results (diff)
downloadtgif-eceafffbec97385eb65d7ba0c365ee028aaf1aad.tar.xz
git-p4: add tests for non-numeric revision range
Test that git-p4 can handle a sync with a non-numeric revision range (e.g. a date). Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t9800-git-p4-basic.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/t/t9800-git-p4-basic.sh b/t/t9800-git-p4-basic.sh
index 5b562122a1..90d41ed954 100755
--- a/t/t9800-git-p4-basic.sh
+++ b/t/t9800-git-p4-basic.sh
@@ -131,6 +131,44 @@ test_expect_success 'clone two dirs, @all, conflicting files' '
)
'
+revision_ranges="2000/01/01,#head \
+ 1,2080/01/01 \
+ 2000/01/01,2080/01/01 \
+ 2000/01/01,1000 \
+ 1,1000"
+
+test_expect_success 'clone using non-numeric revision ranges' '
+ test_when_finished cleanup_git &&
+ for r in $revision_ranges
+ do
+ rm -fr "$git" &&
+ test ! -d "$git" &&
+ git p4 clone --dest="$git" //depot@$r &&
+ (
+ cd "$git" &&
+ git ls-files >lines &&
+ test_line_count = 6 lines
+ )
+ done
+'
+
+test_expect_success 'clone with date range, excluding some changes' '
+ test_when_finished cleanup_git &&
+ before=$(date +%Y/%m/%d:%H:%M:%S) &&
+ sleep 2 &&
+ (
+ cd "$cli" &&
+ :>date_range_test &&
+ p4 add date_range_test &&
+ p4 submit -d "Adding file"
+ ) &&
+ git p4 clone --dest="$git" //depot@1,$before &&
+ (
+ cd "$git" &&
+ test_path_is_missing date_range_test
+ )
+'
+
test_expect_success 'exit when p4 fails to produce marshaled output' '
mkdir badp4dir &&
test_when_finished "rm badp4dir/p4 && rmdir badp4dir" &&