tests/test-docker-packaging.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 21 Dec 2023 01:45:43 +0100
branchstable
changeset 51265 85d96517e650
parent 50725 7e5be4a7cda7
permissions -rw-r--r--
persistent-nodemap: respect the mmap setting when refreshing data After writing updated data, we reload the in-memory data. However, that logic was… wrong. We were doing file read when mmap was requested and when the configuration was requesting to not use mmap… we were using it. This should now be fine.

#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-buster > $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* | grep -E '(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* | grep -E '(localrepo|parsers)'
  ./usr/lib/python2.7/dist-packages/mercurial/pure/parsers.py
  ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py