tests: require regexes in unified tests to be marked with " (re)"
Consider this test:
$ hg glog --template '{rev}:{node|short} "{desc}"\n'
@ 2:20c4f79fd7ac "3"
|
| o 1:38f24201dcab "2"
|/
o 0:2a18120dc1c9 "1"
Because each line beginning with "|" can be compiled as a regular
expression (equivalent to ".*|"), they will match any output.
Similarly:
$ echo foo
The blank output line can be compiled as a regular expression and will
also match any output.
With this patch, none of the above output lines will be matched as
regular expressions. A line must end in " (re)" in order to be matched
as one.
Lines are still matched literally first, so the following will pass:
$ echo 'foo (re)'
foo (re)
$ hg clone http://localhost:$HGPORT/ copy
abort: error: Connection refused
[255]
$ test -d copy || echo copy: No such file or directory
copy: No such file or directory
$ cat > dumb.py <<EOF
> import BaseHTTPServer, SimpleHTTPServer, os, signal
> def run(server_class=BaseHTTPServer.HTTPServer,
> handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
> server_address = ('localhost', int(os.environ['HGPORT']))
> httpd = server_class(server_address, handler_class)
> httpd.serve_forever()
> signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
> run()
> EOF
$ python dumb.py 2>/dev/null &
$ echo $! >> $DAEMON_PIDS
give the server some time to start running
$ sleep 1
$ hg clone http://localhost:$HGPORT/foo copy2 2>&1
abort: HTTP Error 404: .* (re)
[255]
$ kill $!