Discard deps that are not sync'ed anymore in safetynet_compare.py.

The job is currently blocked by the tools/gyp directory, which is being
downloaded in the "before" branch, but is not ignored anymore in the
"after" branch, making it an uncommited change.

Change-Id: I9aca33e2046fbbe2626431febcbbdbebe1937f3b
Reviewed-on: https://pdfium-review.googlesource.com/42110
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
diff --git a/testing/tools/githelper.py b/testing/tools/githelper.py
index 2e94196..a401685 100644
--- a/testing/tools/githelper.py
+++ b/testing/tools/githelper.py
@@ -64,3 +64,6 @@
   def CloneLocal(self, source_repo, new_repo):
     RunCommandPropagateErr(['git', 'clone', source_repo, new_repo],
                            exit_status_on_error=1)
+
+  def Clean(self):
+    RunCommandPropagateErr(['git', 'clean', '-df'])
diff --git a/testing/tools/safetynet_compare.py b/testing/tools/safetynet_compare.py
index ef47eab..c1d8b93 100755
--- a/testing/tools/safetynet_compare.py
+++ b/testing/tools/safetynet_compare.py
@@ -156,11 +156,11 @@
     self._StashLocalChanges()
 
     self._CheckoutBranch(after_branch)
-    self._BuildCurrentBranch(self.after_build_dir)
+    self._BuildCurrentBranch(self.after_build_dir, True)
     after = self._MeasureCurrentBranch('after', self.after_build_dir)
 
     self._CheckoutBranch(before_branch)
-    self._BuildCurrentBranch(self.before_build_dir)
+    self._BuildCurrentBranch(self.before_build_dir, True)
     before = self._MeasureCurrentBranch('before', self.before_build_dir)
 
     self._CheckoutBranch(branch_to_restore)
@@ -213,13 +213,13 @@
     """
     branch_to_restore = self.git.GetCurrentBranchName()
 
-    self._BuildCurrentBranch(self.after_build_dir)
+    self._BuildCurrentBranch(self.after_build_dir, False)
     after = self._MeasureCurrentBranch('after', self.after_build_dir)
 
     self._StashLocalChanges()
 
     self._CheckoutBranch(other_branch)
-    self._BuildCurrentBranch(self.before_build_dir)
+    self._BuildCurrentBranch(self.before_build_dir, True)
     before = self._MeasureCurrentBranch('before', self.before_build_dir)
 
     self._CheckoutBranch(branch_to_restore)
@@ -245,7 +245,7 @@
       in the given branch. The current branch is considered to be "after" and
       the other branch is considered to be "before".
     """
-    self._BuildCurrentBranch(self.after_build_dir)
+    self._BuildCurrentBranch(self.after_build_dir, False)
     after = self._MeasureCurrentBranch('after', self.after_build_dir)
 
     before = self._ProfileSeparateRepo('before',
@@ -267,7 +267,7 @@
       considered to be "before" and with uncommitted changes is considered to be
       "after".
     """
-    self._BuildCurrentBranch(self.after_build_dir)
+    self._BuildCurrentBranch(self.after_build_dir, False)
     after = self._MeasureCurrentBranch('after', self.after_build_dir)
 
     pushed = self._StashLocalChanges()
@@ -276,7 +276,7 @@
 
     before_build_dir = self.before_build_dir
 
-    self._BuildCurrentBranch(before_build_dir)
+    self._BuildCurrentBranch(before_build_dir, True)
     before = self._MeasureCurrentBranch('before', before_build_dir)
 
     self._RestoreLocalChanges()
@@ -316,7 +316,7 @@
                                      relative_build_dir,
                                      branch)
 
-    self._BuildCurrentBranch(build_dir)
+    self._BuildCurrentBranch(build_dir, False)
     return self._MeasureCurrentBranch(run_label, build_dir)
 
   def _CreateTempRepo(self, dir_name, relative_build_dir, branch):
@@ -383,12 +383,19 @@
     PrintErr('Restoring local changes')
     self.git.StashPopAll()
 
-  def _BuildCurrentBranch(self, build_dir):
+  def _BuildCurrentBranch(self, build_dir, do_clean):
     """Synchronizes and builds the current version of pdfium.
 
     Args:
       build_dir: String with path to build directory
+      do_clean: Whether to remove untracked files before syncing.
     """
+
+    # Some untracked files might be leftover from a gclient sync in a previous
+    # revision that are not .gitignore'd anymore.
+    if do_clean:
+      self.git.Clean()
+
     PrintErr('Syncing...')
     RunCommandPropagateErr(['gclient', 'sync'], exit_status_on_error=1)
     PrintErr('Done.')