tests: add a wrapper to run fsmonitor tests
This script does a bunch of non-trivial configuration work: in particular, it
sets up an isolated instance of Watchman which isn't affected by global state
and can be torn down on completion.
This script also sets the HGFSMONITOR_TESTS environment variable, which hghave
will use in the next patch to allow gating on whether fsmonitor is enabled.
With fsmonitor enabled, there appear to be a number of failures in the test
suite. It's not yet clear to me why they're happening, but if someone would
like to jump in and fix some of them I hope this will be helpful for that.
#require test-repo slow debhelper
$ . "$TESTDIR/helpers-testrepo.sh"
Ensure debuild doesn't run the testsuite, as that could get silly.
$ DEB_BUILD_OPTIONS=nocheck
$ export DEB_BUILD_OPTIONS
$ OUTPUTDIR=`pwd`
$ export OUTPUTDIR
$ cd "$TESTDIR"/..
$ make deb > $OUTPUTDIR/build.log 2>&1
$ cd $OUTPUTDIR
$ ls *.deb
mercurial-common_*.deb (glob)
mercurial_*.deb (glob)
main deb should have .so but no .py
$ dpkg --contents mercurial_*.deb | egrep '(localrepo|parsers)'
* ./usr/lib/python2.7/dist-packages/mercurial/parsers*.so (glob)
mercurial-common should have py but no .so or pyc
$ dpkg --contents mercurial-common_*.deb | egrep '(localrepo|parsers)'
* ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py (glob)