tests: use grep -E instead of obsolescent egrep
Testing on Fedora 38 failed with:
egrep: warning: egrep is obsolescent; using grep -E
The warning comes from
https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1
. For further anecdotal evidence of the change, see
https://www.phoronix.com/news/GNU-Grep-3.8-Stop-egrep-fgrep .
This reverses the code check that goes back to e7d3b509af8b. grep -E is POSIX,
but there is a risk that it doesn't work the same on all platforms - especially
older Unix versions. It should however always be possible to put a GNU grep in
$PATH before running the tests.
#require test-repo slow debhelper debdeps
$ . "$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 deb > $OUTPUTDIR/build.log 2>&1
$ cd $OUTPUTDIR
$ ls *.deb | grep -v 'dbg'
mercurial_*.deb (glob)
should have .so and .py
$ dpkg --contents mercurial_*.deb | grep -E '(localrepo|parsers)'
* ./usr/lib/python3/dist-packages/mercurial/cext/parsers*.so (glob)
* ./usr/lib/python3/dist-packages/mercurial/localrepo.py (glob)
* ./usr/lib/python3/dist-packages/mercurial/pure/parsers.py (glob)
should have zsh completions
$ dpkg --contents mercurial_*.deb | grep -E 'zsh.*[^/]$'
* ./usr/share/zsh/vendor-completions/_hg (glob)
should have chg
$ dpkg --contents mercurial_*.deb | grep -E 'chg$'
* ./usr/bin/chg (glob)
chg should come with a man page
$ dpkg --contents mercurial_*.deb | grep -E 'man.*chg'
* ./usr/share/man/man1/chg.1.gz (glob)