Mercurial > hg
view tests/list-tree.py @ 42009:8f427f7c1f71
fix: make the order of the work queue deterministic
This makes any output generated during the parallel phase of execution stable
if parallelism is disabled. This helps write tests like that in the future.
Differential Revision: https://phab.mercurial-scm.org/D6166
author | Danny Hooper <hooper@google.com> |
---|---|
date | Thu, 21 Mar 2019 18:27:09 -0700 |
parents | acff41957b34 |
children | 2372284d9457 |
line wrap: on
line source
from __future__ import ( absolute_import, print_function, ) import argparse import os ap = argparse.ArgumentParser() ap.add_argument('path', nargs='+') opts = ap.parse_args() def gather(): for p in opts.path: if not os.path.exists(p): return if os.path.isdir(p): yield p + os.path.sep for dirpath, dirs, files in os.walk(p): for d in dirs: yield os.path.join(dirpath, d) + os.path.sep for f in files: yield os.path.join(dirpath, f) else: yield p print('\n'.join(sorted(gather(), key=lambda x: x.replace(os.path.sep, '/'))))