[PATCH 4 of 7 v3 stable osx-packaging] tests: add test for Mac OS X package construction

Kevin Bullock kbullock+mercurial at ringworld.org
Fri Apr 29 15:17:07 EDT 2016


# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1461038395 14400
#      Mon Apr 18 23:59:55 2016 -0400
# Branch stable
# Node ID f885dd89a93375b64479b8c2d1e40b8cb6f9adb5
# Parent  92a03888ff22e6d1c7be2f82ee018e4f20acc5c9
tests: add test for Mac OS X package construction

diff --git a/tests/test-mac-packages.t b/tests/test-mac-packages.t
new file mode 100644
--- /dev/null
+++ b/tests/test-mac-packages.t
@@ -0,0 +1,42 @@
+#require test-repo slow osx bdistmpkg
+  $ OUTPUTDIR=`pwd`
+  $ export OUTPUTDIR
+  $ KEEPMPKG=yes
+  $ export KEEPMPKG
+
+  $ cd "$TESTDIR"/..
+  $ make osx > $OUTPUTDIR/build.log 2>&1
+  $ cd $OUTPUTDIR
+  $ ls -d *.dmg *.mpkg
+  mercurial-*-macosx10.*.dmg (glob)
+  mercurial-*-macosx10.*.mpkg (glob)
+
+Gather list of all installed files:
+  $ find *.mpkg -name Archive.bom | xargs lsbom > boms.txt
+
+TODO: update to -f 1,2,3 when we're confident the installed owner of
+our files is corect. Right now it looks like it's the id of the user
+that builds the mpkg, which is probably slightly wrong.
+
+Spot-check some randomly selected files:
+  $ grep bdiff boms.txt | cut -d '	' -f 1,2
+  ./mercurial/bdiff.so	100775
+  ./mercurial/pure/bdiff.py	100664
+  ./mercurial/pure/bdiff.pyc	100664
+  ./mercurial/pure/bdiff.pyo	100664
+TODO: man pages don't get installed
+  $ egrep 'man[15]' boms.txt | cut -d '	' -f 1,2
+  $ grep bser boms.txt | cut -d '	' -f 1,2
+  ./hgext/fsmonitor/pywatchman/bser.so	100775
+  ./hgext/fsmonitor/pywatchman/pybser.py	100664
+  ./hgext/fsmonitor/pywatchman/pybser.pyc	100664
+  ./hgext/fsmonitor/pywatchman/pybser.pyo	100664
+  $ grep localrepo boms.txt | cut -d '	' -f 1,2
+  ./mercurial/localrepo.py	100664
+  ./mercurial/localrepo.pyc	100664
+  ./mercurial/localrepo.pyo	100664
+  $ grep '/hg	' boms.txt | cut -d '	' -f 1,2
+  ./hg	100775
+
+Note that we're not currently installing any /etc/mercurial stuff,
+including merge-tool configurations.


More information about the Mercurial-devel mailing list