##// END OF EJS Templates
revlog: subclass the new `repository.iverifyproblem` Protocol class...
revlog: subclass the new `repository.iverifyproblem` Protocol class This is the same transformation as 3a90a6fd710d did for dirstate, but the CamelCase naming was already cleaned up here. We shouldn't have to explicitly subclass, but I'm doing so to test the interplay of regular attributes and the `attrs` class. Also, PyCharm has a nifty feature that puts a jump point in the gutter to navigate back and forth between the base class and subclasses (and override functions and base class functions) when there's an explicit subclassing. Additionally, PyCharm will immediately flag signature mismatches without a 40m pytype run.

File last commit:

r51618:7e5be4a7 stable
r53365:4ef6dbc2 default
Show More
test-mac-packages.t
71 lines | 3.1 KiB | text/troff | Tads3Lexer
/ tests / test-mac-packages.t
Kevin Bullock
osx: create a modern package including manpages...
r29027 #require test-repo slow osx osxpackaging
timeless
tests: silence test-repo obsolete warning...
r29219
$ . "$TESTDIR/helpers-testrepo.sh"
Yuya Nishihara
tests: alias syshg and syshgenv so they can be switched conditionally
r33199 $ testrepohgenv
timeless
tests: silence test-repo obsolete warning...
r29219
Augie Fackler
osx: use more paranoid quoting in test
r31610 $ OUTPUTDIR="`pwd`"
Augie Fackler
tests: add test for Mac OS X package construction
r29025 $ export OUTPUTDIR
$ KEEPMPKG=yes
$ export KEEPMPKG
$ cd "$TESTDIR"/..
Augie Fackler
osx: new script for generating OS X package versions...
r33595 $ contrib/genosxversion.py --selftest ignoredarg
Augie Fackler
osx: use more paranoid quoting in test
r31610 $ make osx > "$OUTPUTDIR/build.log" 2>&1
$ cd "$OUTPUTDIR"
Kevin Bullock
osx: create a modern package including manpages...
r29027 $ ls -d *.pkg
Mercurial-*-macosx10.*.pkg (glob)
$ xar -xf Mercurial*.pkg
Augie Fackler
tests: add test for Mac OS X package construction
r29025
Gather list of all installed files:
Kevin Bullock
osx: create a modern package including manpages...
r29027 $ lsbom mercurial.pkg/Bom > boms.txt
Augie Fackler
tests: add test for Mac OS X package construction
r29025
Augie Fackler
osx: override default exclude filter for pkgbuild...
r32603 We've had problems with the filter logic in the past. Make sure no
.DS_Store files ended up in the final package:
$ grep DS_S boms.txt
[1]
Augie Fackler
tests: add test for Mac OS X package construction
r29025 Spot-check some randomly selected files:
Kevin Bullock
osx: create a modern package including manpages...
r29027 $ grep bdiff boms.txt | cut -d ' ' -f 1,2,3
Augie Fackler
osx: update Mac packaging tests for bdiff.so install location change
r32469 ./Library/Python/2.7/site-packages/mercurial/cext/bdiff.so 100755 0/0
Augie Fackler
tests: update mac packaging test expectations...
r33594 ./Library/Python/2.7/site-packages/mercurial/cffi/bdiff.py 100644 0/0
./Library/Python/2.7/site-packages/mercurial/cffi/bdiff.pyc 100644 0/0
./Library/Python/2.7/site-packages/mercurial/cffi/bdiff.pyo 100644 0/0
./Library/Python/2.7/site-packages/mercurial/cffi/bdiffbuild.py 100644 0/0
./Library/Python/2.7/site-packages/mercurial/cffi/bdiffbuild.pyc 100644 0/0
./Library/Python/2.7/site-packages/mercurial/cffi/bdiffbuild.pyo 100644 0/0
Kevin Bullock
osx: create a modern package including manpages...
r29027 ./Library/Python/2.7/site-packages/mercurial/pure/bdiff.py 100644 0/0
./Library/Python/2.7/site-packages/mercurial/pure/bdiff.pyc 100644 0/0
./Library/Python/2.7/site-packages/mercurial/pure/bdiff.pyo 100644 0/0
Kyle Lippincott
zsh_completion: install as _hg not hg...
r32604 $ grep zsh/site-functions/_hg boms.txt | cut -d ' ' -f 1,2,3
./usr/local/share/zsh/site-functions/_hg 100644 0/0
Matthew Martin
completion: install completers to conventional locations...
r49845 $ grep bash-completion/completions/hg boms.txt | cut -d ' ' -f 1,2,3
./usr/local/share/bash-completion-completions/hg 100644 0/0
Mads Kiilerich
tests: use grep -E instead of obsolescent egrep...
r51618 $ grep -E 'man[15]' boms.txt | cut -d ' ' -f 1,2,3
Kevin Bullock
osx: create a modern package including manpages...
r29027 ./usr/local/share/man/man1 40755 0/0
Augie Fackler
osx: include chg by default
r32471 ./usr/local/share/man/man1/chg.1 100644 0/0
Kevin Bullock
osx: create a modern package including manpages...
r29027 ./usr/local/share/man/man1/hg.1 100644 0/0
./usr/local/share/man/man5 40755 0/0
./usr/local/share/man/man5/hgignore.5 100644 0/0
./usr/local/share/man/man5/hgrc.5 100644 0/0
$ grep bser boms.txt | cut -d ' ' -f 1,2,3
./Library/Python/2.7/site-packages/hgext/fsmonitor/pywatchman/bser.so 100755 0/0
./Library/Python/2.7/site-packages/hgext/fsmonitor/pywatchman/pybser.py 100644 0/0
./Library/Python/2.7/site-packages/hgext/fsmonitor/pywatchman/pybser.pyc 100644 0/0
./Library/Python/2.7/site-packages/hgext/fsmonitor/pywatchman/pybser.pyo 100644 0/0
$ grep localrepo boms.txt | cut -d ' ' -f 1,2,3
./Library/Python/2.7/site-packages/mercurial/localrepo.py 100644 0/0
./Library/Python/2.7/site-packages/mercurial/localrepo.pyc 100644 0/0
./Library/Python/2.7/site-packages/mercurial/localrepo.pyo 100644 0/0
Mads Kiilerich
tests: use grep -E instead of obsolescent egrep...
r51618 $ grep -E 'bin/' boms.txt | cut -d ' ' -f 1,2,3
Augie Fackler
osx: include chg by default
r32471 ./usr/local/bin/chg 100755 0/0
Kevin Bullock
osx: create a modern package including manpages...
r29027 ./usr/local/bin/hg 100755 0/0
Augie Fackler
tests: add test for Mac OS X package construction
r29025
Augie Fackler
osx: explicitly build hg with /usr/bin/python2.7...
r29535 Make sure the built binary uses the system Python interpreter
$ bsdtar xf mercurial.pkg/Payload usr/local/bin
Use a glob to find this to avoid check-code whining about a fixed path.
$ head -n 1 usr/local/b?n/hg
#!/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Augie Fackler
tests: add test for Mac OS X package construction
r29025 Note that we're not currently installing any /etc/mercurial stuff,
including merge-tool configurations.