xref: /freebsd/contrib/pkgconf/tests/provides.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	simple \
7*a3cefe7fSPierre Pronchery	foo \
8*a3cefe7fSPierre Pronchery	bar \
9*a3cefe7fSPierre Pronchery	baz \
10*a3cefe7fSPierre Pronchery	quux \
11*a3cefe7fSPierre Pronchery	moo \
12*a3cefe7fSPierre Pronchery	meow \
13*a3cefe7fSPierre Pronchery	indirect_dependency_node
14*a3cefe7fSPierre Pronchery
15*a3cefe7fSPierre Proncherysimple_body()
16*a3cefe7fSPierre Pronchery{
17*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
18*a3cefe7fSPierre ProncheryOUTPUT="provides-test-foo = 1.0.0
19*a3cefe7fSPierre Proncheryprovides-test-bar > 1.1.0
20*a3cefe7fSPierre Proncheryprovides-test-baz >= 1.1.0
21*a3cefe7fSPierre Proncheryprovides-test-quux < 1.2.0
22*a3cefe7fSPierre Proncheryprovides-test-moo <= 1.2.0
23*a3cefe7fSPierre Proncheryprovides-test-meow != 1.3.0
24*a3cefe7fSPierre Proncheryprovides = 1.2.3
25*a3cefe7fSPierre Pronchery"
26*a3cefe7fSPierre Pronchery	atf_check \
27*a3cefe7fSPierre Pronchery		-o inline:"${OUTPUT}" \
28*a3cefe7fSPierre Pronchery		pkgconf --print-provides provides
29*a3cefe7fSPierre Pronchery	atf_check \
30*a3cefe7fSPierre Pronchery		-o inline:"-lfoo\n" \
31*a3cefe7fSPierre Pronchery		pkgconf --libs provides-request-simple
32*a3cefe7fSPierre Pronchery	atf_check \
33*a3cefe7fSPierre Pronchery		-e ignore \
34*a3cefe7fSPierre Pronchery		-s exit:1 \
35*a3cefe7fSPierre Pronchery		pkgconf --no-provides --libs provides-request-simple
36*a3cefe7fSPierre Pronchery}
37*a3cefe7fSPierre Pronchery
38*a3cefe7fSPierre Proncheryfoo_body()
39*a3cefe7fSPierre Pronchery{
40*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
41*a3cefe7fSPierre Pronchery	atf_check \
42*a3cefe7fSPierre Pronchery		-o ignore \
43*a3cefe7fSPierre Pronchery		pkgconf --libs provides-test-foo
44*a3cefe7fSPierre Pronchery	atf_check \
45*a3cefe7fSPierre Pronchery		-o ignore \
46*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-foo = 1.0.0'
47*a3cefe7fSPierre Pronchery	atf_check \
48*a3cefe7fSPierre Pronchery		-o ignore \
49*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-foo >= 1.0.0'
50*a3cefe7fSPierre Pronchery	atf_check \
51*a3cefe7fSPierre Pronchery		-o ignore \
52*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-foo <= 1.0.0'
53*a3cefe7fSPierre Pronchery	atf_check \
54*a3cefe7fSPierre Pronchery		-s exit:1 \
55*a3cefe7fSPierre Pronchery		-e ignore \
56*a3cefe7fSPierre Pronchery		-o ignore \
57*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-foo != 1.0.0'
58*a3cefe7fSPierre Pronchery	atf_check \
59*a3cefe7fSPierre Pronchery		-s exit:1 \
60*a3cefe7fSPierre Pronchery		-e ignore \
61*a3cefe7fSPierre Pronchery		-o ignore \
62*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-foo > 1.0.0'
63*a3cefe7fSPierre Pronchery	atf_check \
64*a3cefe7fSPierre Pronchery		-s exit:1 \
65*a3cefe7fSPierre Pronchery		-e ignore \
66*a3cefe7fSPierre Pronchery		-o ignore \
67*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-foo < 1.0.0'
68*a3cefe7fSPierre Pronchery}
69*a3cefe7fSPierre Pronchery
70*a3cefe7fSPierre Proncherybar_body()
71*a3cefe7fSPierre Pronchery{
72*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
73*a3cefe7fSPierre Pronchery	atf_check \
74*a3cefe7fSPierre Pronchery		-o ignore \
75*a3cefe7fSPierre Pronchery		pkgconf --libs provides-test-bar
76*a3cefe7fSPierre Pronchery	atf_check \
77*a3cefe7fSPierre Pronchery		-o ignore \
78*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-bar = 1.1.1'
79*a3cefe7fSPierre Pronchery	atf_check \
80*a3cefe7fSPierre Pronchery		-o ignore \
81*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-bar >= 1.1.1'
82*a3cefe7fSPierre Pronchery	atf_check \
83*a3cefe7fSPierre Pronchery		-o ignore \
84*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-bar <= 1.1.1'
85*a3cefe7fSPierre Pronchery	atf_check \
86*a3cefe7fSPierre Pronchery		-o ignore \
87*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-bar != 1.1.0'
88*a3cefe7fSPierre Pronchery	atf_check \
89*a3cefe7fSPierre Pronchery		-s exit:1 \
90*a3cefe7fSPierre Pronchery		-e ignore \
91*a3cefe7fSPierre Pronchery		-o ignore \
92*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-bar != 1.1.1'
93*a3cefe7fSPierre Pronchery	atf_check \
94*a3cefe7fSPierre Pronchery		-o ignore \
95*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-bar > 1.1.1'
96*a3cefe7fSPierre Pronchery	atf_check \
97*a3cefe7fSPierre Pronchery		-s exit:1 \
98*a3cefe7fSPierre Pronchery		-e ignore \
99*a3cefe7fSPierre Pronchery		-o ignore \
100*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-bar <= 1.1.0'
101*a3cefe7fSPierre Pronchery	atf_check \
102*a3cefe7fSPierre Pronchery		-o ignore \
103*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-bar <= 1.2.0'
104*a3cefe7fSPierre Pronchery}
105*a3cefe7fSPierre Pronchery
106*a3cefe7fSPierre Proncherybaz_body()
107*a3cefe7fSPierre Pronchery{
108*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
109*a3cefe7fSPierre Pronchery	atf_check \
110*a3cefe7fSPierre Pronchery		-o ignore \
111*a3cefe7fSPierre Pronchery		pkgconf --libs provides-test-baz
112*a3cefe7fSPierre Pronchery	atf_check \
113*a3cefe7fSPierre Pronchery		-o ignore \
114*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz = 1.1.0'
115*a3cefe7fSPierre Pronchery	atf_check \
116*a3cefe7fSPierre Pronchery		-o ignore \
117*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz >= 1.1.0'
118*a3cefe7fSPierre Pronchery	atf_check \
119*a3cefe7fSPierre Pronchery		-o ignore \
120*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz <= 1.1.0'
121*a3cefe7fSPierre Pronchery	atf_check \
122*a3cefe7fSPierre Pronchery		-s exit:1 \
123*a3cefe7fSPierre Pronchery		-e ignore \
124*a3cefe7fSPierre Pronchery		-o ignore \
125*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz != 1.1.0'
126*a3cefe7fSPierre Pronchery	atf_check \
127*a3cefe7fSPierre Pronchery		-o ignore \
128*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz != 1.0.0'
129*a3cefe7fSPierre Pronchery	atf_check \
130*a3cefe7fSPierre Pronchery		-o ignore \
131*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz > 1.1.1'
132*a3cefe7fSPierre Pronchery	atf_check \
133*a3cefe7fSPierre Pronchery		-o ignore \
134*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz > 1.1.0'
135*a3cefe7fSPierre Pronchery	atf_check \
136*a3cefe7fSPierre Pronchery		-s exit:1 \
137*a3cefe7fSPierre Pronchery		-e ignore \
138*a3cefe7fSPierre Pronchery		-o ignore \
139*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz < 1.1.0'
140*a3cefe7fSPierre Pronchery	atf_check \
141*a3cefe7fSPierre Pronchery		-o ignore \
142*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-baz < 1.2.0'
143*a3cefe7fSPierre Pronchery}
144*a3cefe7fSPierre Pronchery
145*a3cefe7fSPierre Proncheryquux_body()
146*a3cefe7fSPierre Pronchery{
147*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
148*a3cefe7fSPierre Pronchery	atf_check \
149*a3cefe7fSPierre Pronchery		-o ignore \
150*a3cefe7fSPierre Pronchery		pkgconf --libs provides-test-quux
151*a3cefe7fSPierre Pronchery	atf_check \
152*a3cefe7fSPierre Pronchery		-o ignore \
153*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux = 1.1.9'
154*a3cefe7fSPierre Pronchery	atf_check \
155*a3cefe7fSPierre Pronchery		-o ignore \
156*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux >= 1.1.0'
157*a3cefe7fSPierre Pronchery	atf_check \
158*a3cefe7fSPierre Pronchery		-o ignore \
159*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux >= 1.1.9'
160*a3cefe7fSPierre Pronchery	atf_check \
161*a3cefe7fSPierre Pronchery		-s exit:1 \
162*a3cefe7fSPierre Pronchery		-e ignore \
163*a3cefe7fSPierre Pronchery		-o ignore \
164*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux >= 1.2.0'
165*a3cefe7fSPierre Pronchery	atf_check \
166*a3cefe7fSPierre Pronchery		-s exit:1 \
167*a3cefe7fSPierre Pronchery		-e ignore \
168*a3cefe7fSPierre Pronchery		-o ignore \
169*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux <= 1.2.0'
170*a3cefe7fSPierre Pronchery	atf_check \
171*a3cefe7fSPierre Pronchery		-o ignore \
172*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux <= 1.1.9'
173*a3cefe7fSPierre Pronchery	atf_check \
174*a3cefe7fSPierre Pronchery		-o ignore \
175*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux != 1.2.0'
176*a3cefe7fSPierre Pronchery	atf_check \
177*a3cefe7fSPierre Pronchery		-s exit:1 \
178*a3cefe7fSPierre Pronchery		-e ignore \
179*a3cefe7fSPierre Pronchery		-o ignore \
180*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux != 1.1.0'
181*a3cefe7fSPierre Pronchery	atf_check \
182*a3cefe7fSPierre Pronchery		-s exit:1 \
183*a3cefe7fSPierre Pronchery		-e ignore \
184*a3cefe7fSPierre Pronchery		-o ignore \
185*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux != 1.0.0'
186*a3cefe7fSPierre Pronchery	atf_check \
187*a3cefe7fSPierre Pronchery		-o ignore \
188*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux > 1.1.9'
189*a3cefe7fSPierre Pronchery	atf_check \
190*a3cefe7fSPierre Pronchery		-s exit:1 \
191*a3cefe7fSPierre Pronchery		-e ignore \
192*a3cefe7fSPierre Pronchery		-o ignore \
193*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux > 1.2.0'
194*a3cefe7fSPierre Pronchery	atf_check \
195*a3cefe7fSPierre Pronchery		-o ignore \
196*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux < 1.1.0'
197*a3cefe7fSPierre Pronchery	atf_check \
198*a3cefe7fSPierre Pronchery		-s exit:1 \
199*a3cefe7fSPierre Pronchery		-e ignore \
200*a3cefe7fSPierre Pronchery		-o ignore \
201*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-quux > 1.2.0'
202*a3cefe7fSPierre Pronchery}
203*a3cefe7fSPierre Pronchery
204*a3cefe7fSPierre Proncherymoo_body()
205*a3cefe7fSPierre Pronchery{
206*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
207*a3cefe7fSPierre Pronchery	atf_check \
208*a3cefe7fSPierre Pronchery		-o ignore \
209*a3cefe7fSPierre Pronchery		pkgconf --libs provides-test-moo
210*a3cefe7fSPierre Pronchery	atf_check \
211*a3cefe7fSPierre Pronchery		-o ignore \
212*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo = 1.2.0'
213*a3cefe7fSPierre Pronchery	atf_check \
214*a3cefe7fSPierre Pronchery		-o ignore \
215*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo >= 1.1.0'
216*a3cefe7fSPierre Pronchery	atf_check \
217*a3cefe7fSPierre Pronchery		-o ignore \
218*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo >= 1.2.0'
219*a3cefe7fSPierre Pronchery	atf_check \
220*a3cefe7fSPierre Pronchery		-s exit:1 \
221*a3cefe7fSPierre Pronchery		-e ignore \
222*a3cefe7fSPierre Pronchery		-o ignore \
223*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo >= 1.2.1'
224*a3cefe7fSPierre Pronchery	atf_check \
225*a3cefe7fSPierre Pronchery		-o ignore \
226*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo <= 1.2.0'
227*a3cefe7fSPierre Pronchery	atf_check \
228*a3cefe7fSPierre Pronchery		-s exit:1 \
229*a3cefe7fSPierre Pronchery		-e ignore \
230*a3cefe7fSPierre Pronchery		-o ignore \
231*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo != 1.1.0'
232*a3cefe7fSPierre Pronchery	atf_check \
233*a3cefe7fSPierre Pronchery		-s exit:1 \
234*a3cefe7fSPierre Pronchery		-e ignore \
235*a3cefe7fSPierre Pronchery		-o ignore \
236*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo != 1.0.0'
237*a3cefe7fSPierre Pronchery	atf_check \
238*a3cefe7fSPierre Pronchery		-o ignore \
239*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo > 1.1.9'
240*a3cefe7fSPierre Pronchery	atf_check \
241*a3cefe7fSPierre Pronchery		-s exit:1 \
242*a3cefe7fSPierre Pronchery		-e ignore \
243*a3cefe7fSPierre Pronchery		-o ignore \
244*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo > 1.2.0'
245*a3cefe7fSPierre Pronchery	atf_check \
246*a3cefe7fSPierre Pronchery		-o ignore \
247*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo < 1.1.0'
248*a3cefe7fSPierre Pronchery	atf_check \
249*a3cefe7fSPierre Pronchery		-o ignore \
250*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-moo < 1.2.0'
251*a3cefe7fSPierre Pronchery}
252*a3cefe7fSPierre Pronchery
253*a3cefe7fSPierre Proncherymeow_body()
254*a3cefe7fSPierre Pronchery{
255*a3cefe7fSPierre Pronchery	export PKG_CONFIG_PATH="${selfdir}/lib1"
256*a3cefe7fSPierre Pronchery	atf_check \
257*a3cefe7fSPierre Pronchery		-o ignore \
258*a3cefe7fSPierre Pronchery		pkgconf --libs provides-test-meow
259*a3cefe7fSPierre Pronchery	atf_check \
260*a3cefe7fSPierre Pronchery		-s exit:1 \
261*a3cefe7fSPierre Pronchery		-e ignore \
262*a3cefe7fSPierre Pronchery		-o ignore \
263*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow = 1.3.0'
264*a3cefe7fSPierre Pronchery	atf_check \
265*a3cefe7fSPierre Pronchery		-o ignore \
266*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow != 1.3.0'
267*a3cefe7fSPierre Pronchery	atf_check \
268*a3cefe7fSPierre Pronchery		-s exit:1 \
269*a3cefe7fSPierre Pronchery		-e ignore \
270*a3cefe7fSPierre Pronchery		-o ignore \
271*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow > 1.2.9'
272*a3cefe7fSPierre Pronchery	atf_check \
273*a3cefe7fSPierre Pronchery		-s exit:1 \
274*a3cefe7fSPierre Pronchery		-e ignore \
275*a3cefe7fSPierre Pronchery		-o ignore \
276*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow < 1.3.1'
277*a3cefe7fSPierre Pronchery	atf_check \
278*a3cefe7fSPierre Pronchery		-o ignore \
279*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow < 1.3.0'
280*a3cefe7fSPierre Pronchery	atf_check \
281*a3cefe7fSPierre Pronchery		-o ignore \
282*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow > 1.3.0'
283*a3cefe7fSPierre Pronchery	atf_check \
284*a3cefe7fSPierre Pronchery		-s exit:1 \
285*a3cefe7fSPierre Pronchery		-e ignore \
286*a3cefe7fSPierre Pronchery		-o ignore \
287*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow >= 1.3.0'
288*a3cefe7fSPierre Pronchery	atf_check \
289*a3cefe7fSPierre Pronchery		-o ignore \
290*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow >= 1.3.1'
291*a3cefe7fSPierre Pronchery	atf_check \
292*a3cefe7fSPierre Pronchery		-s exit:1 \
293*a3cefe7fSPierre Pronchery		-e ignore \
294*a3cefe7fSPierre Pronchery		-o ignore \
295*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow <= 1.3.0'
296*a3cefe7fSPierre Pronchery	atf_check \
297*a3cefe7fSPierre Pronchery		-o ignore \
298*a3cefe7fSPierre Pronchery		pkgconf --libs 'provides-test-meow < 1.2.9'
299*a3cefe7fSPierre Pronchery}
300*a3cefe7fSPierre Pronchery
301*a3cefe7fSPierre Proncheryindirect_dependency_node_body()
302*a3cefe7fSPierre Pronchery{
303*a3cefe7fSPierre Pronchery	atf_check \
304*a3cefe7fSPierre Pronchery		-o inline:'1.2.3\n' \
305*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --modversion 'provides-test-meow'
306*a3cefe7fSPierre Pronchery	atf_check \
307*a3cefe7fSPierre Pronchery		-s exit:1 \
308*a3cefe7fSPierre Pronchery		-e ignore \
309*a3cefe7fSPierre Pronchery		pkgconf --with-path="${selfdir}/lib1" --modversion 'provides-test-meow = 1.3.0'
310*a3cefe7fSPierre Pronchery}
311