diff options
author | Eric Anholt <eric@anholt.net> | 2013-03-26 18:38:00 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2013-04-08 16:21:10 -0700 |
commit | 458d3549585384d2419ef5c59416bb14697d90d6 (patch) | |
tree | a82340861c144f4161e6c0619bc1d5cfebbf78dd | |
parent | 266d20004029654799f401d6f61313f3b0398b96 (diff) |
Allow whole directories to be passed to run.py
-rwxr-xr-x | run.py | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -9,7 +9,7 @@ from multiprocessing import cpu_count def usage(): USAGE = """\ -Usage: %(progName)s [shader.frag] [shader.vert] +Usage: %(progName)s <dir | shader.shader_test | shader.frag | shader.vert>... Options: -h, --help Show this message @@ -17,6 +17,15 @@ Options: print(USAGE % {'progName': sys.argv[0]}) sys.exit(1) +def process_directories(dirpath): + filenames = set() + if os.path.isdir(dirpath): + for filename in os.listdir(dirpath): + filenames.update(process_directories(os.path.join(dirpath, filename))) + else: + filenames.add(dirpath) + return filenames + def run_test(filename): if ".out" in filename: return "" @@ -119,8 +128,12 @@ def main(): runtimebefore = time.time() + filenames = set() + for i in args: + filenames.update(process_directories(i)) + executor = ThreadPoolExecutor(cpu_count()) - for t in executor.map(run_test, args): + for t in executor.map(run_test, filenames): sys.stdout.write(t) runtimeafter = time.time() |