# HG changeset patch # User Matt Mackall # Date 1320349864 18000 # Node ID 21b3c555b6f4a21a702100df7b4206ea65f511da # Parent cc9cdab213e14f8fc12ee753690242b631668147 run-tests: pull out unified matching funcs [ original upstream message ] diff -r cc9cdab213e1 -r 21b3c555b6f4 tests/run-tests.py --- a/tests/run-tests.py Thu Nov 03 14:48:56 2011 -0500 +++ b/tests/run-tests.py Thu Nov 03 14:51:04 2011 -0500 @@ -521,6 +521,33 @@ def stringescape(s): return escapesub(escapef, s) +def rematch(el, l): + try: + # ensure that the regex matches to the end of the string + return re.match(el + r'\Z', l) + except re.error: + # el is an invalid regex + return False + +def globmatch(el, l): + # The only supported special characters are * and ?. Escaping is + # supported. + i, n = 0, len(el) + res = '' + while i < n: + c = el[i] + i += 1 + if c == '\\' and el[i] in '*?\\': + res += el[i - 1:i + 1] + i += 1 + elif c == '*': + res += '.*' + elif c == '?': + res += '.' + else: + res += re.escape(c) + return rematch(res, l) + def tsttest(test, wd, options, replacements): t = open(test) out = [] @@ -608,33 +635,6 @@ finally: os.remove(name) - def rematch(el, l): - try: - # ensure that the regex matches to the end of the string - return re.match(el + r'\Z', l) - except re.error: - # el is an invalid regex - return False - - def globmatch(el, l): - # The only supported special characters are * and ?. Escaping is - # supported. - i, n = 0, len(el) - res = '' - while i < n: - c = el[i] - i += 1 - if c == '\\' and el[i] in '*?\\': - res += el[i - 1:i + 1] - i += 1 - elif c == '*': - res += '.*' - elif c == '?': - res += '.' - else: - res += re.escape(c) - return rematch(res, l) - # Merge the script output back into a unified test pos = -1