rpm/tests/rpmquery.at

143 lines
3.1 KiB
Plaintext

# rpmquery.at: test rpmquery
#
# Copyright (C) 2007 Ralf Corsépius <corsepiu@fedoraproject.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# ------------------------------
AT_SETUP([rpmquery --qf -p *.i386.rpm])
AT_CHECK([
rpmquery \
--rcfile="${RPMRC}" \
--qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" \
-p "${abs_srcdir}"/data/RPMS/hello-1.0-1.i386.rpm
],
[0],
[hello-1.0-1.i386
],
[ignore])
AT_CLEANUP
# ------------------------------
AT_SETUP([rpmquery --qf -p *.src.rpm])
AT_CHECK([
rpmquery \
--rcfile="${RPMRC}" \
--qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" \
-p "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
],
[0],
[hello-1.0-1.i386
],
[ignore])
AT_CLEANUP
# ------------------------------
AT_SETUP([rpmquery -ql -p *.src.rpm])
AT_CHECK([
rpmquery \
--rcfile="${RPMRC}" \
-ql \
-p "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
],
[0],
[hello-1.0.tar.gz
hello.spec
],
[ignore])
AT_CLEANUP
# ------------------------------
AT_SETUP([rpmquery -ql -p *.i386.rpm])
AT_CHECK([
rpmquery \
--rcfile="${RPMRC}" \
-ql \
-p "${abs_srcdir}"/data/RPMS/hello-1.0-1.i386.rpm
],
[0],
[/usr/local/bin/hello
/usr/share/doc/hello-1.0
/usr/share/doc/hello-1.0/FAQ
],
[ignore])
AT_CLEANUP
# ------------------------------
# Try to check "scripts"
# * Gets rpmpopt-$(VERSION) involved
AT_SETUP([rpm -q --scripts -p *.i386.rpm])
AT_XFAIL_IF([test $RPM_XFAIL -gt 0])
AT_CHECK([
rpm \
--rcfile="${RPMRC}" \
-q --scripts \
-p "${abs_srcdir}"/data/RPMS/hello-1.0-1.i386.rpm
],
[0],
[preinstall program: /bin/sh
postinstall program: /bin/sh
preuninstall program: /bin/sh
postuninstall program: /bin/sh
],
[ignore])
AT_CLEANUP
# ------------------------------
# install a package into a local rpmdb
# * Shall only work with relocation
# * Use --ignorearch because we don't know the arch
AT_SETUP([rpm -qil hello])
AT_CHECK([
RPMDB_CLEAR
RPMDB_INIT
rpm --rcfile="${RPMRC}" \
--root="${abs_builddir}"/testing \
--nodeps --ignorearch --relocate=/usr="${abs_builddir}"/testing/check \
-i "${abs_srcdir}"/data/RPMS/hello-1.0-1.ppc64.rpm
],
[0])
AT_CHECK([
rpm --rcfile="${RPMRC}" \
--root="${abs_builddir}"/testing \
-q hello
],
[0],
[hello-1.0-1.ppc64
],
[ignore])
cat > expout << _ATEOF
${abs_builddir}/testing/check/local/bin/hello
${abs_builddir}/testing/check/share/doc/hello-1.0
${abs_builddir}/testing/check/share/doc/hello-1.0/FAQ
_ATEOF
AT_CHECK([
rpm --rcfile="${RPMRC}" \
--root="${abs_builddir}"/testing \
-ql hello
],
[0],
[expout],
[ignore])
AT_CLEANUP