Files
apt/test/integration/test-apt-progress-fd-error
David Kalnischkies eb1adc417b Resolve autopkgtest failures caused by dpkg >= 1.22.12
Streamlining the rules around the Section field and especially what
happens if its isn't present are a good idea in general, but for testing
proposes we want a package without a section ~ something dpkg and co do
not want us to have for good reasons (outside of tests).

While a real nosection package would interact with more of our code, for
this test we don't really need a real one and so we can adopt to the new
reality of encountering such packages only if they are already
installed instead of trying to build a sectionless package by hand.

The other failure is a simple and trivial string change around the
formatting of the version number in dpkg error message about file
overrides, which we can resolve by just not looking at the version to
sidestep dealing with the formatting difference.

References: https://lists.debian.org/debian-dpkg/2024/12/msg00010.html
Closes: #1092090
2025-01-05 21:46:03 +00:00

26 lines
859 B
Bash
Executable File

#!/bin/sh
set -e
TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'native'
mkdir -p usr/bin
touch usr/bin/file-conflict
buildsimplenativepackage 'foo1' 'native' '0.8.15' 'stable' '' 'pkg with file conflicts' '' '' 'usr/'
buildsimplenativepackage 'foo2' 'native' '0.8.15' 'stable' '' 'pkg with file conflicts' '' '' 'usr/'
insertinstalledpackage 'apport' 'native' '1'
setupaptarchive
exec 3> apt-progress.log
testfailure aptget install foo1 foo2 -y -o APT::Status-Fd=3
msgtest 'Ensure correct error message' 'file-conflict'
testsuccess --nomsg grep "foo2_0.8.15_[^.]\+.deb:[0-9.]\+:trying to overwrite '/usr/bin/file-conflict', which is also in package foo1" apt-progress.log
testsuccess test -s rootdir/var/crash/foo2.0.crash
testsuccess grep '^Package: foo2 0.8.15$' rootdir/var/crash/foo2.0.crash