diff --git a/tools/buildgen/generate_projects.py b/tools/buildgen/generate_projects.py index db6b5050da61832db2a77518bc1d04a20727c41a..c3e2b12051626380e1e7bb13375e3bddf3c53e92 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 08307bda5a8ccafba9eb92f042df203acc39962e..abb8df2141ac33a2f63e06a05243e306fdd62257 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: