view tests/test-docker-packaging.t @ 29218:fd288d118074

largefiles: send statlfile remote calls only for nonexisting locally files Files that are already in local store should be checked locally. The problem with this implementation is how difference in messages between local and remote checks should look like. For now local errors for file missing and content corrupted looks like this: 'changeset cset: filename references missing storepath\n' 'changeset cset: filename references corrupted storepath\n' for remote it looks like: 'changeset cset: filename missing\n' 'changeset cset: filename: contents differ\n' Contents differ error for remote calls is never raised currently - for now statlfile implementation lacks checking file content.
author liscju <piotr.listkiewicz@gmail.com>
date Mon, 09 May 2016 10:05:32 +0200
parents fc0f9714d077
children 3c9066ed557c
line wrap: on
line source

#require test-repo slow docker

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