tests: write and use a custom helper script to avoid find's -printf
-printf on find is a GNU-ism and will be banned in an upcoming
check-code change.
Differential Revision: https://phab.mercurial-scm.org/D1597
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/list-tree.py Tue Dec 05 16:55:41 2017 -0500
@@ -0,0 +1,27 @@
+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())))
--- a/tests/test-largefiles-misc.t Fri Dec 01 23:27:08 2017 -0500
+++ b/tests/test-largefiles-misc.t Tue Dec 05 16:55:41 2017 -0500
@@ -1095,8 +1095,7 @@
Move (and then undo) a directory move with only largefiles.
$ listtree() {
- > find $@ \( -type d -printf "%p/\n" -o -type f -printf "%p\n" \) \
- > -a -name .hg -prune | sort
+ > $PYTHON $TESTDIR/list-tree.py $@
> }
$ cd subrepo-root