From 259e627b61b54a9ac0a2e5bb3fc5ec7a6e0309cb Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Mon, 31 Aug 2015 16:58:18 -0700
Subject: [PATCH] Fix sanity

---
 tools/buildgen/generate_projects.py | 9 +++++++--
 tools/buildgen/mako_renderer.py     | 7 ++++++-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/tools/buildgen/generate_projects.py b/tools/buildgen/generate_projects.py
index db6b5050da..c3e2b12051 100755
--- a/tools/buildgen/generate_projects.py
+++ b/tools/buildgen/generate_projects.py
@@ -31,6 +31,7 @@
 
 import glob
 import os
+import shutil
 import sys
 import tempfile
 sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), '..', 'run_tests'))
@@ -76,5 +77,9 @@ jobset.run(jobs)
 
 if test is not None:
   for s, g in test.iteritems():
-    assert(0 == os.system('diff %s %s' % (s, g)))
-    os.unlink(g)
+    if os.path.isfile(g):
+      assert(0 == os.system('diff %s %s' % (s, g)))
+      os.unlink(g)
+    else:
+      assert(0 == os.system('diff -r %s %s' % (s, g)))
+      shutil.rmtree(g, ignore_errors=True)
diff --git a/tools/buildgen/mako_renderer.py b/tools/buildgen/mako_renderer.py
index 08307bda5a..abb8df2141 100755
--- a/tools/buildgen/mako_renderer.py
+++ b/tools/buildgen/mako_renderer.py
@@ -135,7 +135,12 @@ def main(argv):
         # we have optional control data: this template represents
         # a directory
         if not cleared_dir:
-          shutil.rmtree(output_name, ignore_errors=True)
+          if not os.path.exists(output_name):
+            pass
+          elif os.path.isfile(output_name):
+            os.unlink(output_name)
+          else:
+            shutil.rmtree(output_name, ignore_errors=True)
           cleared_dir = True
         items = []
         if 'foreach' in src:
-- 
GitLab