[clang-tidy-builder] Fix some issues with builder not finding logs.

Fix issue with builder not finding & uploading logs.

BUG=chromium:831200
TEST=Tested with cros tryjob successfully.

Change-Id: I79c16dcfa5ba1748398780779c59dc2a314ff9fc
Reviewed-on: https://chromium-review.googlesource.com/996564
Commit-Ready: Caroline Tice <cmtice@chromium.org>
Tested-by: Caroline Tice <cmtice@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
diff --git a/scripts/cros_generate_tidy_warnings.py b/scripts/cros_generate_tidy_warnings.py
index 4d64eee..c44fcd7 100644
--- a/scripts/cros_generate_tidy_warnings.py
+++ b/scripts/cros_generate_tidy_warnings.py
@@ -8,6 +8,7 @@
 from __future__ import print_function
 
 import os
+import shutil
 
 from chromite.lib import cros_build_lib
 from chromite.lib import commandline
@@ -25,8 +26,9 @@
   parser = commandline.ArgumentParser(description=__doc__)
   parser.add_argument('--board', required=True,
                       help=('The board to generate the sysroot for.'))
-  parser.add_argument('--files', required=True,
-                      help=('The files to generate warnings files for.'))
+  parser.add_argument('--logs-dir', required=True,
+                      help=('The directory containg the logs files to '
+                            'be parsed.'))
   parser.add_argument('--out-dir', type='path', required=True,
                       help='Directory to place the generated tarball.')
   parser.add_argument('--out-file', default=DEFAULT_NAME,
@@ -50,11 +52,24 @@
     self.warnings_dir = warnings_dir
     self.options = options
 
+  def _FindLogFiles(self, logs_dir):
+    files = []
+    filelist = os.listdir(logs_dir)
+    for f in filelist:
+      logfile = os.path.join(logs_dir, f)
+      files.append(logfile)
+    return files
+
   def _ParseLogFiles(self):
-    log_files = self.options.files
+    log_files = self._FindLogFiles(self.options.logs_dir)
     for f in log_files:
       cmd = [PARSING_SCRIPT, '--log_file', f, '--output_dir', self.warnings_dir]
       cros_build_lib.RunCommand(cmd, cwd=WORKING_DIR, enter_chroot=True)
+      # Copy log file to output directory.  We want the log files in the
+      # tarball, for now, in case we ever need to re-process them. (A
+      # possibility, since the final dashboard details have not been worked out
+      # yet.)
+      shutil.copy2(f, self.warnings_dir)
 
   def _CreateTarball(self):
     target = os.path.join(self.options.out_dir, self.options.out_file)