123 lines
2.8 KiB
Plaintext
123 lines
2.8 KiB
Plaintext
# rpmverify.at: rpm verification tests
|
|
|
|
AT_BANNER([RPM verification])
|
|
|
|
# ------------------------------
|
|
#
|
|
AT_SETUP([dependency problems])
|
|
AT_KEYWORDS([verify])
|
|
AT_CHECK([
|
|
RPMDB_CLEAR
|
|
rm -rf "${TOPDIR}"
|
|
|
|
run rpmbuild --quiet -bb \
|
|
--define "pkg one" \
|
|
--define "reqs deptest-two" \
|
|
${RPMDATA}/SPECS/deptest.spec
|
|
|
|
runroot rpm -U --nodeps "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
|
|
runroot rpm -Va
|
|
],
|
|
[1],
|
|
[Unsatisfied dependencies for deptest-one-1.0-1.noarch:
|
|
deptest-two is needed by (installed) deptest-one-1.0-1.noarch
|
|
],
|
|
[])
|
|
AT_CLEANUP
|
|
|
|
# Test file verify when no errors expected.
|
|
# Ignore dependencies here as we're not testing for them, and
|
|
# --nogroup --nouser is required when running tests as non-root.
|
|
AT_SETUP([files with no problems])
|
|
AT_KEYWORDS([verify])
|
|
AT_CHECK([
|
|
RPMDB_CLEAR
|
|
|
|
tpkg="hello-1.0-1.i386.rpm"
|
|
cp "${RPMDATA}/RPMS/${tpkg}" "${RPMTEST}"
|
|
|
|
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos "${tpkg}"
|
|
runroot rpm -Va --nodeps --nouser --nogroup
|
|
],
|
|
[0],
|
|
[],
|
|
[])
|
|
AT_CLEANUP
|
|
|
|
# Test file verify when no errors expected in verbose mode.
|
|
AT_SETUP([files with no problems in verbose mode])
|
|
AT_KEYWORDS([verify])
|
|
AT_CHECK([
|
|
RPMDB_CLEAR
|
|
|
|
tpkg="hello-1.0-1.i386.rpm"
|
|
cp "${RPMDATA}/RPMS/${tpkg}" "${RPMTEST}"
|
|
|
|
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos "${tpkg}"
|
|
runroot rpm -Vva --nodeps --nouser --nogroup
|
|
],
|
|
[0],
|
|
[......... /usr/local/bin/hello
|
|
......... /usr/share/doc/hello-1.0
|
|
......... d /usr/share/doc/hello-1.0/FAQ
|
|
],
|
|
[])
|
|
AT_CLEANUP
|
|
|
|
# Test file verify after mutilating the files a bit.
|
|
AT_SETUP([verify files with problems present])
|
|
AT_KEYWORDS([verify])
|
|
AT_CHECK([
|
|
RPMDB_CLEAR
|
|
|
|
tpkg="hello-1.0-1.i386.rpm"
|
|
cp "${RPMDATA}/RPMS/${tpkg}" "${RPMTEST}"
|
|
|
|
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos "${tpkg}"
|
|
rm -f "${RPMTEST}"/usr/share/doc/hello-1.0/FAQ
|
|
chmod u-x "${RPMTEST}"/usr/local/bin/hello
|
|
dd if=/dev/zero of="${RPMTEST}"/usr/local/bin/hello \
|
|
conv=notrunc bs=1 seek=5 count=6 2> /dev/null
|
|
runroot rpm -Va --nodeps --nouser --nogroup
|
|
],
|
|
[1],
|
|
[5..T...M. /usr/local/bin/hello
|
|
missing d /usr/share/doc/hello-1.0/FAQ
|
|
],
|
|
[])
|
|
AT_CLEANUP
|
|
|
|
# Test verify script success & failure behavior
|
|
# Ignoring stderr spew for now
|
|
AT_SETUP([verifyscript failure])
|
|
AT_KEYWORDS([verify])
|
|
AT_CHECK([
|
|
RPMDB_CLEAR
|
|
|
|
rm -rf "${TOPDIR}"
|
|
run rpmbuild --quiet -bb "${RPMDATA}"/SPECS/verifyscript.spec
|
|
runroot rpm -U --nodeps "${TOPDIR}"/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
|
|
rm -f "${RPMTEST}"/var/checkme
|
|
runroot rpm -V --nodeps verifyscript
|
|
],
|
|
[1],
|
|
[],
|
|
[ignore])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([verifyscript success])
|
|
AT_KEYWORDS([verify])
|
|
AT_CHECK([
|
|
RPMDB_CLEAR
|
|
|
|
rm -rf "${TOPDIR}"
|
|
run rpmbuild --quiet -bb "${RPMDATA}"/SPECS/verifyscript.spec
|
|
runroot rpm -U --nodeps "${TOPDIR}"/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
|
|
touch "${RPMTEST}"/var/checkme
|
|
runroot rpm -V --nodeps verifyscript
|
|
],
|
|
[0],
|
|
[],
|
|
[])
|
|
AT_CLEANUP
|