summaryrefslogtreecommitdiff
path: root/test/integration
AgeCommit message (Collapse)Author
2014-05-22fix tight loop detection and temporary removesDavid Kalnischkies
As outlined in #748355 apt segfaulted if it encountered a loop between a package pre-depending on a package conflicting with the previous as it ended up in an endless loop trying to unpack 'the other package'. In this specific case as an essential package is involved a lot of force needs to be applied, but can also be caused by 'normal' tight loops and highlights a problem in how we handle breaks which we want to avoid. The fix comes in multiple entangled changes: 1. All Smart* calls are guarded with loop detection. Some already had it, some had parts of it, some did it incorrect, and some didn't even try. 2. temporary removes to avoid a loop (which is done if a loop is detected) prevent the unpack of this looping package (we tried to unpack it to avoid the conflict/breaks, but due to a loop we couldn't, so we remove/deconfigure it instead which means we can't unpack it now) 3. handle conflicts and breaks very similar instead of duplicating most of the code. The only remaining difference is, as it should: deconfigure is enough for breaks, for conflicts we need the big hammer
2014-05-22make test independent from the actual Install-SizeDavid Kalnischkies
Git-Dch: Ignore
2014-05-16add an additional test for arch specific conflictsDavid Kalnischkies
In bugreport #747261 I confirmed with this testcase that apt actually supports the requested architecture-specific conflicts already since 2012 with commit cef094c2ec8214b2783a2ac3aa70cf835381eae1. The old test only does simulations which are handy to check apt, this one builds 'real' packages to see if dpkg agrees with us. Git-Dch: Ignore
2014-05-15Never parse Version/Architecture tags in a Translation-$lang fileMichael Vogt
Version/Architecture information in a Translation-$lang file is not allowed, so don't try to parse it. This is a fix for a bugreport where a Translation-en file contained the content of the regular Packages file (probably due to local FS corruption). This lead to strange error messages on file download. Thanks to Thomas Reusch for the report.
2014-05-07show progress in run-testsMichael Vogt
2014-05-07Merge remote-tracking branch 'mvo/feature/apt-ftparchive-srccache2' into ↵Michael Vogt
debian/sid
2014-04-30Only do openpty() if both stdin/stdout are terminalsMichael Vogt
Closes: 746434
2014-04-26handle pkgnames shorter than modifiersDavid Kalnischkies
The bugreport highlights the problem with an empty package name. We fix this by 'ignoring' these so that it behaves just like "apt-get install". The deeper problem is that modifier strings can be longer than a package name in which case the comparison doesn't make sense, so don't compare then. Was not noticed so far as all modifiers are of length 1, so the only package name shorter than this is in fact the empty package name. Closes: 744940
2014-04-11Merge remote-tracking branch 'mvo/feature/helpful-apt-list' into debian/sidMichael Vogt
Conflicts: test/integration/test-apt-cli-list
2014-04-11Merge remote-tracking branch 'mvo/bugfix/apt-list-rc-pkgs' into debian/sidMichael Vogt
2014-04-11consider priorities only for downloadable pkgs in resolverDavid Kalnischkies
A package which can't be downloaded anymore is very likely dropped from a release and can therefore no longer be 'standard' (or similar). We therefore do not grant points for them anymore and demote them to prio:extra instead which helps other packages breaking them away even if they have a lower priority. The testcase was initially created by Michael Vogt and just amended.
2014-04-10fix test-failure in adtMichael Vogt
2014-04-09Notice the user about "apt list -a" when only a single hit if foundMichael Vogt
If the user is using "apt list pattern" and there is only a single hit, notice about "--all-versions" as this is what the user may be interessted in
2014-04-09Fix possible race when stunnel/aptwebserver create their PID filesMichael Vogt
This patch should fix spurious test failures in jenkins or travis that are caused by a race condition in the {stunnel,aptwebserver}.pid file creation
2014-04-08fix apt list output for pkgs in dpkg ^rc stateMichael Vogt
Packages in the "deinstall ok config-file" have no candidate or instaleld version. So they must be special cased in the apt list generation.
2014-04-07make apt search case-insensitive by defaultMichael Vogt
2014-04-07ensure "--db" also works with the new srcpkgdbMichael Vogt
2014-04-04ensure clean worksMichael Vogt
2014-04-04add test for binary cachedb and contents generationMichael Vogt
2014-04-04Implement CacheDB for source packages in apt-ftparchiveMichael Vogt
2014-03-27Merge remote-tracking branch 'upstream/debian/sid' into debian/sidMichael Vogt
2014-03-27Use mkstemp() in apt-extracttemplaes (closes: #741627)Michael Vogt
Use mkstemp() in apt-extractemplates and add a integrationtest for apt-extracttemplates too. Thanks to Steve Kemp for the report.
2014-03-23discard candidates via IsInstallOk to allow overrideDavid Kalnischkies
In commit 446551c8 I changed MarkInstall to discard the candidate if the candidate can't satisfy the dependency. This breaks interactive solvers like aptitude which can change the candidate on-the-fly later. In commit df77d8a5 I introduced this 'early' loop-breaking to begin with which can't be that helpful for interactive solvers as well, but makes perfect sense for non-interactives to stop them from exploring trees which can't be satisfied, but it isn't perfect as ideally we would check this before auto-installing the first dependency. This commit therefore moves the loop into its own IsInstallOk hook so that frontends can override this check if they want to and in exchange removes the loop-breaking from MarkInstall itself and does it before any dependency is installed. Closes: 740750
2014-03-22ensure proper teardown in dpkg error casesDavid Kalnischkies
We have to properly close our pseudo terminals even in error cases before we call post-invoke scripts. This is done now by breaking from the dpkg calling loop instead of copying the handling, which did it in the wrong order before. This also ensures that our state file is written in error cases to record autobit and co as this was forgotten before. Closes: 738969
2014-03-21add testcase for APT::Architectures "arch1,arch2"David Kalnischkies
Git-Dch: Ignore
2014-03-21only consider versioned kernel packages in autoremoveDavid Kalnischkies
Metapackages like "linux-image-amd64" are otherwise matched by our extraction as well, which later on can't be successfully compared via dpkg --compare-versions as the 'amd64' bit isn't a version number. (Luckily none of our architectures starts with a digit.) This was broken by me in 0.9.16 as I moved a shell-glob matcher to a regex-based one which has slightly different semantics regarding '*'. Closes: 741962
2014-03-14fix test/integration/test-apt-helperMichael Vogt
2014-03-13ensure that gz compression test is run with gzDavid Kalnischkies
The framework can be configured to use different compression algorithms to test different ones, but a testcase testing for gz support should always be run with gz, regardless of what compressions are configured otherwise. Git-Dch: Ignore
2014-03-13factor out getting list of architectures from comma listDavid Kalnischkies
Beside fixing this minor code duplication it also resolves the problem of messing up vim syntax-highlighting. Git-Dch: Ignore
2014-03-13correct LD_LIBRARY_PATH and config loading for apt-helperDavid Kalnischkies
Mostly ensures that we use the build methods and not the system provided methods in the tests (if we don't want it that way). Git-Dch: Ignore
2014-03-13ensure that a dot is a dot in the hookDavid Kalnischkies
As we deal with regex matchers here the dots are treated as wildcards if we don't take care of escaping them. Not very likely that this could be a real-world problem, but just to be sure.
2014-03-13support kfreebsd and hurd in the kernel hookDavid Kalnischkies
kfreebsd as well as hurd kernel packages call the postinst script as well so we just need to enable the correct parsing for installed packages and disable the "protect every version" hammer for them.
2014-03-13use a configurable list of versioned kernel packagesDavid Kalnischkies
With APT::VersionedKernelPackages users have the option of adding packages like pre-build out-of-tree modules to the list of automatically protected from being autoremoved.
2014-03-13improve debug output in case downloadfile failsDavid Kalnischkies
Git-Dch: Ignore
2014-03-13msgstr with elipses need three dotsDavid Kalnischkies
fixes some messages and their translation so that all of them have three dots for messages with an elipse. Many translations already had this.
2014-03-13enable mount support for apt-cdrom in the testsDavid Kalnischkies
Git-Dch: Ignore
2014-03-13simplify apt-cdrom testcodeDavid Kalnischkies
Git-Dch: Ignore
2014-03-13do not configure already unpacked packages needlesslyDavid Kalnischkies
The unpack of a M-A:same package will force the unpack of all its siblings directly to prevent that they could be separated by later immediate actions. In commit 634985f8 a call to SmartConfigure was introduced to configure these packages at the time the installation order encounters them. Usually, the unpack order is already okay, so that this 'earlier' unpack was not needed and if it wouldn't have been done, the package would now only be unpacked, but by configuring the package now we impose new requirements which must be satisfied. The code is clever enough to handle this most of the time (it worked for 2 years!), but it isn't needed and in very coupled cases this can fail. Removing this call again removes this extra burden and so simplifies the ordering as can be seen in the modified tests. Famous last words, but I don't see a reason for this extra burden to exist hence the remove. Closes: 740843
2014-03-13unset LANGUAGE in the testing framework directlyDavid Kalnischkies
Git-Dch: Ignore
2014-03-13support DEB_BUILD_PROFILES and -P for build profilesDavid Kalnischkies
Inspired by the rest of the patch in 661537, but abstract the parsing of various ways of setting the build profiles more so it can potentially be reused and all apt parts have the same behaviour. Especially config options, cmdline options and environment will not be combined as proposed as this isn't APTs usual behaviour and dpkg doesn't do it either, so one overrides the other as it normally does.
2014-03-13check version before adding scores in resolverDavid Kalnischkies
Prevents that "old" dependencies have an influence in the scoring. With positive dependencies this is usually not a problem, but negative dependencies can linger around for a long time.
2014-03-13show debug output only if told so in packagemanagerDavid Kalnischkies
Git-Dch: Ignore
2014-03-13propagate a negative score point along breaks/conflictsDavid Kalnischkies
versioned -dev packages like db and boost have the problem of no dependencies which would give them a competitive advantage against an older incarnation of the -dev package, so they tend to be kept back until the old version is removed from the archive, which, if the user has older releases in its sources can take a long time (or never happens). The newer version has a conflicts/breaks against the older one, but the older one hasn't against the newer, so by giving via the conflicts the older one a reduced score the newer one can win if there is no other reason to keep it. If both have a conflict against each other the scoring will cancel itself out, so no harm done. This gives "action" a slightly bigger edge in breaks/conflicts cases than before, but holding back isn't a really good solution anyway.
2014-03-12Merge remote-tracking branch 'upstream/debian/sid' into ↵Michael Vogt
feature/apt-download-file Conflicts: cmdline/apt-helper.cc test/integration/framework test/integration/test-apt-https-no-redirect
2014-03-12add hashsum support in apt-file download and add more testsMichael Vogt
2014-02-27initial version of apt-helperMichael Vogt
2014-02-27initial version of apt-helperMichael Vogt
2014-02-23test/integration/test-ubuntu-bug-346386-apt-get-update-paywall: use ↵Michael Vogt
http-method from METHODSDIR
2014-02-22skip test if "apt" is not buildMichael Vogt
2014-02-22fix ADT failure in downloadfile()Michael Vogt