csomh / source-git / rpm

Forked from source-git/rpm 4 years ago
Clone
2ff057
#    rpmverify.at: rpm verification tests
2ff057
2ff057
AT_BANNER([RPM verification])
2ff057
2ff057
# ------------------------------
2ff057
# 
2ff057
AT_SETUP([dependency problems])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
rm -rf "${TOPDIR}"
2ff057
2ff057
runroot rpmbuild --quiet -bb \
2ff057
	--define "pkg one" \
2ff057
	--define "reqs deptest-two" \
2ff057
	  /data/SPECS/deptest.spec
2ff057
2ff057
runroot rpm -U --nodeps /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
2ff057
runroot rpm -Va --nofiles
2ff057
],
2ff057
[1],
2ff057
[Unsatisfied dependencies for deptest-one-1.0-1.noarch:
2ff057
	deptest-two is needed by (installed) deptest-one-1.0-1.noarch
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# Test file verify when no errors expected.
2ff057
# Ignore dependencies here as we're not testing for them, and
2ff057
# --nogroup --nouser is required when running tests as non-root.
2ff057
AT_SETUP([files with no problems])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
2ff057
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
2ff057
	/data/RPMS/hello-1.0-1.i386.rpm
2ff057
runroot rpm -Va --nodeps --nouser --nogroup
2ff057
],
2ff057
[0],
2ff057
[],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# Test file verify when no errors expected in verbose mode.
2ff057
AT_SETUP([files with no problems in verbose mode])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
2ff057
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
2ff057
	/data/RPMS/hello-1.0-1.i386.rpm
2ff057
runroot rpm -Vva --nodeps --nouser --nogroup
2ff057
],
2ff057
[0],
2ff057
[.........    /usr/local/bin/hello
2ff057
.........    /usr/share/doc/hello-1.0
2ff057
.........  d /usr/share/doc/hello-1.0/FAQ
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# Test file verify when no errors expected in verbose mode.
2ff057
AT_SETUP([directory replaced with a directory symlink])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
tf="${RPMTEST}"/opt/foo
2ff057
rm -rf "${RPMTEST}"/opt/*
2ff057
rm -rf "${TOPDIR}"
2ff057
2ff057
runroot rpmbuild --quiet -bb \
2ff057
        --define "ver 1.0" \
2ff057
        --define "filetype datadir" \
2ff057
        --define "filedata README1" \
2ff057
        --define "user $(id -u -n)" \
2ff057
        --define "grp $(id -g -n)" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
2ff057
runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
2ff057
mv "${RPMTEST}"/opt/foo "${RPMTEST}"/opt/was
2ff057
ln -s was "${RPMTEST}"/opt/foo
2ff057
runroot rpm -Vv replacetest
2ff057
],
2ff057
[0],
2ff057
[.........    /opt/foo
2ff057
.........    /opt/foo/README1
2ff057
.........    /opt/goo
2ff057
.........    /opt/zoo
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
AT_SETUP([directory replaced with an invalid directory symlink])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_XFAIL_IF([test `id -u` != 0 ])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
tf="${RPMTEST}"/opt/foo
2ff057
rm -rf "${RPMTEST}"/opt/*
2ff057
rm -rf "${TOPDIR}"
2ff057
2ff057
runroot rpmbuild --quiet -bb \
2ff057
        --define "ver 1.0" \
2ff057
        --define "filetype datadir" \
2ff057
        --define "filedata README1" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
2ff057
runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
2ff057
mv "${RPMTEST}"/opt/foo "${RPMTEST}"/opt/was
2ff057
ln -s was "${RPMTEST}"/opt/foo
2ff057
chown -h bin "${RPMTEST}"/opt/foo
2ff057
runroot rpm -Vv --nouser --nogroup replacetest
2ff057
],
2ff057
[1],
2ff057
[....L....    /opt/foo
2ff057
.........    /opt/foo/README1
2ff057
.........    /opt/goo
2ff057
.........    /opt/zoo
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# Test file verify after mutilating the files a bit.
2ff057
AT_SETUP([verify from db, with problems present])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
2ff057
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
2ff057
	/data/RPMS/hello-1.0-1.i386.rpm
2ff057
rm -f "${RPMTEST}"/usr/share/doc/hello-1.0/FAQ
2ff057
chmod u-x "${RPMTEST}"/usr/local/bin/hello
2ff057
dd if=/dev/zero of="${RPMTEST}"/usr/local/bin/hello \
2ff057
   conv=notrunc bs=1 seek=5 count=6 2> /dev/null
2ff057
runroot rpm -Va --nodeps --nouser --nogroup
2ff057
],
2ff057
[1],
2ff057
[.M5....T.    /usr/local/bin/hello
2ff057
missing   d /usr/share/doc/hello-1.0/FAQ
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# Test file verify from original package after mutilating the files a bit.
2ff057
AT_SETUP([verify from package, with problems present])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
2ff057
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
2ff057
	/data/RPMS/hello-1.0-1.i386.rpm
2ff057
rm -f "${RPMTEST}"/usr/share/doc/hello-1.0/FAQ
2ff057
chmod u-x "${RPMTEST}"/usr/local/bin/hello
2ff057
dd if=/dev/zero of="${RPMTEST}"/usr/local/bin/hello \
2ff057
   conv=notrunc bs=1 seek=5 count=6 2> /dev/null
2ff057
runroot rpm -Vp --nodeps --nouser --nogroup /data/RPMS/hello-1.0-1.i386.rpm
2ff057
],
2ff057
[1],
2ff057
[.M5....T.    /usr/local/bin/hello
2ff057
missing   d /usr/share/doc/hello-1.0/FAQ
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
AT_SETUP([verify file attribute filtering])
2ff057
AT_KEYWORDS([query])
2ff057
AT_CHECK([
2ff057
runroot rpmbuild -bb --quiet \
2ff057
  /data/SPECS/vattrtest.spec
2ff057
2ff057
runroot rpm -U /build/RPMS/noarch/vattrtest-1.0-1.noarch.rpm
2ff057
runroot_other touch /opt/vattrtest/g
2ff057
runroot_other chmod 644 /opt/vattrtest/g
2ff057
2ff057
cmd="rpm -Vv --nouser --nogroup"
2ff057
for filter in --noconfig --noghost --noartifact; do
2ff057
    echo ${filter}
2ff057
    runroot ${cmd} ${filter} vattrtest
2ff057
done
2ff057
],
2ff057
[ignore],
2ff057
[--noconfig
2ff057
.........    /opt/vattrtest
2ff057
.........  a /opt/vattrtest/a
2ff057
.........  d /opt/vattrtest/d
2ff057
.........  g /opt/vattrtest/g
2ff057
.........  l /opt/vattrtest/l
2ff057
.........  m /opt/vattrtest/m
2ff057
.........  r /opt/vattrtest/r
2ff057
--noghost
2ff057
.........    /opt/vattrtest
2ff057
.........  a /opt/vattrtest/a
2ff057
.........  c /opt/vattrtest/c
2ff057
.........  c /opt/vattrtest/cn
2ff057
.........  d /opt/vattrtest/d
2ff057
.........  l /opt/vattrtest/l
2ff057
.........  m /opt/vattrtest/m
2ff057
.........  r /opt/vattrtest/r
2ff057
--noartifact
2ff057
.........    /opt/vattrtest
2ff057
.........  c /opt/vattrtest/c
2ff057
.........  c /opt/vattrtest/cn
2ff057
.........  d /opt/vattrtest/d
2ff057
.........  g /opt/vattrtest/g
2ff057
.........  l /opt/vattrtest/l
2ff057
.........  m /opt/vattrtest/m
2ff057
.........  r /opt/vattrtest/r
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# Test verify script success & failure behavior
2ff057
# Ignoring stderr spew for now
2ff057
AT_SETUP([verifyscript failure])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
2ff057
rm -rf "${TOPDIR}"
2ff057
runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
2ff057
runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
2ff057
rm -f "${RPMTEST}"/var/checkme
2ff057
runroot rpm -V --nodeps verifyscript
2ff057
],
2ff057
[1],
2ff057
[],
2ff057
[ignore])
2ff057
AT_CLEANUP
2ff057
2ff057
AT_SETUP([verifyscript success])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
2ff057
rm -rf "${TOPDIR}"
2ff057
runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
2ff057
runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
2ff057
touch "${RPMTEST}"/var/checkme
2ff057
runroot rpm -V --nodeps verifyscript
2ff057
],
2ff057
[0],
2ff057
[],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# ------------------------------
2ff057
# shared file timestamp behavior
2ff057
AT_SETUP([shared file timestamp behavior])
2ff057
AT_KEYWORDS([verify])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
rm -rf "${TOPDIR}"
2ff057
2ff057
# create packages sharing a file but with different timestamp
2ff057
for p in "one" "two"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "pkg $p" \
2ff057
	--define "filedata same_stuff" \
2ff057
          /data/SPECS/conflicttest.spec
2ff057
    sleep 1
2ff057
done
2ff057
2ff057
# first instance of a shared file is the one that actually gets created,
2ff057
# force the order so we know what to expect as these dont depend on each other
2ff057
runroot rpm -U --noorder /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
2ff057
runroot rpm -e conflicttwo
2ff057
runroot rpm -Va --nouser --nogroup
2ff057
],
2ff057
[0],
2ff057
[],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# ------------------------------
2ff057
# Upgraded verification with min_writes 1 (files)
2ff057
AT_SETUP([Upgraded verification with min_writes 1 (files)])
2ff057
AT_KEYWORDS([upgrade verify min_writes])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
tf="${RPMTEST}"/opt/foo
2ff057
rm -rf "${tf}" "${tf}".rpm*
2ff057
rm -rf "${TOPDIR}"
2ff057
2ff057
for v in "1.0" "2.0"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "ver $v" \
2ff057
	--define "filetype file" \
2ff057
	--define "filedata foo" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
done
2ff057
2ff057
for v in "3.0" "4.0"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "ver $v" \
2ff057
	--define "filetype file" \
2ff057
	--define "filedata fox" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
done
2ff057
2ff057
runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
2ff057
cat "${tf}"
2ff057
touch -t 201703171717 ${tf}
2ff057
2ff057
runroot rpm -U \
2ff057
	--define "_minimize_writes 1" \
2ff057
	 /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
2ff057
runroot rpm -Va --nouser --nogroup replacetest
2ff057
cat "${tf}"
2ff057
2ff057
runroot rpm -U \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
cat "${tf}"
2ff057
2ff057
echo "xx" > "${tf}"
2ff057
cat "${tf}"
2ff057
2ff057
runroot rpm -U \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
cat "${tf}"
2ff057
2ff057
touch -t 201703171717 ${tf}
2ff057
2ff057
runroot rpm -U --oldpackage \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
cat "${tf}"
2ff057
],
2ff057
[0],
2ff057
[foo
2ff057
foo
2ff057
fox
2ff057
xx
2ff057
fox
2ff057
fox
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
2ff057
# ------------------------------
2ff057
# Upgraded verification with min_writes 2 (files)
2ff057
AT_SETUP([Upgraded verification with min_writes 2 (files)])
2ff057
AT_KEYWORDS([upgrade verify min_writes])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
tf="${RPMTEST}"/opt/foo
2ff057
rm -rf "${tf}" "${tf}".rpm*
2ff057
rm -rf "${TOPDIR}"
2ff057
2ff057
for v in "1.0" "2.0"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "ver $v" \
2ff057
	--define "filetype file" \
2ff057
	--define "filedata foo" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
done
2ff057
2ff057
for v in "3.0" "4.0"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "ver $v" \
2ff057
	--define "filetype file" \
2ff057
	--define "filedata fox" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
done
2ff057
2ff057
runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
2ff057
cat "${tf}"
2ff057
touch -t 201703171717 ${tf}
2ff057
2ff057
runroot rpm -Uvv --fsmdebug \
2ff057
	--define "_minimize_writes 1" \
2ff057
	 /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
2ff057
runroot rpm -Va --nouser --nogroup replacetest
2ff057
grep -c "touch" output.txt
2ff057
cat "${tf}"
2ff057
2ff057
2ff057
runroot rpm -Uvv --fsmdebug \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm  > output.txt 2>&1
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
grep -c "touch" output.txt
2ff057
cat "${tf}"
2ff057
echo "xx" > "${tf}"
2ff057
cat "${tf}"
2ff057
2ff057
runroot rpm -Uvv --fsmdebug \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-4.0-1.noarch.rpm  > output.txt 2>&1
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
grep -c "touch" output.txt
2ff057
cat "${tf}"
2ff057
2ff057
touch -t 201703171717 ${tf}
2ff057
2ff057
runroot rpm -U -Uvv --fsmdebug  --oldpackage \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm  > output.txt 2>&1
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
grep -c  "touch" output.txt
2ff057
cat "${tf}"
2ff057
],
2ff057
[0],
2ff057
[foo
2ff057
2
2ff057
foo
2ff057
1
2ff057
fox
2ff057
xx
2ff057
1
2ff057
fox
2ff057
2
2ff057
fox
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
2ff057
# ------------------------------
2ff057
# Upgraded verification with min_writes 3 (LINKs)
2ff057
AT_SETUP([Upgraded verification with min_writes 3 (LINKs)])
2ff057
AT_KEYWORDS([upgrade verify min_writes])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
tf="${RPMTEST}"/opt/foo
2ff057
rm -rf "${tf}" "${tf}".rpm*
2ff057
rm -rf "${TOPDIR}"
2ff057
2ff057
for v in "1.0" "2.0"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "ver $v" \
2ff057
	--define "filetype link" \
2ff057
	--define "filedata foo" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
done
2ff057
2ff057
for v in "3.0" "4.0"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "ver $v" \
2ff057
	--define "filetype link" \
2ff057
	--define "filedata fox" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
done
2ff057
2ff057
runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
2ff057
readlink "${tf}"
2ff057
2ff057
runroot rpm -U \
2ff057
	--define "_minimize_writes 1" \
2ff057
	 /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
2ff057
runroot rpm -Va --nouser --nogroup replacetest
2ff057
readlink "${tf}"
2ff057
2ff057
runroot rpm -U \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
readlink "${tf}"
2ff057
2ff057
ln -sf "xx" "${tf}"
2ff057
readlink "${tf}"
2ff057
2ff057
runroot rpm -U \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
readlink "${tf}"
2ff057
2ff057
runroot rpm -U --oldpackage \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
readlink "${tf}"
2ff057
],
2ff057
[0],
2ff057
[foo
2ff057
foo
2ff057
fox
2ff057
xx
2ff057
fox
2ff057
fox
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
2ff057
# ------------------------------
2ff057
# Upgraded verification with min_writes 4 (LINKs)
2ff057
AT_SETUP([Upgraded verification with min_writes 4 (LINKs)])
2ff057
AT_KEYWORDS([upgrade verify min_writes])
2ff057
AT_CHECK([
2ff057
RPMDB_CLEAR
2ff057
RPMDB_INIT
2ff057
tf="${RPMTEST}"/opt/foo
2ff057
rm -rf "${tf}" "${tf}".rpm*
2ff057
rm -rf "${TOPDIR}"
2ff057
2ff057
for v in "1.0" "2.0"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "ver $v" \
2ff057
	--define "filetype link" \
2ff057
	--define "filedata foo" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
done
2ff057
2ff057
for v in "3.0" "4.0"; do
2ff057
    runroot rpmbuild --quiet -bb \
2ff057
        --define "ver $v" \
2ff057
	--define "filetype link" \
2ff057
	--define "filedata fox" \
2ff057
          /data/SPECS/replacetest.spec
2ff057
done
2ff057
2ff057
runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
2ff057
readlink "${tf}"
2ff057
2ff057
runroot rpm -Uvv --fsmdebug \
2ff057
	--define "_minimize_writes 1" \
2ff057
	 /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
2ff057
runroot rpm -Va --nouser --nogroup replacetest
2ff057
grep -c "touch" output.txt
2ff057
readlink "${tf}"
2ff057
2ff057
2ff057
runroot rpm -Uvv --fsmdebug \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
grep -c "touch" output.txt
2ff057
readlink "${tf}"
2ff057
ln -sf "xx" "${tf}"
2ff057
readlink "${tf}"
2ff057
2ff057
runroot rpm -Uvv --fsmdebug \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-4.0-1.noarch.rpm  > output.txt 2>&1
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
grep -c "touch" output.txt
2ff057
readlink "${tf}"
2ff057
2ff057
runroot rpm -U -Uvv --fsmdebug  --oldpackage \
2ff057
	--define "_minimize_writes 1" \
2ff057
	/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm  > output.txt 2>&1
2ff057
runroot rpm -Va  --nouser --nogroup replacetest
2ff057
grep -c  "touch" output.txt
2ff057
readlink "${tf}"
2ff057
],
2ff057
[0],
2ff057
[foo
2ff057
2
2ff057
foo
2ff057
1
2ff057
fox
2ff057
xx
2ff057
1
2ff057
fox
2ff057
2
2ff057
fox
2ff057
],
2ff057
[])
2ff057
AT_CLEANUP
Panu Matilainen 7730fd
Panu Matilainen 7730fd
AT_SETUP([Upgraded verification with min_writes 5 (suid files)])
Panu Matilainen 7730fd
AT_KEYWORDS([upgrade verify min_writes])
Panu Matilainen 7730fd
AT_CHECK([
Panu Matilainen 7730fd
RPMDB_CLEAR
Panu Matilainen 7730fd
RPMDB_INIT
Panu Matilainen 7730fd
tf="${RPMTEST}"/opt/foo
Panu Matilainen 7730fd
rm -rf "${tf}" "${tf}".rpm*
Panu Matilainen 7730fd
rm -rf "${TOPDIR}"
Panu Matilainen 7730fd
Panu Matilainen 7730fd
for v in "1.0" "2.0"; do
Panu Matilainen 7730fd
    runroot rpmbuild --quiet -bb \
Panu Matilainen 7730fd
        --define "ver $v" \
Panu Matilainen 7730fd
	--define "filetype file" \
Panu Matilainen 7730fd
	--define "filedata foo" \
Panu Matilainen 7730fd
	--define "fileattr %attr(2755,-,-)" \
Panu Matilainen 7730fd
          /data/SPECS/replacetest.spec
Panu Matilainen 7730fd
done
Panu Matilainen 7730fd
Panu Matilainen 7730fd
runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
Panu Matilainen 7730fd
runroot rpm -Va --nouser --nogroup replacetest
Panu Matilainen 7730fd
runroot rpm -U \
Panu Matilainen 7730fd
	--define "_minimize_writes 1" \
Panu Matilainen 7730fd
	 /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
Panu Matilainen 7730fd
runroot rpm -Va --nouser --nogroup replacetest
Panu Matilainen 7730fd
chmod 777 "${tf}"
Panu Matilainen 7730fd
runroot rpm -U \
Panu Matilainen 7730fd
	--oldpackage \
Panu Matilainen 7730fd
	--define "_minimize_writes 1" \
Panu Matilainen 7730fd
	 /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
Panu Matilainen 7730fd
runroot rpm -Va --nouser --nogroup replacetest
Panu Matilainen 7730fd
],
Panu Matilainen 7730fd
[0],
Panu Matilainen 7730fd
[],
Panu Matilainen 7730fd
[])
Panu Matilainen 7730fd
AT_CLEANUP