git-p4: git-p4 tests with p4 triggers
Some p4 triggers in the server side generate some warnings when executed. Unfortunately those messages are mixed with the output of p4 commands. A few git-p4 commands don't expect extra messages or output lines and may fail with verbose triggers. New tests added are known to be broken. Signed-off-by: Miguel Torroja <miguel.torroja@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Miguel Torroja committed
Jul 13, 2017 at 09:00 UTC
c625bf0ee80a2362ce59819ce011ee17f2a6b2ce
1 file changed
+103
t/t9831-git-p4-triggers.sh
new
+103
@@ -0,0 +1,103 @@
1
+#!/bin/sh
2
+
3
+test_description='git p4 with server triggers'
4
+
5
+. ./lib-git-p4.sh
6
+
7
+test_expect_success 'start p4d' '
8
+ start_p4d
9
+'
10
+
11
+test_expect_success 'init depot' '
12
+ (
13
+ cd "$cli" &&
14
+ echo file1 >file1 &&
15
+ p4 add file1 &&
16
+ p4 submit -d "change 1"
17
+ echo file2 >file2 &&
18
+ p4 add file2 &&
19
+ p4 submit -d "change 2"
20
+ )
21
+'
22
+
23
+test_expect_failure 'clone with extra info lines from verbose p4 trigger' '
24
+ test_when_finished cleanup_git &&
25
+ (
26
+ p4 triggers -i <<-EOF
27
+ Triggers: p4triggertest-command command pre-user-change "echo verbose trigger"
28
+ EOF
29
+ ) &&
30
+ (
31
+ p4 change -o | grep -s "verbose trigger"
32
+ ) &&
33
+ git p4 clone --dest="$git" //depot/@all &&
34
+ (
35
+ p4 triggers -i <<-EOF
36
+ Triggers:
37
+ EOF
38
+ )
39
+'
40
+
41
+test_expect_failure 'import with extra info lines from verbose p4 trigger' '
42
+ test_when_finished cleanup_git &&
43
+ (
44
+ cd "$cli" &&
45
+ echo file3 >file3 &&
46
+ p4 add file3 &&
47
+ p4 submit -d "change 3"
48
+ ) &&
49
+ (
50
+ p4 triggers -i <<-EOF
51
+ Triggers: p4triggertest-command command pre-user-describe "echo verbose trigger"
52
+ EOF
53
+ ) &&
54
+ (
55
+ p4 describe 1 | grep -s "verbose trigger"
56
+ ) &&
57
+ git p4 clone --dest="$git" //depot/@all &&
58
+ (
59
+ cd "$git" &&
60
+ git p4 sync
61
+ )&&
62
+ (
63
+ p4 triggers -i <<-EOF
64
+ Triggers:
65
+ EOF
66
+ )
67
+'
68
+
69
+test_expect_failure 'submit description with extra info lines from verbose p4 change trigger' '
70
+ test_when_finished cleanup_git &&
71
+ (
72
+ p4 triggers -i <<-EOF
73
+ Triggers: p4triggertest-command command pre-user-change "echo verbose trigger"
74
+ EOF
75
+ ) &&
76
+ (
77
+ p4 change -o | grep -s "verbose trigger"
78
+ ) &&
79
+ git p4 clone --dest="$git" //depot &&
80
+ (
81
+ cd "$git" &&
82
+ git config git-p4.skipSubmitEdit true &&
83
+ echo file4 >file4 &&
84
+ git add file4 &&
85
+ git commit -m file4 &&
86
+ git p4 submit
87
+ ) &&
88
+ (
89
+ p4 triggers -i <<-EOF
90
+ Triggers:
91
+ EOF
92
+ ) &&
93
+ (
94
+ cd "$cli" &&
95
+ test_path_is_file file4
96
+ )
97
+'
98
+
99
+test_expect_success 'kill p4d' '
100
+ kill_p4d
101
+'
102
+
103
+test_done