mirror of
https://github.com/facebook/sapling.git
synced 2024-12-26 22:47:26 +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
29 lines
1003 B
Perl
29 lines
1003 B
Perl
#require py2
|
|
#require test-repo hg10 slow
|
|
|
|
$ . "$TESTDIR/helpers-testrepo.sh"
|
|
$ cd "`dirname "$TESTDIR"`"
|
|
|
|
look for python scripts that do not use /usr/bin/env
|
|
|
|
$ testrepohg files 'set:** and grep(r"^#!.*?python") and not grep(r"^#!/usr/bi{1}n/env python") - **/*.t'
|
|
|
|
In tests, enforce $PYTHON and *not* /usr/bin/env python or similar:
|
|
$ testrepohg files 'set:**/*.t and grep(r"#!.*?python")' \
|
|
> -X tests/test-check-execute.t \
|
|
> -X tests/test-check-module-imports.t \
|
|
> -X tests/test-check-pyflakes.t \
|
|
> -X tests/test-check-shbang.t \
|
|
> -X fb-hgext/tests/test-fb-hgext-check-execute-hg.t \
|
|
> -X fb-hgext/tests/test-fb-hgext-check-pyflakes-hg.t \
|
|
> -X fb-hgext/tests/test-fb-hgext-check-shbang-hg.t
|
|
[1]
|
|
|
|
The above exclusions are because they're looking for files that
|
|
contain Python but don't end in .py - please avoid adding more.
|
|
|
|
look for shell scripts that do not use /bin/sh
|
|
|
|
$ testrepohg files 'set:** and grep(r"^#!.*/bi{1}n/sh") and not grep(r"^#!/bi{1}n/sh")'
|
|
[1]
|