# HG changeset patch # User Martin Geisler # Date 2010-11-01 09:24:07 # Node ID 53cfde2b3cf98700c7cb587b639a964aa327b35e # Parent bc91a79fa3d04b365a7149989ec52888d88b256b run-tests: use regex when searching for $HGPORT in test output This prevents spurious errors when a changeset hash happens to match the port number. Before, this invocation gave a test failure: $ ./run-tests.py test-log.t --port 24427 ERROR: /home/mg/src/mercurial-crew/tests/test-log.t output changed --- /home/mg/src/mercurial-crew/tests/test-log.t +++ /home/mg/src/mercurial-crew/tests/test-log.t.err @@ -626,12 +626,12 @@ $ hg log -b default changeset: 2:c3a4f03cc9a7 - parent: 0:24427303d56f + parent: 0:$HGPORT303d56f user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: commit on default ... diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -604,7 +604,7 @@ def run(cmd, options, replacements): raise for s, r in replacements: - output = output.replace(s, r) + output = re.sub(s, r, output) return ret, splitnewlines(output) def runone(options, test, skips, fails): @@ -677,10 +677,10 @@ def runone(options, test, skips, fails): signal.alarm(options.timeout) ret, out = runner(testpath, options, [ - (testtmp, '$TESTTMP'), - (':%s' % options.port, ':$HGPORT'), - (':%s' % (options.port + 1), ':$HGPORT1'), - (':%s' % (options.port + 2), ':$HGPORT2'), + (re.escape(testtmp), '$TESTTMP'), + (r':%s\b' % options.port, ':$HGPORT'), + (r':%s\b' % (options.port + 1), ':$HGPORT1'), + (r':%s\b' % (options.port + 2), ':$HGPORT2'), ]) vlog("# Ret was:", ret)