Merge branch 'jk/check-everything-connected-is-long-gone'
[git] / t / t9833-errors.sh
1 #!/bin/sh
2
3 test_description='git p4 errors'
4
5 . ./lib-git-p4.sh
6
7 test_expect_success 'start p4d' '
8         start_p4d
9 '
10
11 test_expect_success 'add p4 files' '
12         (
13                 cd "$cli" &&
14                 echo file1 >file1 &&
15                 p4 add file1 &&
16                 p4 submit -d "file1"
17         )
18 '
19
20 # after this test, the default user requires a password
21 test_expect_success 'error handling' '
22         git p4 clone --dest="$git" //depot@all &&
23         (
24                 cd "$git" &&
25                 P4PORT=: test_must_fail git p4 submit 2>errmsg
26         ) &&
27         p4 passwd -P newpassword &&
28         (
29                 P4PASSWD=badpassword &&
30                 export P4PASSWD &&
31                 test_must_fail git p4 clone //depot/foo 2>errmsg &&
32                 grep -q "failure accessing depot.*P4PASSWD" errmsg
33         )
34 '
35
36 test_expect_success 'ticket logged out' '
37         P4TICKETS="$cli/tickets" &&
38         echo "newpassword" | p4 login &&
39         (
40                 cd "$git" &&
41                 test_commit "ticket-auth-check" &&
42                 p4 logout &&
43                 test_must_fail git p4 submit 2>errmsg &&
44                 grep -q "failure accessing depot" errmsg
45         )
46 '
47
48 test_expect_success 'create group with short ticket expiry' '
49         P4TICKETS="$cli/tickets" &&
50         echo "newpassword" | p4 login &&
51         p4_add_user short_expiry_user &&
52         p4 -u short_expiry_user passwd -P password &&
53         p4 group -i <<-EOF &&
54         Group: testgroup
55         Timeout: 3
56         Users: short_expiry_user
57         EOF
58
59         p4 users | grep short_expiry_user
60 '
61
62 test_expect_success 'git operation with expired ticket' '
63         P4TICKETS="$cli/tickets" &&
64         P4USER=short_expiry_user &&
65         echo "password" | p4 login &&
66         (
67                 cd "$git" &&
68                 git p4 sync &&
69                 sleep 5 &&
70                 test_must_fail git p4 sync 2>errmsg &&
71                 grep "failure accessing depot" errmsg
72         )
73 '
74
75 test_expect_success 'kill p4d' '
76         kill_p4d
77 '
78
79
80 test_done