summaryrefslogtreecommitdiff
path: root/test/integration
Commit message (Collapse)AuthorAgeFilesLines
* improve pkgTagSection scanning and parsingDavid Kalnischkies2014-05-101-0/+5
| | | | | | Removes the 256 fields limit, deals consistently with spaces littered all over the place and is even a tiny bit faster than before. Even comes with a bunch of new tests to validate these claims.
* parse and retrieve multiple Descriptions in one recordDavid Kalnischkies2014-05-091-6/+3
| | | | | | | | It seems unlikely for now that proper archives will carry multiple Description-* stanzas in the Packages (or Translation-*) file, but sometimes apt eats its own output as shown by the usage of the CD team and it would be interesting to let apt output multiple translations e.g. in 'apt-cache show'.
* reenable pipelining via hashsum reordering supportDavid Kalnischkies2014-05-092-57/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that methods have the expected hashes available they can check if the response from the server is what they expected. Pipelining is one of those areas in which servers can mess up by not supporting it properly, which forced us to disable it for the time being. Now, we check if we got a response out of order, which we can not only use to disable pipelining automatically for the next requests, but we can fix it up just like the server responded in proper order for the current requests. To ensure that this little trick works pipelining is only attempt if we have hashsums for all the files in the chain which in theory reduces the use of pipelining usage even on the many servers which work properly, but in practice only the InRelease file (or similar such) will be requested without a hashsum – and as it is the only file requested in that stage it can't be pipelined even if we wanted to. Some minor annoyances remain: The display of the progress we have doesn't reflect this change, so it looks like the same package gets downloaded multiple times while others aren't at all. Further more, partial files are not supported in this recovery as the received data was appended to the wrong file, so the hashsum doesn't match. Both seem to be minor enough to reenable pipelining by default until further notice through to test if it really solves the problem. This therefore reverts commit 8221431757c775ee875a061b184b5f6f2330f928.
* deal with hashes in ftparchive more dynamic as wellDavid Kalnischkies2014-05-091-6/+4
| | | | | | | | | | | Now that libapts acquire system happily passes around hashes and can be made to support new ones without an ABI break in the future, we can free ftparchive from all the deprecation warnings the last commit introduced for it. The goal here isn't to preserve ABI as we have none to keep here, but to help avoiding introduction problems of 'new' hashes later as bugs creep into the copy&paste parts, so short/less of them is good.
* use HashStringList in the acquire systemDavid Kalnischkies2014-05-094-35/+29
| | | | | | | | | | | | | It is not very extensible to have the supported Hashes hardcoded everywhere and especially if it is part of virtual method names. It is also possible that a method does not support the 'best' hash (yet), so we might end up not being able to verify a file even though we have a common subset of supported hashes. And those are just two of the cases in which it is handy to have a more dynamic selection. The downside is that this is a MAJOR API break, but the HashStringList has a string constructor for compatibility, so with a bit of luck the few frontends playing with the acquire system directly are okay.
* use 'best' hash for source authenticationDavid Kalnischkies2014-05-092-77/+260
| | | | | | | | | | | | | | Collect all hashes we can get from the source record and put them into a HashStringList so that 'apt-get source' can use it instead of using always the MD5sum. We therefore also deprecate the MD5 struct member in favor of the list. While at it, the parsing of the Files is enhanced so that records which miss "Files" (aka MD5 checksums) are still searched for other checksums as they include just as much data, just not with a nice and catchy name. LP: 1098738
* tests: be able to disable "Fetched …" statistics messageDavid Kalnischkies2014-05-092-1/+2
| | | | | | | | The line contains everchanging execution statistics which is harmful for testcases as they need to filter out such lines, but this is hard so we can just add an option to disable them instead and be done. Git-Dch: Ignore
* make test independent from the actual Install-SizeDavid Kalnischkies2014-05-081-2/+2
| | | | Git-Dch: Ignore
* fix apt-config test now that PATH changed in 8c617819David Kalnischkies2014-05-081-1/+1
| | | | Git-Dch: Ignore
* Revert "fix test-bug-602412-dequote-redirect by removing the aptget update ↵Michael Vogt2014-05-081-4/+1
| | | | | | size information" This reverts commit 773642528b6d9858c2c68ada42705ea71c8db37e.
* Merge remote-tracking branch 'mvo/feature/build-dep-dsc2' into ↵Michael Vogt2014-05-081-0/+126
|\ | | | | | | | | | | | | | | | | debian/experimental Conflicts: apt-pkg/deb/debindexfile.cc apt-pkg/deb/debindexfile.h apt-pkg/deb/debsrcrecords.cc
| * add support for apt-get build-dep unpacked-source-dirMichael Vogt2014-04-251-0/+41
| |
| * add support for apt-get build-dep foo.dscMichael Vogt2014-04-221-0/+85
| |
* | Merge remote-tracking branch 'mvo/bugfix/update-progress-reporting' into ↵Michael Vogt2014-05-081-3/+3
|\ \ | | | | | | | | | debian/experimental
| * | update test-apt-progress-fdMichael Vogt2014-05-081-3/+3
| | |
* | | Merge remote-tracking branch 'mvo/bugfix/update-progress-reporting' into ↵Michael Vogt2014-05-084-2/+299
|\| | | | | | | | | | | debian/experimental
| * | show progress in run-testsMichael Vogt2014-05-071-1/+2
| | |
| * | Merge remote-tracking branch 'mvo/feature/apt-ftparchive-srccache2' into ↵Michael Vogt2014-05-073-1/+297
| |\ \ | | | | | | | | | | | | debian/sid
| | * | ensure "--db" also works with the new srcpkgdbMichael Vogt2014-04-071-1/+26
| | | |
| | * | ensure clean worksMichael Vogt2014-04-042-0/+13
| | | |
| | * | add test for binary cachedb and contents generationMichael Vogt2014-04-042-3/+94
| | | |
| | * | Implement CacheDB for source packages in apt-ftparchiveMichael Vogt2014-04-042-1/+168
| | | |
* | | | fix testsMichael Vogt2014-05-072-3/+3
| | | |
* | | | add BUILDDIRECTORY to PATH in the testsMichael Vogt2014-05-071-1/+2
| | | |
* | | | fix test-bug-602412-dequote-redirect by removing the aptget update size ↵Michael Vogt2014-05-071-1/+4
| | | | | | | | | | | | | | | | information
* | | | Merge branch 'debian/sid' into debian/experimentalMichael Vogt2014-05-0727-271/+954
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: apt-pkg/cachefilter.h apt-pkg/contrib/fileutl.cc apt-pkg/contrib/netrc.h apt-pkg/deb/debsrcrecords.cc apt-pkg/init.h apt-pkg/pkgcache.cc debian/apt.install.in debian/changelog
| * | | Only do openpty() if both stdin/stdout are terminalsMichael Vogt2014-04-301-1/+1
| | | | | | | | | | | | | | | | Closes: 746434
| * | | handle pkgnames shorter than modifiersDavid Kalnischkies2014-04-261-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Merge remote-tracking branch 'mvo/feature/helpful-apt-list' into debian/sidMichael Vogt2014-04-111-0/+13
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: test/integration/test-apt-cli-list
| | * | | Notice the user about "apt list -a" when only a single hit if foundMichael Vogt2014-04-091-0/+12
| | | |/ | | |/| | | | | | | | | | | | | | | | | 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
| * | | Merge remote-tracking branch 'mvo/bugfix/apt-list-rc-pkgs' into debian/sidMichael Vogt2014-04-111-0/+5
| |\ \ \
| | * | | fix apt list output for pkgs in dpkg ^rc stateMichael Vogt2014-04-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Packages in the "deinstall ok config-file" have no candidate or instaleld version. So they must be special cased in the apt list generation.
| * | | | consider priorities only for downloadable pkgs in resolverDavid Kalnischkies2014-04-111-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | fix test-failure in adtMichael Vogt2014-04-101-1/+7
| | |/ / | |/| |
| * | | Fix possible race when stunnel/aptwebserver create their PID filesMichael Vogt2014-04-091-0/+19
| |/ / | | | | | | | | | | | | | | | 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
| * / make apt search case-insensitive by defaultMichael Vogt2014-04-071-1/+6
| |/
| * Merge remote-tracking branch 'upstream/debian/sid' into debian/sidMichael Vogt2014-03-275-22/+145
| |\
| | * discard candidates via IsInstallOk to allow overrideDavid Kalnischkies2014-03-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * ensure proper teardown in dpkg error casesDavid Kalnischkies2014-03-222-22/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * add testcase for APT::Architectures "arch1,arch2"David Kalnischkies2014-03-211-0/+9
| | | | | | | | | | | | Git-Dch: Ignore
| | * only consider versioned kernel packages in autoremoveDavid Kalnischkies2014-03-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Use mkstemp() in apt-extracttemplaes (closes: #741627)Michael Vogt2014-03-272-0/+46
| |/ | | | | | | | | Use mkstemp() in apt-extractemplates and add a integrationtest for apt-extracttemplates too. Thanks to Steve Kemp for the report.
| * fix test/integration/test-apt-helperMichael Vogt2014-03-1418-209/+618
| |\
| | * ensure that gz compression test is run with gzDavid Kalnischkies2014-03-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * factor out getting list of architectures from comma listDavid Kalnischkies2014-03-131-5/+8
| | | | | | | | | | | | | | | | | | | | | Beside fixing this minor code duplication it also resolves the problem of messing up vim syntax-highlighting. Git-Dch: Ignore
| | * correct LD_LIBRARY_PATH and config loading for apt-helperDavid Kalnischkies2014-03-131-25/+15
| | | | | | | | | | | | | | | | | | | | | 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
| | * ensure that a dot is a dot in the hookDavid Kalnischkies2014-03-131-9/+17
| | | | | | | | | | | | | | | | | | 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.
| | * support kfreebsd and hurd in the kernel hookDavid Kalnischkies2014-03-132-11/+35
| | | | | | | | | | | | | | | | | | 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.
| | * use a configurable list of versioned kernel packagesDavid Kalnischkies2014-03-134-56/+58
| | | | | | | | | | | | | | | | | | 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.
| | * improve debug output in case downloadfile failsDavid Kalnischkies2014-03-133-67/+79
| | | | | | | | | | | | Git-Dch: Ignore