Explorar o código

eipp: include global errors in reported error

Git-Dch: Ignore
David Kalnischkies %!s(int64=10) %!d(string=hai) anos
pai
achega
91abb30f1c
Modificáronse 2 ficheiros con 12 adicións e 6 borrados
  1. 8 2
      cmdline/apt-internal-planer.cc
  2. 4 4
      test/integration/test-bug-770291-reinstall

+ 8 - 2
cmdline/apt-internal-planer.cc

@@ -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;
 	}
 

+ 4 - 4
test/integration/test-bug-770291-reinstall

@@ -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