Hi, looks good, applies cleanly & works, but let me be picky and ask for some more changes anyhow: On Fri, Nov 11, 2016 at 12:05:52PM +0000, James Clarke wrote: > On Wed, Nov 09, 2016 at 02:31:02PM +0100, David Kalnischkies wrote: > e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The supported fields > are <literal>Origin</literal>, <literal>Label</literal>, <literal>Suite</literal>, > <literal>Version</literal>, <literal>Codename</literal>, <literal>Date</literal>, > + <literal>NotAutomatic</literal>, <literal>ButAutomaticUpgrades</literal>, > <literal>Valid-Until</literal>, <literal>Signed-By</literal>, <literal>Architectures</literal>, > <literal>Components</literal> and <literal>Description</literal>.</para></listitem> add "Acquire-By-Hash" here as your code supports it and the other option (might) do more (in future), so it shouldn't hurt™. > + // Read configuration for string fields, but don't output them > + for(map<string,string>::iterator I = Fields.begin(); > + I != Fields.end(); > + ++I) Please use c++11 for loops here, e.g.: for (auto &&I: Fields) > + { > + string Config = string("APT::FTPArchive::Release::") + I->first; > + I->second = _config->Find(Config, I->second.c_str()); ^^^^^^^^ Unneeded as that parameter can be a std::string instance. > - if (Value == "") > + if (I->second == "") as you change that line use .empty() here. (Same difference) > # ensure we have it in the Release file > -testsuccess grep "Acquire-By-Hash: true" aptarchive/dists/unstable/*Release > +testsuccess grep "Acquire-By-Hash: yes" aptarchive/dists/unstable/*Release Good find! Thansk deity@ apt is so lax in syntax checking… :) > +# > +# main() > +# No idea why we ended up with testcases having those strangers, but lets not add more of those… > +configcompression 'gz' '.' > +confighashes 'SHA256' 'SHA512' Remove those two as well as the testcase has no specific needs. > +# build one package > +buildsimplenativepackage 'foo' 'i386' '1' 'unstable' > +buildaptarchivefromincoming You aren't using a 'real' package in this test, so we can save some cpu cycles by just faking a few as needed and play with them: insertpackage 'unstable' 'foo' 'i386' '1' insertpackage 'experimental' 'foo' 'i386' '3' setupaptarchive # … greps here … testsuccessequal '<output installing foo in version 1>' apt install foo -s And while we are at it, even if not strictly needed, lets add a But… case by sprinkling in a few more lines in the right places (we have to waste the cpu cycles we saved above somehow after all ;) ) getnotautomaticfromsuite() { case "$1" in experimental|backports) echo 'yes';; esac } # FIXME: add support for that in framework getbutautomaticupgradesfromsuite() { case "$1" in backports) echo 'yes';; esac } insertpackage 'backports' 'foo' 'i386' '3~bpo1' insertinstalledpackage 'foo' 'i386' '2' testsuccessequal '<output installing foo in version 3~bpo1>' apt install foo -s Best regards David Kalnischkies
Attachment:
signature.asc
Description: PGP signature