Mercurial > hg
view tests/test-push-hook-lock.t @ 28582:cdbc25306696
run-tests: add --with-python3 to define a Python 3 interpreter
Currently, very few parts of Mercurial run under Python 3, notably the
test harness.
We want to write tests that run Python 3. For example, we want to
extend test-check-py3-compat.t to parse and load Python files.
However, we have a problem: finding appropriate files requires
running `hg files` and this requires Python 2 until `hg` works
with Python 3.
As a temporary workaround, we add --with-python3 to the test harness
to allow us to define the path to a Python 3 interpreter. This
interpreter is made available to the test environment via $PYTHON3 so
tests can run things with Python 3 while the test harness and `hg`
invocations continue to run from Python 2. To round out the feature,
a "py3exe" hghave check has been added.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 18 Mar 2016 16:17:56 -0700 |
parents | 00e4c5601c74 |
children | ac9b85079122 |
line wrap: on
line source
$ hg init 1 $ echo '[ui]' >> 1/.hg/hgrc $ echo 'timeout = 10' >> 1/.hg/hgrc $ echo foo > 1/foo $ hg --cwd 1 ci -A -m foo adding foo $ hg clone 1 2 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg clone 2 3 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cat <<EOF > $TESTTMP/debuglocks-pretxn-hook.sh > hg debuglocks > true > EOF $ echo '[hooks]' >> 2/.hg/hgrc $ echo "pretxnchangegroup.a = sh $TESTTMP/debuglocks-pretxn-hook.sh" >> 2/.hg/hgrc $ echo 'changegroup.push = hg push -qf ../1' >> 2/.hg/hgrc $ echo bar >> 3/foo $ hg --cwd 3 ci -m bar $ hg --cwd 3 push ../2 --config experimental.bundle2-exp=False pushing to ../2 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files lock: user *, process * (*s) (glob) wlock: free $ hg --cwd 1 --config extensions.strip= strip tip -q $ hg --cwd 2 --config extensions.strip= strip tip -q $ hg --cwd 3 push ../2 --config experimental.bundle2-exp=True pushing to ../2 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files lock: user *, process * (*s) (glob) wlock: user *, process * (*s) (glob)