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