From f793fbc5698263e045661cab3fb06144c66cc1db Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Fri, 19 Oct 2012 20:29:27 +0000 Subject: [PATCH] lit: Remove support for XTARGET. - The XTARGET feature (inherited from old DG tests) was just confusing (and barely ever used). The same effect can now be achieved with a combination of the more useful REQUIRES and XFAIL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166305 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../LLVM.InTree/test/Bar/bar-test.ll | 3 -- .../lit/ExampleTests/LLVM.InTree/test/lit.cfg | 2 +- .../LLVM.OutOfTree/src/test/lit.cfg | 2 +- utils/lit/lit/TestRunner.py | 35 +++++++------------ utils/vim/llvm.vim | 1 - 5 files changed, 15 insertions(+), 28 deletions(-) delete mode 100644 utils/lit/lit/ExampleTests/LLVM.InTree/test/Bar/bar-test.ll diff --git a/utils/lit/lit/ExampleTests/LLVM.InTree/test/Bar/bar-test.ll b/utils/lit/lit/ExampleTests/LLVM.InTree/test/Bar/bar-test.ll deleted file mode 100644 index 3017b13e48c..00000000000 --- a/utils/lit/lit/ExampleTests/LLVM.InTree/test/Bar/bar-test.ll +++ /dev/null @@ -1,3 +0,0 @@ -; RUN: true -; XFAIL: * -; XTARGET: darwin diff --git a/utils/lit/lit/ExampleTests/LLVM.InTree/test/lit.cfg b/utils/lit/lit/ExampleTests/LLVM.InTree/test/lit.cfg index e9df1e5b53b..3fdd63c2245 100644 --- a/utils/lit/lit/ExampleTests/LLVM.InTree/test/lit.cfg +++ b/utils/lit/lit/ExampleTests/LLVM.InTree/test/lit.cfg @@ -77,7 +77,7 @@ for line in open(os.path.join(config.llvm_obj_root, 'test', 'site.exp')): excludes = [] -# Provide target_triple for use in XFAIL and XTARGET. +# Provide target_triple for use in XFAIL. config.target_triple = site_exp['target_triplet'] # Provide llvm_supports_target for use in local configs. diff --git a/utils/lit/lit/ExampleTests/LLVM.OutOfTree/src/test/lit.cfg b/utils/lit/lit/ExampleTests/LLVM.OutOfTree/src/test/lit.cfg index e9df1e5b53b..3fdd63c2245 100644 --- a/utils/lit/lit/ExampleTests/LLVM.OutOfTree/src/test/lit.cfg +++ b/utils/lit/lit/ExampleTests/LLVM.OutOfTree/src/test/lit.cfg @@ -77,7 +77,7 @@ for line in open(os.path.join(config.llvm_obj_root, 'test', 'site.exp')): excludes = [] -# Provide target_triple for use in XFAIL and XTARGET. +# Provide target_triple for use in XFAIL. config.target_triple = site_exp['target_triplet'] # Provide llvm_supports_target for use in local configs. diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py index 62a795671e1..0c1911ed356 100644 --- a/utils/lit/lit/TestRunner.py +++ b/utils/lit/lit/TestRunner.py @@ -370,32 +370,27 @@ def executeScript(test, litConfig, tmpBase, commands, cwd): return executeCommand(command, cwd=cwd, env=test.config.environment) -def isExpectedFail(test, xfails, xtargets): - # If the xfail matches an available feature, it always fails. +def isExpectedFail(test, xfails): + # Check if any of the xfails match an available feature or the target. for item in xfails: - if item in test.config.available_features: + # If this is the wildcard, it always fails. + if item == '*': return True - # Otherwise, check if any xfail matches this target. - for item in xfails: - if item == '*' or item in test.suite.config.target_triple: - break - else: - return False + # If this is an exact match for one of the features, it fails. + if item in test.config.available_features: + return True - # If so, see if it is expected to pass on this target. - # - # FIXME: Rename XTARGET to something that makes sense, like XPASS. - for item in xtargets: - if item == '*' or item in test.suite.config.target_triple: - return False + # If this is a part of the target triple, it fails. + if item in test.suite.config.target_triple: + return True - return True + return False def parseIntegratedTestScript(test, normalize_slashes=False, extra_substitutions=[]): """parseIntegratedTestScript - Scan an LLVM/Clang style integrated test - script and extract the lines to 'RUN' as well as 'XFAIL' and 'XTARGET' + script and extract the lines to 'RUN' as well as 'XFAIL' and 'REQUIRES' information. The RUN lines also will have variable substitution performed. """ @@ -436,7 +431,6 @@ def parseIntegratedTestScript(test, normalize_slashes=False, # Collect the test lines from the script. script = [] xfails = [] - xtargets = [] requires = [] for ln in open(sourcepath): if 'RUN:' in ln: @@ -455,9 +449,6 @@ def parseIntegratedTestScript(test, normalize_slashes=False, elif 'XFAIL:' in ln: items = ln[ln.index('XFAIL:') + 6:].split(',') xfails.extend([s.strip() for s in items]) - elif 'XTARGET:' in ln: - items = ln[ln.index('XTARGET:') + 8:].split(',') - xtargets.extend([s.strip() for s in items]) elif 'REQUIRES:' in ln: items = ln[ln.index('REQUIRES:') + 9:].split(',') requires.extend([s.strip() for s in items]) @@ -496,7 +487,7 @@ def parseIntegratedTestScript(test, normalize_slashes=False, return (Test.UNSUPPORTED, "Test requires the following features: %s" % msg) - isXFail = isExpectedFail(test, xfails, xtargets) + isXFail = isExpectedFail(test, xfails) return script,isXFail,tmpBase,execdir def formatTestOutput(status, out, err, exitCode, failDueToStderr, script): diff --git a/utils/vim/llvm.vim b/utils/vim/llvm.vim index 9cd483d1479..f80de83da8c 100644 --- a/utils/vim/llvm.vim +++ b/utils/vim/llvm.vim @@ -79,7 +79,6 @@ syn match llvmSpecialComment /;\s*RUN:.*$/ syn match llvmSpecialComment /;\s*PR\d*\s*$/ syn match llvmSpecialComment /;\s*END\.\s*$/ syn match llvmSpecialComment /;\s*XFAIL:.*$/ -syn match llvmSpecialComment /;\s*XTARGET:.*$/ if version >= 508 || !exists("did_c_syn_inits") if version < 508 -- 2.34.1