mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
92f6f35e7a
Summary: This diff marks **ALL** mercurial tests requiring Python 2 feature. After you fixes some tests, simply remove the `py2` feature requirement and that tests will be continuously run after your diff is landed. To bypass this feature requirement, run the tests command with `HGTEST_FORCE_PY2=1`. For example: ``` HGTEST_FORCE_PY2=1 buck test //eden/scm/tests:hg_run_tests ``` or ``` HGTEST_FORCE_PY2=1 python run-tests.py ``` ---- Basically this diff are created with the following commands: ``` $ sed -i 's/import feature\(.*\)$/import feature\1\n\nfeature.require(["py2"])/' test-*-t.py $ sed -i '1s/^/#require py2\n/' test-*.t $ ls | grep -P "^test.*(?<\!-t)\.py$" > list && vim -p $(cat list) # manually adding feature requires for these Python tests. ``` (Note: this ignores all push blocking failures!) ignore-conflict-markers Reviewed By: singhsrb Differential Revision: D19655148 fbshipit-source-id: 985e3ccb4010cc559049f1d89f8909bc2d9b5e20
38 lines
1.2 KiB
Perl
38 lines
1.2 KiB
Perl
#require py2
|
|
#chg-compatible
|
|
|
|
#require test-repo normal-layout
|
|
|
|
$ . "$TESTDIR/helpers-testrepo.sh"
|
|
$ enable amend undo
|
|
$ cat <<'EOF' > scanhelptopics.py
|
|
> from __future__ import absolute_import, print_function
|
|
> import re
|
|
> import sys
|
|
> if sys.platform == "win32":
|
|
> import os, msvcrt
|
|
> msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
|
|
> topics = set()
|
|
> topicre = re.compile(r':hg:`help ([a-z0-9\-.]+)`')
|
|
> for fname in sys.argv:
|
|
> with open(fname) as f:
|
|
> topics.update(m.group(1) for m in topicre.finditer(f.read()))
|
|
> for s in sorted(topics):
|
|
> print(s)
|
|
> EOF
|
|
|
|
$ cd "$TESTDIR"/..
|
|
|
|
Check if ":hg:`help TOPIC`" is valid:
|
|
(use "xargs -n1 -t" to see which help commands are executed)
|
|
|
|
$ NPROC=`python -c 'import multiprocessing; print(multiprocessing.cpu_count())'`
|
|
$ testrepohg files 'glob:edenscm/**/*.py' \
|
|
> | sed 's|\\|/|g' \
|
|
> | xargs $PYTHON "$TESTTMP/scanhelptopics.py" > $TESTTMP/topics
|
|
|
|
Remove subversion from the list; it does not work on macOS and casuses this test
|
|
to print errors.
|
|
$ grep -v subversion $TESTTMP/topics > $TESTTMP/topics_filtered
|
|
$ cat $TESTTMP/topics_filtered | xargs -n1 -P $NPROC hg --cwd / help >/dev/null
|