Development

In addition to the environment setup for automation, development needs a local copy of the Mercurial source code. Cross-channel uses the Mercurial test runner run-tests.py.

You want to clone the Mercurial source code,

hg clone https://www.mercurial-scm.org/repo/hg-committed/ hg

We recommend to use the test runner from the same version as the Mercurial you’re testing with:

cd hg
hg up -r `hg version -T'{ver}'`

Running Tests

As of this writing, the tests require an unreleased version of the Mercurial source code to pass on Python 3. Mercurial 5.5 will have the fix to run-tests.py.

The invocation is a bit involved:

cd cross-channel
PYTHONPATH=$PWD ~/src/python/hg/tests/run-tests.py --with-hg ../env/bin/hg tests/test-*.t