tests: don't match blank output lines as regexes in unified tests
Currently, the following unified test will pass:
$ echo foo
A blank output line (a line containing just two spaces) will match any
output.
The patch modifies the unified test runner to ignore empty strings
strings when do regular expression matching.
#!/bin/sh
cat > unix2mac.py <<EOF
import sys
for path in sys.argv[1:]:
data = file(path, 'rb').read()
data = data.replace('\n', '\r')
file(path, 'wb').write(data)
EOF
cat > print.py <<EOF
import sys
print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>'))
EOF
hg init
echo '[hooks]' >> .hg/hgrc
echo 'pretxncommit.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc
echo 'pretxnchangegroup.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc
cat .hg/hgrc
echo
echo hello > f
hg add f
hg ci -m 1
echo
python unix2mac.py f
hg ci -m 2
hg cat f | python print.py
cat f | python print.py