xref: /freebsd/contrib/pkgconf/tests/parser.sh (revision a3cefe7f2b4df0f70ff92d4570ce18e517af43ec)
1*a3cefe7fSPierre Pronchery#!/usr/bin/env atf-sh
2*a3cefe7fSPierre Pronchery
3*a3cefe7fSPierre Pronchery. $(atf_get_srcdir)/test_env.sh
4*a3cefe7fSPierre Pronchery
5*a3cefe7fSPierre Proncherytests_init \
6*a3cefe7fSPierre Pronchery	comments \
7*a3cefe7fSPierre Pronchery	comments_in_fields \
8*a3cefe7fSPierre Pronchery	dos \
9*a3cefe7fSPierre Pronchery	no_trailing_newline \
10*a3cefe7fSPierre Pronchery	argv_parse \
11*a3cefe7fSPierre Pronchery	bad_option \
12*a3cefe7fSPierre Pronchery	argv_parse_3 \
13*a3cefe7fSPierre Pronchery	tilde_quoting \
14*a3cefe7fSPierre Pronchery	paren_quoting \
15*a3cefe7fSPierre Pronchery	multiline_field \
16*a3cefe7fSPierre Pronchery	multiline_bogus_header \
17*a3cefe7fSPierre Pronchery	escaped_backslash \
18*a3cefe7fSPierre Pronchery	flag_order_1 \
19*a3cefe7fSPierre Pronchery	flag_order_2 \
20*a3cefe7fSPierre Pronchery	flag_order_3 \
21*a3cefe7fSPierre Pronchery	flag_order_4 \
22*a3cefe7fSPierre Pronchery	quoted \
23*a3cefe7fSPierre Pronchery	variable_whitespace \
24*a3cefe7fSPierre Pronchery	fragment_escaping_1 \
25*a3cefe7fSPierre Pronchery	fragment_escaping_2 \
26*a3cefe7fSPierre Pronchery	fragment_escaping_3 \
27*a3cefe7fSPierre Pronchery	fragment_quoting \
28*a3cefe7fSPierre Pronchery	fragment_quoting_2 \
29*a3cefe7fSPierre Pronchery	fragment_quoting_3 \
30*a3cefe7fSPierre Pronchery	fragment_quoting_5 \
31*a3cefe7fSPierre Pronchery	fragment_quoting_7 \
32*a3cefe7fSPierre Pronchery	fragment_comment \
33*a3cefe7fSPierre Pronchery	msvc_fragment_quoting \
34*a3cefe7fSPierre Pronchery	msvc_fragment_render_cflags \
35*a3cefe7fSPierre Pronchery	tuple_dequote \
36*a3cefe7fSPierre Pronchery	version_with_whitespace \
37*a3cefe7fSPierre Pronchery	version_with_whitespace_2 \
38*a3cefe7fSPierre Pronchery	version_with_whitespace_diagnostic \
39*a3cefe7fSPierre Pronchery	fragment_groups \
40*a3cefe7fSPierre Pronchery	fragment_groups_composite \
41*a3cefe7fSPierre Pronchery	fragment_tree \
42*a3cefe7fSPierre Pronchery	truncated \
43*a3cefe7fSPierre Pronchery	c_comment
44*a3cefe7fSPierre Pronchery
45*a3cefe7fSPierre Proncherycomments_body()
46*a3cefe7fSPierre Pronchery{
47*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
48*a3cefe7fSPierre Pronchery	atf_check \
49*a3cefe7fSPierre Pronchery		-o inline:"-lfoo\n" \
50*a3cefe7fSPierre Pronchery		pkgconf --libs comments
51*a3cefe7fSPierre Pronchery}
52*a3cefe7fSPierre Pronchery
53*a3cefe7fSPierre Proncherycomments_in_fields_body()
54*a3cefe7fSPierre Pronchery{
55*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
56*a3cefe7fSPierre Pronchery	atf_check \
57*a3cefe7fSPierre Pronchery		-o inline:"-lfoo\n" \
58*a3cefe7fSPierre Pronchery		pkgconf --libs comments-in-fields
59*a3cefe7fSPierre Pronchery}
60*a3cefe7fSPierre Pronchery
61*a3cefe7fSPierre Proncherydos_body()
62*a3cefe7fSPierre Pronchery{
63*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
64*a3cefe7fSPierre Pronchery	atf_check \
65*a3cefe7fSPierre Pronchery		-o inline:"-L/test/lib/dos-lineendings -ldos-lineendings\n" \
66*a3cefe7fSPierre Pronchery		pkgconf --libs dos-lineendings
67*a3cefe7fSPierre Pronchery}
68*a3cefe7fSPierre Pronchery
69*a3cefe7fSPierre Proncheryno_trailing_newline_body()
70*a3cefe7fSPierre Pronchery{
71*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
72*a3cefe7fSPierre Pronchery	atf_check \
73*a3cefe7fSPierre Pronchery		-o inline:"-I/test/include/no-trailing-newline\n" \
74*a3cefe7fSPierre Pronchery		pkgconf --cflags no-trailing-newline
75*a3cefe7fSPierre Pronchery}
76*a3cefe7fSPierre Pronchery
77*a3cefe7fSPierre Proncheryargv_parse_body()
78*a3cefe7fSPierre Pronchery{
79*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
80*a3cefe7fSPierre Pronchery	atf_check \
81*a3cefe7fSPierre Pronchery		-o inline:"-llib-3 -llib-1 -llib-2 -lpthread\n" \
82*a3cefe7fSPierre Pronchery		pkgconf --libs argv-parse
83*a3cefe7fSPierre Pronchery}
84*a3cefe7fSPierre Pronchery
85*a3cefe7fSPierre Proncherybad_option_body()
86*a3cefe7fSPierre Pronchery{
87*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
88*a3cefe7fSPierre Pronchery	atf_check \
89*a3cefe7fSPierre Pronchery		-e ignore \
90*a3cefe7fSPierre Pronchery		-s eq:1 \
91*a3cefe7fSPierre Pronchery		pkgconf --exists -foo
92*a3cefe7fSPierre Pronchery}
93*a3cefe7fSPierre Pronchery
94*a3cefe7fSPierre Proncheryargv_parse_3_body()
95*a3cefe7fSPierre Pronchery{
96*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
97*a3cefe7fSPierre Pronchery	atf_check \
98*a3cefe7fSPierre Pronchery		-o inline:"-llib-1 -pthread /test/lib/lib2.so\n" \
99*a3cefe7fSPierre Pronchery		pkgconf --libs argv-parse-3
100*a3cefe7fSPierre Pronchery}
101*a3cefe7fSPierre Pronchery
102*a3cefe7fSPierre Proncherytilde_quoting_body()
103*a3cefe7fSPierre Pronchery{
104*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
105*a3cefe7fSPierre Pronchery	atf_check \
106*a3cefe7fSPierre Pronchery		-o inline:"-L~ -ltilde\n" \
107*a3cefe7fSPierre Pronchery		pkgconf --libs tilde-quoting
108*a3cefe7fSPierre Pronchery	atf_check \
109*a3cefe7fSPierre Pronchery		-o inline:"-I~\n" \
110*a3cefe7fSPierre Pronchery		pkgconf --cflags tilde-quoting
111*a3cefe7fSPierre Pronchery}
112*a3cefe7fSPierre Pronchery
113*a3cefe7fSPierre Proncheryparen_quoting_body()
114*a3cefe7fSPierre Pronchery{
115*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
116*a3cefe7fSPierre Pronchery	atf_check \
117*a3cefe7fSPierre Pronchery		-o inline:"-L\$(libdir) -ltilde\n" \
118*a3cefe7fSPierre Pronchery		pkgconf --libs paren-quoting
119*a3cefe7fSPierre Pronchery}
120*a3cefe7fSPierre Pronchery
121*a3cefe7fSPierre Proncherymultiline_field_body()
122*a3cefe7fSPierre Pronchery{
123*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
124*a3cefe7fSPierre Pronchery	atf_check \
125*a3cefe7fSPierre Pronchery		-e ignore \
126*a3cefe7fSPierre Pronchery		-o match:"multiline description" \
127*a3cefe7fSPierre Pronchery		pkgconf --list-all
128*a3cefe7fSPierre Pronchery}
129*a3cefe7fSPierre Pronchery
130*a3cefe7fSPierre Proncherymultiline_bogus_header_body()
131*a3cefe7fSPierre Pronchery{
132*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
133*a3cefe7fSPierre Pronchery	atf_check \
134*a3cefe7fSPierre Pronchery		-s eq:0 \
135*a3cefe7fSPierre Pronchery		pkgconf --exists multiline-bogus
136*a3cefe7fSPierre Pronchery}
137*a3cefe7fSPierre Pronchery
138*a3cefe7fSPierre Proncheryescaped_backslash_body()
139*a3cefe7fSPierre Pronchery{
140*a3cefe7fSPierre Pronchery	atf_check \
141*a3cefe7fSPierre Pronchery		-e ignore \
142*a3cefe7fSPierre Pronchery		-o inline:"-IC:\\\\\\\\A\n" \
143*a3cefe7fSPierre Pronchery		pkgconf --with-path=${selfdir}/lib1 --cflags escaped-backslash
144*a3cefe7fSPierre Pronchery}
145*a3cefe7fSPierre Pronchery
146*a3cefe7fSPierre Proncheryquoted_body()
147*a3cefe7fSPierre Pronchery{
148*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
149*a3cefe7fSPierre Pronchery	atf_check \
150*a3cefe7fSPierre Pronchery		-o inline:"-DQUOTED=\\\"bla\\\" -DA=\\\"escaped\\ string\\\'\\ literal\\\" -DB=\\\\\\1\$ -DC=bla\n" \
151*a3cefe7fSPierre Pronchery		pkgconf --cflags quotes
152*a3cefe7fSPierre Pronchery}
153*a3cefe7fSPierre Pronchery
154*a3cefe7fSPierre Proncheryflag_order_1_body()
155*a3cefe7fSPierre Pronchery{
156*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
157*a3cefe7fSPierre Pronchery	atf_check \
158*a3cefe7fSPierre Pronchery		-o inline:"-L/test/lib -Bdynamic -lfoo -Bstatic -lbar\n" \
159*a3cefe7fSPierre Pronchery		pkgconf --libs flag-order-1
160*a3cefe7fSPierre Pronchery}
161*a3cefe7fSPierre Pronchery
162*a3cefe7fSPierre Proncheryflag_order_2_body()
163*a3cefe7fSPierre Pronchery{
164*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
165*a3cefe7fSPierre Pronchery	atf_check \
166*a3cefe7fSPierre Pronchery		-o inline:"-L/test/lib -Bdynamic -lfoo -Bstatic -lbar -lfoo\n" \
167*a3cefe7fSPierre Pronchery		pkgconf --libs flag-order-1 foo
168*a3cefe7fSPierre Pronchery}
169*a3cefe7fSPierre Pronchery
170*a3cefe7fSPierre Proncheryflag_order_3_body()
171*a3cefe7fSPierre Pronchery{
172*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
173*a3cefe7fSPierre Pronchery	atf_check \
174*a3cefe7fSPierre Pronchery		-o inline:"-L/test/lib -Wl,--start-group -lfoo -lbar -Wl,--end-group\n" \
175*a3cefe7fSPierre Pronchery		pkgconf --libs flag-order-3
176*a3cefe7fSPierre Pronchery}
177*a3cefe7fSPierre Pronchery
178*a3cefe7fSPierre Proncheryflag_order_4_body()
179*a3cefe7fSPierre Pronchery{
180*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
181*a3cefe7fSPierre Pronchery	atf_check \
182*a3cefe7fSPierre Pronchery		-o inline:"-L/test/lib -Wl,--start-group -lfoo -lbar -Wl,--end-group -lfoo\n" \
183*a3cefe7fSPierre Pronchery		pkgconf --libs flag-order-3 foo
184*a3cefe7fSPierre Pronchery}
185*a3cefe7fSPierre Pronchery
186*a3cefe7fSPierre Proncheryvariable_whitespace_body()
187*a3cefe7fSPierre Pronchery{
188*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
189*a3cefe7fSPierre Pronchery	atf_check \
190*a3cefe7fSPierre Pronchery		-o inline:"-I/test/include\n" \
191*a3cefe7fSPierre Pronchery		pkgconf --cflags variable-whitespace
192*a3cefe7fSPierre Pronchery}
193*a3cefe7fSPierre Pronchery
194*a3cefe7fSPierre Proncheryfragment_quoting_body()
195*a3cefe7fSPierre Pronchery{
196*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
197*a3cefe7fSPierre Pronchery	atf_check \
198*a3cefe7fSPierre Pronchery		-o inline:"-fPIC -I/test/include/foo -DQUOTED=\\\"/test/share/doc\\\"\n" \
199*a3cefe7fSPierre Pronchery		pkgconf --cflags fragment-quoting
200*a3cefe7fSPierre Pronchery}
201*a3cefe7fSPierre Pronchery
202*a3cefe7fSPierre Proncheryfragment_quoting_2_body()
203*a3cefe7fSPierre Pronchery{
204*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
205*a3cefe7fSPierre Pronchery	atf_check \
206*a3cefe7fSPierre Pronchery		-o inline:"-fPIC -I/test/include/foo -DQUOTED=/test/share/doc\n" \
207*a3cefe7fSPierre Pronchery		pkgconf --cflags fragment-quoting-2
208*a3cefe7fSPierre Pronchery}
209*a3cefe7fSPierre Pronchery
210*a3cefe7fSPierre Proncheryfragment_quoting_3_body()
211*a3cefe7fSPierre Pronchery{
212*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
213*a3cefe7fSPierre Pronchery	atf_check \
214*a3cefe7fSPierre Pronchery		-o inline:"-fPIC -I/test/include/foo -DQUOTED=\\\"/test/share/doc\\\"\n" \
215*a3cefe7fSPierre Pronchery		pkgconf --cflags fragment-quoting-3
216*a3cefe7fSPierre Pronchery}
217*a3cefe7fSPierre Pronchery
218*a3cefe7fSPierre Proncheryfragment_quoting_5_body()
219*a3cefe7fSPierre Pronchery{
220*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
221*a3cefe7fSPierre Pronchery	atf_check \
222*a3cefe7fSPierre Pronchery		-o inline:"-fPIC -I/test/include/foo -DQUOTED=/test/share/doc\n" \
223*a3cefe7fSPierre Pronchery		pkgconf --cflags fragment-quoting-5
224*a3cefe7fSPierre Pronchery}
225*a3cefe7fSPierre Pronchery
226*a3cefe7fSPierre Proncheryfragment_quoting_7_body()
227*a3cefe7fSPierre Pronchery{
228*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
229*a3cefe7fSPierre Pronchery	atf_check \
230*a3cefe7fSPierre Pronchery		-o inline:"-Dhello=10 -Dworld=+32 -DDEFINED_FROM_PKG_CONFIG=hello\\ world\n" \
231*a3cefe7fSPierre Pronchery		pkgconf --cflags fragment-quoting-7
232*a3cefe7fSPierre Pronchery}
233*a3cefe7fSPierre Pronchery
234*a3cefe7fSPierre Proncheryfragment_escaping_1_body()
235*a3cefe7fSPierre Pronchery{
236*a3cefe7fSPierre Pronchery	atf_check \
237*a3cefe7fSPierre Pronchery		-o inline:"-IC:\\\\\\\\D\\ E\n" \
238*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --cflags fragment-escaping-1
239*a3cefe7fSPierre Pronchery}
240*a3cefe7fSPierre Pronchery
241*a3cefe7fSPierre Proncheryfragment_escaping_2_body()
242*a3cefe7fSPierre Pronchery{
243*a3cefe7fSPierre Pronchery	atf_check \
244*a3cefe7fSPierre Pronchery		-o inline:"-IC:\\\\\\\\D\\ E\n" \
245*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --cflags fragment-escaping-2
246*a3cefe7fSPierre Pronchery}
247*a3cefe7fSPierre Pronchery
248*a3cefe7fSPierre Proncheryfragment_escaping_3_body()
249*a3cefe7fSPierre Pronchery{
250*a3cefe7fSPierre Pronchery	atf_check \
251*a3cefe7fSPierre Pronchery		-o inline:"-IC:\\\\\\\\D\\ E\n" \
252*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --cflags fragment-escaping-3
253*a3cefe7fSPierre Pronchery}
254*a3cefe7fSPierre Pronchery
255*a3cefe7fSPierre Proncheryfragment_quoting_7a_body()
256*a3cefe7fSPierre Pronchery{
257*a3cefe7fSPierre Pronchery	set -x
258*a3cefe7fSPierre Pronchery
259*a3cefe7fSPierre Pronchery	test_cflags=$(pkgconf --with-path=${selfdir}/lib1 --cflags fragment-quoting-7)
260*a3cefe7fSPierre Pronchery	echo $test_cflags
261*a3cefe7fSPierre Pronchery#	test_cflags='-Dhello=10 -Dworld=+32 -DDEFINED_FROM_PKG_CONFIG=hello\\ world'
262*a3cefe7fSPierre Pronchery
263*a3cefe7fSPierre Pronchery	cat > test.c <<- __TESTCASE_END__
264*a3cefe7fSPierre Pronchery		int main(int argc, char *argv[]) { return DEFINED_FROM_PKG_CONFIG; }
265*a3cefe7fSPierre Pronchery	__TESTCASE_END__
266*a3cefe7fSPierre Pronchery	cc -o test-fragment-quoting-7 ${test_cflags} ./test.c
267*a3cefe7fSPierre Pronchery	atf_check -e 42 ./test-fragment-quoting-7
268*a3cefe7fSPierre Pronchery	rm -f test.c test-fragment-quoting-7
269*a3cefe7fSPierre Pronchery
270*a3cefe7fSPierre Pronchery	set +x
271*a3cefe7fSPierre Pronchery}
272*a3cefe7fSPierre Pronchery
273*a3cefe7fSPierre Pronchery
274*a3cefe7fSPierre Proncheryfragment_comment_body()
275*a3cefe7fSPierre Pronchery{
276*a3cefe7fSPierre Pronchery	atf_check \
277*a3cefe7fSPierre Pronchery		-o inline:'kuku=\#ttt\n' \
278*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --cflags fragment-comment
279*a3cefe7fSPierre Pronchery}
280*a3cefe7fSPierre Pronchery
281*a3cefe7fSPierre Proncherymsvc_fragment_quoting_body()
282*a3cefe7fSPierre Pronchery{
283*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
284*a3cefe7fSPierre Pronchery	atf_check \
285*a3cefe7fSPierre Pronchery		-o inline:'/libpath:"C:\D E" E.lib \n' \
286*a3cefe7fSPierre Pronchery		pkgconf --libs --msvc-syntax fragment-escaping-1
287*a3cefe7fSPierre Pronchery}
288*a3cefe7fSPierre Pronchery
289*a3cefe7fSPierre Proncherymsvc_fragment_render_cflags_body()
290*a3cefe7fSPierre Pronchery{
291*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
292*a3cefe7fSPierre Pronchery	atf_check \
293*a3cefe7fSPierre Pronchery		-o inline:'/I/test/include/foo /DFOO_STATIC \n' \
294*a3cefe7fSPierre Pronchery		pkgconf --cflags --static --msvc-syntax foo
295*a3cefe7fSPierre Pronchery}
296*a3cefe7fSPierre Pronchery
297*a3cefe7fSPierre Proncherytuple_dequote_body()
298*a3cefe7fSPierre Pronchery{
299*a3cefe7fSPierre Pronchery	atf_check \
300*a3cefe7fSPierre Pronchery		-o inline:'-L/test/lib -lfoo\n' \
301*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --libs tuple-quoting
302*a3cefe7fSPierre Pronchery}
303*a3cefe7fSPierre Pronchery
304*a3cefe7fSPierre Proncheryversion_with_whitespace_body()
305*a3cefe7fSPierre Pronchery{
306*a3cefe7fSPierre Pronchery	atf_check \
307*a3cefe7fSPierre Pronchery		-o inline:'3.922\n' \
308*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --modversion malformed-version
309*a3cefe7fSPierre Pronchery}
310*a3cefe7fSPierre Pronchery
311*a3cefe7fSPierre Proncheryversion_with_whitespace_2_body()
312*a3cefe7fSPierre Pronchery{
313*a3cefe7fSPierre Pronchery	atf_check \
314*a3cefe7fSPierre Pronchery		-o inline:'malformed-version = 3.922\n' \
315*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --print-provides malformed-version
316*a3cefe7fSPierre Pronchery}
317*a3cefe7fSPierre Pronchery
318*a3cefe7fSPierre Proncheryversion_with_whitespace_diagnostic_body()
319*a3cefe7fSPierre Pronchery{
320*a3cefe7fSPierre Pronchery	atf_check \
321*a3cefe7fSPierre Pronchery		-o match:warning \
322*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --validate malformed-version
323*a3cefe7fSPierre Pronchery}
324*a3cefe7fSPierre Pronchery
325*a3cefe7fSPierre Proncheryfragment_groups_body()
326*a3cefe7fSPierre Pronchery{
327*a3cefe7fSPierre Pronchery	atf_check \
328*a3cefe7fSPierre Pronchery		-o inline:'-Wl,--start-group -la -lb -Wl,--end-group -nodefaultlibs -Wl,--start-group -la -lgcc -Wl,--end-group -Wl,--gc-sections\n' \
329*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --libs fragment-groups
330*a3cefe7fSPierre Pronchery}
331*a3cefe7fSPierre Pronchery
332*a3cefe7fSPierre Proncheryfragment_groups_composite_body()
333*a3cefe7fSPierre Pronchery{
334*a3cefe7fSPierre Pronchery	atf_check \
335*a3cefe7fSPierre Pronchery		-o inline:'-Wl,--start-group -la -lb -Wl,--end-group -nodefaultlibs -Wl,--start-group -la -lgcc -Wl,--end-group -Wl,--gc-sections\n' \
336*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --libs fragment-groups-2
337*a3cefe7fSPierre Pronchery}
338*a3cefe7fSPierre Pronchery
339*a3cefe7fSPierre Proncherytruncated_body()
340*a3cefe7fSPierre Pronchery{
341*a3cefe7fSPierre Pronchery	atf_check \
342*a3cefe7fSPierre Pronchery		-o match:warning -s exit:1 \
343*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --validate truncated
344*a3cefe7fSPierre Pronchery}
345*a3cefe7fSPierre Pronchery
346*a3cefe7fSPierre Proncheryc_comment_body()
347*a3cefe7fSPierre Pronchery{
348*a3cefe7fSPierre Pronchery	atf_check \
349*a3cefe7fSPierre Pronchery		-o match:warning \
350*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --validate c-comment
351*a3cefe7fSPierre Pronchery}
352*a3cefe7fSPierre Pronchery
353*a3cefe7fSPierre Proncheryfragment_tree_body()
354*a3cefe7fSPierre Pronchery{
355*a3cefe7fSPierre Pronchery	atf_check \
356*a3cefe7fSPierre Pronchery		-o inline:"'-Wl,--start-group' [untyped]
357*a3cefe7fSPierre Pronchery  '-la' [type l]
358*a3cefe7fSPierre Pronchery  '-lb' [type l]
359*a3cefe7fSPierre Pronchery  '-Wl,--end-group' [untyped]
360*a3cefe7fSPierre Pronchery
361*a3cefe7fSPierre Pronchery'-nodefaultlibs' [untyped]
362*a3cefe7fSPierre Pronchery'-Wl,--start-group' [untyped]
363*a3cefe7fSPierre Pronchery  '-la' [type l]
364*a3cefe7fSPierre Pronchery  '-lgcc' [type l]
365*a3cefe7fSPierre Pronchery  '-Wl,--end-group' [untyped]
366*a3cefe7fSPierre Pronchery
367*a3cefe7fSPierre Pronchery'-Wl,--gc-sections' [untyped]
368*a3cefe7fSPierre Pronchery
369*a3cefe7fSPierre Pronchery" \
370*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --fragment-tree fragment-groups-2
371*a3cefe7fSPierre Pronchery}
372*a3cefe7fSPierre Pronchery
373