Mercurial > hg
view tests/test-docker-packaging.t @ 37459:90c5ca718781
procutil: rewrite popen() as a subprocess.Popen wrapper (issue4746) (API)
os.popen() of Python 3 is not the popen() we want. First, it doesn't accept
command in bytes. Second, a returned stream is always wrapped by TextIO.
So we have to reimplement our popen(). Fortunately, this fixes the bug 4746
since ours returns an exit code compatible with explainexit().
.. api::
``procutil.popen()`` no longer supports text mode I/O.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 07 Apr 2018 21:09:21 +0900 |
parents | ddd65b4f3ae6 |
children | e468ebfcb4ce |
line wrap: on
line source
#require test-repo slow docker $ . "$TESTDIR/helpers-testrepo.sh" $ testrepohgenv 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 docker-debian-jessie > $OUTPUTDIR/build.log 2>&1 $ cd $OUTPUTDIR $ ls *.deb mercurial-common_*.deb (glob) mercurial_*.deb (glob) We check debian package contents with portable tools so that when we're on non-debian machines we can still test the packages that are built using docker. main deb should have .so but no .py $ ar x mercurial_*.deb $ tar tf data.tar* | egrep '(localrepo|parsers)' ./usr/lib/python2.7/dist-packages/mercurial/parsers*.so (glob) mercurial-common should have .py but no .so or .pyc $ ar x mercurial-common_*.deb $ tar tf data.tar* | egrep '(localrepo|parsers)' ./usr/lib/python2.7/dist-packages/mercurial/pure/parsers.py ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py