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