aboutsummaryrefslogtreecommitdiffstats
path: root/t/t9833-errors.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-06-18 10:18:41 -0700
committerJunio C Hamano <gitster@pobox.com>2018-06-18 10:18:41 -0700
commite638899470621738f32ef75dc0a092f6475a4a6e (patch)
tree473aaab90ad34dc216ae843b2b4df254e3aa753c /t/t9833-errors.sh
parentd676cc512a7aa17f6c7db53792c1e21c4ddfea42 (diff)
parent3deed5e078f2998573589b1ca03d89f41ea346e9 (diff)
downloadgit-e638899470621738f32ef75dc0a092f6475a4a6e.tar.gz
Merge branch 'ld/git-p4-updates'
"git p4" updates. * ld/git-p4-updates: git-p4: auto-size the block git-p4: narrow the scope of exceptions caught when parsing an int git-p4: raise exceptions from p4CmdList based on error from p4 server git-p4: better error reporting when p4 fails git-p4: add option to disable syncing of p4/master with p4 git-p4: disable-rebase: allow setting this via configuration git-p4: add options --commit and --disable-rebase
Diffstat (limited to 't/t9833-errors.sh')
-rwxr-xr-xt/t9833-errors.sh78
1 files changed, 78 insertions, 0 deletions
diff --git a/t/t9833-errors.sh b/t/t9833-errors.sh
new file mode 100755
index 0000000000..9ba892de7a
--- /dev/null
+++ b/t/t9833-errors.sh
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+test_description='git p4 errors'
+
+. ./lib-git-p4.sh
+
+test_expect_success 'start p4d' '
+ start_p4d
+'
+
+test_expect_success 'add p4 files' '
+ (
+ cd "$cli" &&
+ echo file1 >file1 &&
+ p4 add file1 &&
+ p4 submit -d "file1"
+ )
+'
+
+# after this test, the default user requires a password
+test_expect_success 'error handling' '
+ git p4 clone --dest="$git" //depot@all &&
+ (
+ cd "$git" &&
+ P4PORT=: test_must_fail git p4 submit 2>errmsg
+ ) &&
+ p4 passwd -P newpassword &&
+ (
+ P4PASSWD=badpassword test_must_fail git p4 clone //depot/foo 2>errmsg &&
+ grep -q "failure accessing depot.*P4PASSWD" errmsg
+ )
+'
+
+test_expect_success 'ticket logged out' '
+ P4TICKETS="$cli/tickets" &&
+ echo "newpassword" | p4 login &&
+ (
+ cd "$git" &&
+ test_commit "ticket-auth-check" &&
+ p4 logout &&
+ test_must_fail git p4 submit 2>errmsg &&
+ grep -q "failure accessing depot" errmsg
+ )
+'
+
+test_expect_success 'create group with short ticket expiry' '
+ P4TICKETS="$cli/tickets" &&
+ echo "newpassword" | p4 login &&
+ p4_add_user short_expiry_user &&
+ p4 -u short_expiry_user passwd -P password &&
+ p4 group -i <<-EOF &&
+ Group: testgroup
+ Timeout: 3
+ Users: short_expiry_user
+ EOF
+
+ p4 users | grep short_expiry_user
+'
+
+test_expect_success 'git operation with expired ticket' '
+ P4TICKETS="$cli/tickets" &&
+ P4USER=short_expiry_user &&
+ echo "password" | p4 login &&
+ (
+ cd "$git" &&
+ git p4 sync &&
+ sleep 5 &&
+ test_must_fail git p4 sync 2>errmsg &&
+ grep "failure accessing depot" errmsg
+ )
+'
+
+test_expect_success 'kill p4d' '
+ kill_p4d
+'
+
+
+test_done