tg.sh: handle help -h
[topgit/pro.git] / t / t1301-awk-ref_match1.sh
bloba9d409beafa3501c16b76d2aa433898e1199a10c
1 #!/bin/sh
3 test_description='ref_match.awk functionality with trailer chars 0x21-0x2E'
5 TEST_NO_CREATE_REPO=1
7 . ./test-lib.sh
9 ap="$(tg --awk-path)" && test -n "$ap" && test -d "$ap" || die
10 aprm="$ap/ref_match"
11 test -f "$aprm" && test -r "$aprm" && test -x "$aprm" || die
13 test_plan 5
15 test_expect_success 'ref_match runs' '
16 # some stupid awks might not even compile it
17 awk -f "$aprm" </dev/null
20 test_expect_success 'ref_match normal order specials' '
21 printf >input "%s" "\
22 refs/t! 0001
23 refs/t) 0009
24 refs/t+ 000b
25 refs/t( 0008
26 refs/t- 000d
27 refs/t\$ 0004
28 refs/t'\'' 0007
29 refs/t* 000A
30 refs/t% 0005
31 refs/t& 0006
32 refs/t\\ 003c
33 refs/t. 000e
34 refs/t# 0003
35 refs/t, 000C
36 refs/t\" 0002
37 " && printf >expect "%s" "\
38 0001 object refs/t!
39 0002 object refs/t\"
40 0003 object refs/t#
41 0004 object refs/t\$
42 0005 object refs/t%
43 0006 object refs/t&
44 0007 object refs/t'\''
45 0008 object refs/t(
46 0009 object refs/t)
47 000a object refs/t*
48 000b object refs/t+
49 000c object refs/t,
50 000d object refs/t-
51 000e object refs/t.
52 003c object refs/t\\
53 " && awk -f "$aprm" <input >actual &&
54 test_cmp expect actual
57 test_expect_success 'ref_match pckdrefs order specials' '
58 printf >input "%s" "\
59 0001 refs/t!
60 0009 refs/t)
61 000b refs/t+
62 0008 refs/t(
63 000d refs/t-
64 0004 refs/t\$
65 0007 refs/t'\''
66 000A refs/t*
67 0005 refs/t%
68 0006 refs/t&
69 003c refs/t\\
70 000e refs/t.
71 0003 refs/t#
72 000C refs/t,
73 0002 refs/t\"
74 " && printf >expect "%s" "\
75 0001 object refs/t!
76 0002 object refs/t\"
77 0003 object refs/t#
78 0004 object refs/t\$
79 0005 object refs/t%
80 0006 object refs/t&
81 0007 object refs/t'\''
82 0008 object refs/t(
83 0009 object refs/t)
84 000a object refs/t*
85 000b object refs/t+
86 000c object refs/t,
87 000d object refs/t-
88 000e object refs/t.
89 003c object refs/t\\
90 " && awk -v pckdrefs=1 -f "$aprm" <input >actual &&
91 test_cmp expect actual
94 test_expect_success 'ref_match normal order specials versus slash' '
95 printf >input "%s" "\
96 refs/a-a 00aA
97 refs/a 000a
98 refs/2 0002
99 refs/f 000F
100 refs/1+1 0011
101 refs/d 000d
102 refs/d\$d 00dD
103 refs/b.b 00Bb
104 refs/1 0001
105 refs/3%3 0033
106 refs/c#c 00cC
107 refs/b 000B
108 refs/2&2 0022
109 refs/f,f 00Ff
110 refs/c 000c
111 refs/3 0003
112 " && printf >expect "%s" "\
113 0001 object refs/1
114 0011 object refs/1+1
115 0002 object refs/2
116 0022 object refs/2&2
117 0003 object refs/3
118 0033 object refs/3%3
119 000a object refs/a
120 00aa object refs/a-a
121 000b object refs/b
122 00bb object refs/b.b
123 000c object refs/c
124 00cc object refs/c#c
125 000d object refs/d
126 00dd object refs/d\$d
127 000f object refs/f
128 00ff object refs/f,f
129 " && awk -f "$aprm" <input >actual &&
130 test_cmp expect actual
133 test_expect_success 'ref_match pckdrefs order specials versus slash' '
134 printf >input "%s" "\
135 00aA refs/a-a
136 000a refs/a
137 0002 refs/2
138 000F refs/f
139 0011 refs/1+1
140 000d refs/d
141 00dD refs/d\$d
142 00Bb refs/b.b
143 0001 refs/1
144 0033 refs/3%3
145 00cC refs/c#c
146 000B refs/b
147 0022 refs/2&2
148 00Ff refs/f,f
149 000c refs/c
150 0003 refs/3
151 " && printf >expect "%s" "\
152 0001 object refs/1
153 0011 object refs/1+1
154 0002 object refs/2
155 0022 object refs/2&2
156 0003 object refs/3
157 0033 object refs/3%3
158 000a object refs/a
159 00aa object refs/a-a
160 000b object refs/b
161 00bb object refs/b.b
162 000c object refs/c
163 00cc object refs/c#c
164 000d object refs/d
165 00dd object refs/d\$d
166 000f object refs/f
167 00ff object refs/f,f
168 " && awk -v pckdrefs=1 -f "$aprm" <input >actual &&
169 test_cmp expect actual
172 test_done