Add additional error logging to cros_generate_test_payloads.py.

We are having errors in which log output from devserver isn't parsed
correctly, but we don't have the devserver logs with which to see
what they contain.

This change dumps the devserver logs so we can understand the root cause.

BUG=chromium-os:34768
TEST=Trybots lumpy-paladin

Change-Id: Ia0d8a771e4ce0ed98f80b7e003fcbf4ca45c86fe
Reviewed-on: https://gerrit.chromium.org/gerrit/34139
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
diff --git a/generate_test_payloads/cros_generate_test_payloads.py b/generate_test_payloads/cros_generate_test_payloads.py
index e968dcd..83fdc10 100755
--- a/generate_test_payloads/cros_generate_test_payloads.py
+++ b/generate_test_payloads/cros_generate_test_payloads.py
@@ -41,6 +41,11 @@
 from crostestutils.lib import test_helper
 
 
+class InvalidDevserverOutput(Exception):
+  """If we are unable to parse devserver output, this is raised."""
+  pass
+
+
 class UpdatePayload(object):
   """Wrapper around an update payload.
 
@@ -295,7 +300,11 @@
               return_array.append('/'.join(['update', path_to_update_dir]))
               break
           else:
-            logging.error('Could not find update string in log.')
+            logging.error('Could not find PREGENERATED_UPDATE in log:')
+            for line in output.splitlines():
+              logging.error('  log: %s', line)
+            # this is not a recoverable error
+            raise InvalidDevserverOutput('Could not parse devserver log')
 
       return return_array