summaryrefslogtreecommitdiff
path: root/test/integration/framework
AgeCommit message (Collapse)Author
2015-01-10128 KiB DSC files ought to be enough for everyoneDavid Kalnischkies
Your mileage may vary, but don't worry: There is more than one way to do it, but our one size fits all is not a bigger hammer, but an entire roundhouse kick! So brace yourself for the tl;dr: The limit is gone.* Beware: This fixes also the problem that a double newline is unconditionally added 'later' which is an overcommitment in case the dsc filesize is limit-2 <= x <= limit. * limited to numbers fitting into an unsigned long long. Closes: 774893
2014-12-23always run 'dpkg --configure -a' at the end of our dpkg callingsDavid Kalnischkies
dpkg checks now for dependencies before running triggers, so that packages can now end up in trigger states (especially those we are not touching at all with our calls) after apt is done running. The solution to this is trivial: Just tell dpkg to configure everything after we have (supposely) configured everything already. In the worst case this means dpkg will have to run a bunch of triggers, usually it will just do nothing though. The code to make this happen was already available, so we just flip a config option here to cause it to be run. This way we can keep pretending that triggers are an implementation detail of dpkg. --triggers-only would supposely work as well, but --configure is more robust in regards to future changes to dpkg and something we will hopefully make use of in future versions anyway (as it was planed at the time this and related options were implemented). Note that dpkg currently has a workaround implemented to allow upgrades to jessie to be clean, so that the test works before and after. Also note that test (compared to the one in the bug) drops the await test as its is considered a loop by dpkg now. Closes: 769609
2014-12-23do not make PTY slave the controlling terminalDavid Kalnischkies
If we have no controlling terminal opening a terminal will make this terminal our controller, which is a serious problem if this happens to be the pseudo terminal we created to run dpkg in as we will close this terminal at the end hanging ourself up in the process… The offending open is the one we do to have at least one slave fd open all the time, but for good measure, we apply the flag also to the slave fd opening in the child process as we set the controlling terminal explicitely here. This is a regression from 150bdc9ca5d656f9fba94d37c5f4f183b02bd746 with the slight twist that this usecase was silently broken before in that it wasn't logging the output in term.log (as a pseudo terminal wasn't created). Closes: 772641
2014-12-22dispose http(s) 416 error page as non-contentDavid Kalnischkies
Real webservers (like apache) actually send an error page with a 416 response, but our client didn't expect it leaving the page on the socket to be parsed as response for the next request (http) or as file content (https), which isn't what we want at all… Symptom is a "Bad header line" as html usually doesn't parse that well to an http-header. This manifests itself e.g. if we have a complete file (or larger) in partial/ which isn't discarded by If-Range as the server doesn't support it (or it is just newer, think: mirror rotation). It is a sort-of regression of 78c72d0ce22e00b194251445aae306df357d5c1a, which removed the filesize - 1 trick, but this had its own problems… To properly test this our webserver gains the ability to reply with transfer-encoding: chunked as most real webservers will use it to send the dynamically generated error pages. (The tests and their binary helpers had to be slightly modified to apply, but the patch to fix the issue itself is unchanged.) Closes: 768797
2014-11-28close leaking slave fd after setting up pty magicDavid Kalnischkies
The fd moves out of scope here anyway, so we should close it properly instead of leaking it which will tickle down to dpkg maintainer scripts. Closes: 767774
2014-09-25rewrite compressed indexes test to check with all compressorsDavid Kalnischkies
Git-Dch: Ignore
2014-09-07detect terminal output with 'test -t' in testsDavid Kalnischkies
Instead of trying to inspect /proc and the fds inside we use "test -t 1" instead as this is available and working on kfreebsd as well – not that something breaks if we wouldn't, but we like color. Git-Dch: Ignore
2014-09-07support regular expressions in 'apt search'David Kalnischkies
apt-cache search supported this since ever and in the code for apt was a fixme indicating this should be added here as well, so here we go.
2014-07-07use printf instead of echo in testing frameworkMichele Orrù
The behaviour of echo "\tA\t" differs between dash/zsh which interprets the \t as tab and bash which prints it literally. Similar things happen for other escape sequences – without the -e flag. Switching to printf makes this more painless^Wportable, so that the tests are also working correctly with bash as sh. (commit message by committer, patch otherwise unmodified)
2014-06-11fix test-apt-ftparchive-cachedb-lp1274466 and apt-internal-solver testsMichael Vogt
2014-06-11fix autopkgtest testsMichael Vogt
2014-05-30support parsing EDSP requests Architecture{,s} stanzaDavid Kalnischkies
Adds also a small testcase for EDSP Git-Dch: Ignore
2014-05-29(try to) fix travis-ci build failuresDavid Kalnischkies
dpkg on Ubuntu 12.04 does not seem to support parsing arch-specific dependencies, so we try to detect if we face such a dpkg in the test. In the other test the order depends on libdb, which changes per arch, so we just run it through our sorting binary and be happy (hopefully). Git-Dch: Ignore
2014-05-07Merge remote-tracking branch 'mvo/feature/apt-ftparchive-srccache2' into ↵Michael Vogt
debian/sid
2014-04-10fix test-failure in adtMichael Vogt
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-04Implement CacheDB for source packages in apt-ftparchiveMichael 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-14fix test/integration/test-apt-helperMichael Vogt
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-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-13enable mount support for apt-cdrom in the testsDavid 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-02-27initial version of apt-helperMichael Vogt
2014-02-27initial version of apt-helperMichael Vogt
2014-02-22fix ADT failure in downloadfile()Michael Vogt
2014-02-22add testcase for Bug#718329Michael Vogt
2014-02-22Fix typos in documentation (codespell)Michael Vogt
2014-02-14add a testcase to check for forbidden https→http downgradesDavid Kalnischkies
Git-Dch: Ignore
2014-02-14disable https->http redirects in libcurlMichael Vogt
This change prevents changing the protocol from https to http.
2014-02-14allow http protocol to switch to httpsDavid Kalnischkies
switch protocols at random is a bad idea if e.g. http can switch to file, so we limit the possibilities to http to http and http to https. As very few people (less than 1% according to popcon) have https installed this likely changes nothing in terms of failure. The commit is adding a friendly hint which package needs to be installed though.
2014-01-26fixup merge issues introduced in 796673cDavid Kalnischkies
Issues in doc/po/de.po (fixed by Chris already) and test/integration/framework Git-Dch: Ignore
2014-01-26Merge remote-tracking branch 'donkult/debian/sid' into debian/sidMichael Vogt
Conflicts: apt-private/private-list.cc doc/po/de.po test/integration/framework
2014-01-18Merge remote-tracking branch 'mvo/debian/sid' into ↵Michael Vogt
debian/experimental-no-abi-break
2014-01-17get color/msglevel handling for tests in lineDavid Kalnischkies
Without a PTY attached do not use color, but use the same MSGLEVEL with or without a PTY. The level is better adjust via flags – especially as it is likely that without a PTY you want fullblown logs instead of the reduced display you get with -q otherwise. Git-Dch: Ignore
2014-01-17ensure the right permissions as dpkg-deb ensistsDavid Kalnischkies
otherwise you get with pickier umasks errors like: dpkg-deb: error: control directory has bad permissions 700 (must be >=0755 and <=0775) so we just force a 755 for the control directory and dpkg is happy. Git-Dch: Ignore
2014-01-17use our tmpdir instead of creating tmpfilesDavid Kalnischkies
Maintaining (mainly the deletion of them) is a pain and they litter /tmp while the testcase is run for no good reason as we could just as well drop it into our tmpdir we have anyway and let them be deleted with the rest automatically Git-Dch: Ignore
2014-01-17correct some quoting offensesDavid Kalnischkies
also avoids redirecting messages from dpkg-deb to /dev/null as it might fail (as it is quiet picky) and we should know why if it does. Git-Dch: Ignore
2014-01-17add missing integration test for "apt list"Michael Vogt
2014-01-17improve stdout/stderr usage correctness in test frameworkDavid Kalnischkies
Also adds a friendly note about how many tests were run/passed so that the end of the testrun isn't all that negative by just showing fails. (It now tells us that we have 111 tests at the moment!) Git-Dch: Ignore
2014-01-16use our own homedir for gpg in testcasesDavid Kalnischkies
Git-Dch: Ignore
2014-01-16show the error message if the webserver start failedDavid Kalnischkies
Can happen e.g. if port 8080 is already used by something else Git-Dch: Ignore
2014-01-15rework some testcases to not spit out textDavid Kalnischkies
Rework also uncovers two FIXMEs Git-Dch: Ignore
2014-01-15tests: default to 'sid' codename for 'unstable'David Kalnischkies
Git-Dch: Ignore
2014-01-15use C.UTF-8 in testcases as localeDavid Kalnischkies
Git-Dch: Ignore