1#    rpmscript.at: rpm scriptlet tests
2
3AT_BANNER([RPM scriptlets])
4
5AT_SETUP([basic script failures 1])
6AT_KEYWORDS([script])
7AT_SKIP_IF([$LUA_DISABLED])
8AT_CHECK([
9RPMDB_INIT
10
11runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
12for v in 1.0 2.0; do
13    runroot rpmbuild --quiet --define "ver ${v}" -bb /data/SPECS/scriptfail.spec
14done
15
16runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
17
18pkgname="scriptfail"
19pkg1="${pkgname}-1.0-1"
20pkg2="${pkgname}-2.0-1"
21pkgfile1="/build/RPMS/noarch/${pkg1}.noarch.rpm"
22pkgfile2="/build/RPMS/noarch/${pkg2}.noarch.rpm"
23
24echo PRETRANSFAIL
25runroot rpm -U --define "exitpretrans 1" ${pkgfile1} 2>&1; echo $?
26runroot rpm -q ${pkgname} 2>&1
27echo PRETRANS
28runroot rpm -U --define "exitpretrans 0" ${pkgfile1} 2>&1; echo $?
29runroot rpm -q ${pkgname} 2>&1
30runroot rpm -e ${pkgname} 2>&1
31echo PREFAIL
32runroot rpm -U --define "exitpre 1" ${pkgfile1} 2>&1; echo $?
33runroot rpm -q ${pkgname} 2>&1
34echo PRE
35runroot rpm -U --define "exitpre 0" ${pkgfile1} 2>&1; echo $?
36runroot rpm -q ${pkgname} 2>&1
37echo PREUNFAIL
38runroot rpm -e --define "exitpreun 1" ${pkgname} 2>&1; echo $?
39runroot rpm -q ${pkgname} 2>&1
40echo PREUN
41runroot rpm -e --define "exitpreun 0" ${pkgname} 2>&1; echo $?
42runroot rpm -q ${pkgname} 2>&1
43echo POSTFAIL
44runroot rpm -U ${pkgfile1} 2>&1
45runroot rpm -U --define "exitpost 1" ${pkgfile2} 2>&1; echo $?
46runroot rpm -q ${pkgname} 2>&1
47runroot rpm -e ${pkgname} 2>&1
48echo POST
49runroot rpm -U ${pkgfile1} 2>&1
50runroot rpm -U --define "exitpost 0" ${pkgfile2} 2>&1; echo $?
51runroot rpm -q ${pkgname} 2>&1
52runroot rpm -e ${pkgname} 2>&1
53echo POSTTRANSFAIL
54runroot rpm -U --define "exitposttrans 1" ${pkgfile1} 2>&1; echo $?
55runroot rpm -q ${pkgname} 2>&1
56runroot rpm -e ${pkgname} 2>&1
57echo POSTTRANS
58runroot rpm -U --define "exitposttrans 0" ${pkgfile1} 2>&1; echo $?
59runroot rpm -q ${pkgname} 2>&1
60runroot rpm -e ${pkgname} 2>&1
61echo POSTUNFAIL
62runroot rpm -U ${pkgfile1} 2>&1
63runroot rpm -U --define "exitpostun 1" ${pkgfile2} 2>&1; echo $?
64runroot rpm -q ${pkgname} 2>&1
65runroot rpm -e ${pkgname} 2>&1
66echo POSTUN
67runroot rpm -U ${pkgfile1} 2>&1
68runroot rpm -U --define "exitpostun 0" ${pkgfile2} 2>&1; echo $?
69runroot rpm -q ${pkgname} 2>&1
70runroot rpm -e ${pkgname} 2>&1
71
72exit 0
73],
74[],
75[PRETRANSFAIL
76error: %pretrans(scriptfail-1.0-1.noarch) scriptlet failed, exit status 1
77error: scriptfail-1.0-1.noarch: install skipped
781
79package scriptfail is not installed
80PRETRANS
810
82scriptfail-1.0-1.noarch
83PREFAIL
84error: %prein(scriptfail-1.0-1.noarch) scriptlet failed, exit status 1
85error: scriptfail-1.0-1.noarch: install failed
861
87package scriptfail is not installed
88PRE
890
90scriptfail-1.0-1.noarch
91PREUNFAIL
92error: %preun(scriptfail-1.0-1.noarch) scriptlet failed, exit status 1
93error: scriptfail-1.0-1.noarch: erase failed
941
95scriptfail-1.0-1.noarch
96PREUN
970
98package scriptfail is not installed
99POSTFAIL
100warning: %post(scriptfail-2.0-1.noarch) scriptlet failed, exit status 1
1010
102scriptfail-2.0-1.noarch
103POST
1040
105scriptfail-2.0-1.noarch
106POSTTRANSFAIL
107warning: %posttrans(scriptfail-1.0-1.noarch) scriptlet failed, exit status 1
1080
109scriptfail-1.0-1.noarch
110POSTTRANS
1110
112scriptfail-1.0-1.noarch
113POSTUNFAIL
114warning: %postun(scriptfail-1.0-1.noarch) scriptlet failed, exit status 1
1150
116scriptfail-2.0-1.noarch
117POSTUN
1180
119scriptfail-2.0-1.noarch
120],
121[])
122AT_CLEANUP
123
124# ------------------------------
125#
126AT_SETUP([basic scripts and arguments])
127AT_KEYWORDS([verify])
128AT_CHECK([
129RPMDB_INIT
130
131runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
132runroot rpmbuild --quiet -bb --define "rel 1" /data/SPECS/scripts.spec
133runroot rpmbuild --quiet -bb --define "rel 2" /data/SPECS/scripts.spec
134
135runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
136runroot rpm -Vvp /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
137runroot rpm -U /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
138runroot rpm -U /build/RPMS/noarch/scripts-1.0-2.noarch.rpm
139runroot rpm -Vv scripts
140runroot rpm -e scripts
141],
142[0],
143[scripts-1.0-1 VERIFY 0
144scripts-1.0-1 PRETRANS 1
145scripts-1.0-1 PRE 1
146scripts-1.0-1 POST 1
147scripts-1.0-1 POSTTRANS 1
148scripts-1.0-2 PRETRANS 2
149scripts-1.0-2 PRE 2
150scripts-1.0-2 POST 2
151scripts-1.0-1 PREUN 1
152scripts-1.0-1 POSTUN 1
153scripts-1.0-2 POSTTRANS 1
154scripts-1.0-2 VERIFY 1
155scripts-1.0-2 PREUN 0
156scripts-1.0-2 POSTUN 0
157],
158[])
159AT_CLEANUP
160
161AT_SETUP([basic trigger scripts and arguments])
162AT_KEYWORDS([trigger script])
163AT_CHECK([
164RPMDB_INIT
165
166runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
167runroot rpmbuild --quiet -bb --define "rel 1" /data/SPECS/scripts.spec
168runroot rpmbuild --quiet -bb --define "rel 2" /data/SPECS/scripts.spec
169runroot rpmbuild --quiet -bb --define "rel 1" --define "trigpkg scripts" /data/SPECS/triggers.spec
170runroot rpmbuild --quiet -bb --define "rel 2" --define "trigpkg scripts" /data/SPECS/triggers.spec
171
172runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
173echo TRIGGERS 1
174runroot rpm -U /build/RPMS/noarch/triggers-1.0-1.noarch.rpm
175echo SCRIPTS 1
176runroot rpm -U /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
177echo SCRIPTS 2
178runroot rpm -U /build/RPMS/noarch/scripts-1.0-2.noarch.rpm
179echo TRIGGERS 2
180runroot rpm -U /build/RPMS/noarch/triggers-1.0-2.noarch.rpm
181echo ERASE
182runroot rpm -e scripts
183],
184[0],
185[TRIGGERS 1
186SCRIPTS 1
187scripts-1.0-1 PRETRANS 1
188triggers-1.0-1 TRIGGERPREIN 1 0
189scripts-1.0-1 PRE 1
190scripts-1.0-1 POST 1
191triggers-1.0-1 TRIGGERIN 1 1
192scripts-1.0-1 POSTTRANS 1
193SCRIPTS 2
194scripts-1.0-2 PRETRANS 2
195triggers-1.0-1 TRIGGERPREIN 1 1
196scripts-1.0-2 PRE 2
197scripts-1.0-2 POST 2
198triggers-1.0-1 TRIGGERIN 1 2
199triggers-1.0-1 TRIGGERUN 1 1
200scripts-1.0-1 PREUN 1
201scripts-1.0-1 POSTUN 1
202triggers-1.0-1 TRIGGERPOSTUN 1 1
203scripts-1.0-2 POSTTRANS 1
204TRIGGERS 2
205triggers-1.0-2 TRIGGERPREIN 1 1
206triggers-1.0-2 TRIGGERIN 2 1
207triggers-1.0-1 TRIGGERUN 1 1
208ERASE
209triggers-1.0-2 TRIGGERUN 1 0
210scripts-1.0-2 PREUN 0
211scripts-1.0-2 POSTUN 0
212triggers-1.0-2 TRIGGERPOSTUN 1 0
213],
214[])
215AT_CLEANUP
216
217AT_SETUP([basic file trigger scripts])
218AT_KEYWORDS([file trigger script])
219AT_CHECK([
220AT_SKIP_IF([$LUA_DISABLED])
221RPMDB_INIT
222
223runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
224runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
225runroot rpmbuild --quiet -bb /data/SPECS/hlinktest.spec
226runroot rpmbuild --quiet -bb /data/SPECS/filetriggers.spec
227
228runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
229runroot rpm -U /build/RPMS/noarch/filetriggers-1.0-1.noarch.rpm
230echo INSTALLATION
231runroot rpm -U /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm \
232/build/RPMS/noarch/hlinktest-1.0-1.noarch.rpm
233echo ERASE
234runroot rpm -e hello-script hlinktest
235],
236[0],
237[INSTALLATION
238filetriggerin(/foo*):
239/foo/aaaa
240/foo/copyllo
241/foo/hello
242/foo/hello-bar
243/foo/hello-foo
244/foo/hello-world
245/foo/zzzz
246
247filetriggerin(/foo*)<lua>:
248/foo/aaaa
249/foo/copyllo
250/foo/hello
251/foo/hello-bar
252/foo/hello-foo
253/foo/hello-world
254/foo/zzzz
255
256filetriggerin(/usr/bin*): 0
257/usr/bin/hello
258
259filetriggerin(/usr/bin*)<lua>: 0.0
260/usr/bin/hello
261
262transfiletriggerin(/usr/bin*): 0
263/usr/bin/hello
264
265transfiletriggerin(/foo*):
266/foo/aaaa
267/foo/copyllo
268/foo/hello
269/foo/hello-bar
270/foo/hello-foo
271/foo/hello-world
272/foo/zzzz
273
274ERASE
275transfiletriggerun(/usr/bin*): 0
276/usr/bin/hello
277
278transfiletriggerun(/foo*):
279/foo/aaaa
280/foo/copyllo
281/foo/hello
282/foo/hello-bar
283/foo/hello-foo
284/foo/hello-world
285/foo/zzzz
286
287filetriggerun(/foo*):
288/foo/aaaa
289/foo/copyllo
290/foo/hello
291/foo/hello-bar
292/foo/hello-foo
293/foo/hello-world
294/foo/zzzz
295
296filetriggerpostun(/foo*):
297/foo/aaaa
298/foo/copyllo
299/foo/hello
300/foo/hello-bar
301/foo/hello-foo
302/foo/hello-world
303/foo/zzzz
304
305filetriggerun(/usr/bin*): 0
306/usr/bin/hello
307
308filetriggerpostun(/usr/bin*): 0
309/usr/bin/hello
310
311transfiletriggerpostun(/usr/bin*): 0
312
313transfiletriggerpostun(/foo*):
314
315],
316[])
317AT_CLEANUP
318
319AT_SETUP([basic file triggers 2])
320AT_KEYWORDS([filetrigger script])
321AT_CHECK([
322RPMDB_INIT
323
324runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
325for v in 1.0 2.0 3.0; do
326    runroot rpmbuild --quiet -bb --define "ver ${v}" /data/SPECS/parallel.spec
327done
328
329runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
330runroot rpm -i \
331	/build/RPMS/noarch/parallel-1.0-1.noarch.rpm \
332	/build/RPMS/noarch/parallel-2.0-1.noarch.rpm \
333	/build/RPMS/noarch/parallel-3.0-1.noarch.rpm
334
335echo INSTALL:
336runroot rpm -U /build/RPMS/noarch/parallel-trigger-1.0-1.noarch.rpm
337echo UPGRADE:
338runroot rpm -U /build/RPMS/noarch/parallel-trigger-2.0-1.noarch.rpm
339echo ERASE:
340runroot rpm -e parallel-trigger
341
342],
343[0],
344[INSTALL:
345%filetriggerin: 0
34636
347%transfiletriggerin: 0
34836
349UPGRADE:
350%transfiletriggerun: 0
35136
352%filetriggerin: 0
35336
354%transfiletriggerin: 0
35536
356ERASE:
357%transfiletriggerun: 0
35836
359],
360[])
361AT_CLEANUP
362
363