]> git.saurik.com Git - apt.git/commitdiff
eipp: include global errors in reported error
authorDavid Kalnischkies <david@kalnischkies.de>
Mon, 6 Jun 2016 15:56:08 +0000 (17:56 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Mon, 27 Jun 2016 09:57:12 +0000 (11:57 +0200)
Git-Dch: Ignore

cmdline/apt-internal-planer.cc
test/integration/test-bug-770291-reinstall

index 0657be3b2ac8dfc769f8962e4d0f9f315e156416..c83dba8b18a428c45845d38cc952a303aafb35f4 100644 (file)
@@ -172,15 +172,21 @@ int main(int argc,const char *argv[])                                     /*{{{*/
        if (PM.ApplyRequest(actions) == false)
                DIE("Failed to apply request to packagemanager!");
        pkgPackageManager::OrderResult const Res = PM.DoInstallPreFork();
+       std::ostringstream broken;
        switch (Res)
        {
           case pkgPackageManager::Completed:
              EDSP::WriteProgress(100, "Done", output);
              break;
           case pkgPackageManager::Incomplete:
-             EDSP::WriteError("pm-incomplete", "Planer could only plan Incompletely", output);
+             broken << "Planer could only incompletely plan an installation order!" << std::endl;
+             _error->DumpErrors(broken, GlobalError::DEBUG);
+             EDSP::WriteError("pm-incomplete", broken.str(), output);
+             break;
           case pkgPackageManager::Failed:
-             EDSP::WriteError("pm-failed", "Planer failed to find an order", output);
+             broken << "Planer failed to find an installation order!" << std::endl;
+             _error->DumpErrors(broken, GlobalError::DEBUG);
+             EDSP::WriteError("pm-failed", broken.str(), output);
              break;
        }
 
index 0dd8c89a97db24f434952ca156d9a9f8821afd0e..389fb181497c87a6a4bd4202a822314c520aeba4 100755 (executable)
@@ -58,11 +58,11 @@ Conf dependsa (1 unstable [i386])' aptget install --reinstall dependsa dependsb
 # there is a chance dpkg can actually do these, BUT this depends on the maintainerscripts (not) present
 # which is very very risky to depend on (and apt doesn't know about that anyhow).
 testfailure aptget install --reinstall predependsa predependsb -s -o Debug::pkgPackageManager=1
-testequal "E: Couldn't configure predependsa:i386, probably a dependency cycle." tail -n1 rootdir/tmp/testfailure.output
+testsuccess grep "^E: Couldn't configure predependsa:i386, probably a dependency cycle.$" rootdir/tmp/testfailure.output
 
 # FIXME: the error message is a catch all here, not like the one above
 testfailure aptget install --reinstall predependsdependsa predependsdependsb -s -o Debug::pkgPackageManager=1
-testequal "E: Could not configure 'predependsdependsb:i386'. " tail -n1 rootdir/tmp/testfailure.output
+testsuccess grep "^E: Could not configure 'predependsdependsb:i386'. $" rootdir/tmp/testfailure.output
 
 
 msgmsg 'While we are at it, lets try these loops without reinstall as well'
@@ -91,8 +91,8 @@ Conf dependsa (1 unstable [i386])' aptget install dependsa dependsb -s
 # there is a chance dpkg can actually do these, BUT this depends on the maintainerscripts (not) present
 # which is very very risky to depend on (and apt doesn't know about that anyhow).
 testfailure aptget install predependsa predependsb -s -o Debug::pkgPackageManager=1
-testequal "E: Couldn't configure predependsa:i386, probably a dependency cycle." tail -n1 rootdir/tmp/testfailure.output
+testsuccess grep "^E: Couldn't configure predependsa:i386, probably a dependency cycle.$" rootdir/tmp/testfailure.output
 
 # FIXME: the error message is a catch all here, not like the one above
 testfailure aptget install predependsdependsa predependsdependsb -s -o Debug::pkgPackageManager=1
-testequal "E: Could not configure 'predependsdependsb:i386'. " tail -n1 rootdir/tmp/testfailure.output
+testsuccess grep "^E: Could not configure 'predependsdependsb:i386'. $" rootdir/tmp/testfailure.output