From b8f2e4bde682ae4697fcc8d46d125388fbe12447 Mon Sep 17 00:00:00 2001 From: John McCall Date: Thu, 4 Mar 2010 11:48:42 +0000 Subject: [PATCH] Simplify the condition-checking logic and hopefully clear up a build failure that somehow got through my testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97728 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/lit/lit/TestRunner.py | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py index 148beba0ca7..a7de2b79f8f 100644 --- a/utils/lit/lit/TestRunner.py +++ b/utils/lit/lit/TestRunner.py @@ -353,6 +353,8 @@ def isExpectedFail(xfails, xtargets, target_triple): return True +import re + def parseIntegratedTestScript(test): """parseIntegratedTestScript - Scan an LLVM/Clang style integrated test script and extract the lines to 'RUN' as well as 'XFAIL' and 'XTARGET' @@ -387,20 +389,11 @@ def parseIntegratedTestScript(test): xtargets = [] ignoredAny = False for ln in open(sourcepath): - if 'IF(' in ln: - # Required syntax here is IF(condition(value)): - index = ln.index('IF(') - ln = ln[index+3:] - index = ln.index('(') - if index is -1: - return (Test.UNRESOLVED, "ill-formed IF at '"+ln[:10]+"'") - condition = ln[:index] - ln = ln[index+1:] - index = ln.index(')') - if index is -1 or ln[index:index+3] != ')):': - return (Test.UNRESOLVED, "ill-formed IF at '"+ln[:10]+"'") - value = ln[:index] - ln = ln[index+3:] + conditional = re.search('IF\((.+?)\((.+?)\)\):', ln) + if conditional: + ln = ln[conditional.end():] + condition = conditional.group(1) + value = conditional.group(2) # Actually test the condition. if condition not in test.config.conditions: