forked from OSchip/llvm-project
Implement the XTARGET feature for PR1778
This will mark a test as PASS for all targets specified. It will override whatever is in XFAIL. llvm-svn: 43788
This commit is contained in:
parent
453ab7d126
commit
5de0daf6b1
|
@ -104,7 +104,10 @@ proc RunLLVMTests { test_source_files } {
|
||||||
set filename [file tail $test]
|
set filename [file tail $test]
|
||||||
set outcome PASS
|
set outcome PASS
|
||||||
set tmpFile "$filename.tmp"
|
set tmpFile "$filename.tmp"
|
||||||
|
|
||||||
|
# Mark that it should not be XFAIL for this target.
|
||||||
|
set targetPASS 0
|
||||||
|
|
||||||
#set hasRunline bool to check if testcase has a runline
|
#set hasRunline bool to check if testcase has a runline
|
||||||
set numLines 0
|
set numLines 0
|
||||||
|
|
||||||
|
@ -145,12 +148,36 @@ proc RunLLVMTests { test_source_files } {
|
||||||
#split up target if more then 1 specified
|
#split up target if more then 1 specified
|
||||||
foreach target [split $targets ,] {
|
foreach target [split $targets ,] {
|
||||||
if { [regexp {\*} $target match] } {
|
if { [regexp {\*} $target match] } {
|
||||||
set outcome XFAIL
|
if {$targetPASS != 1} {
|
||||||
|
set outcome XFAIL
|
||||||
|
}
|
||||||
} elseif { [regexp $target $target_triplet match] } {
|
} elseif { [regexp $target $target_triplet match] } {
|
||||||
set outcome XFAIL
|
if {$targetPASS != 1} {
|
||||||
|
set outcome XFAIL
|
||||||
|
}
|
||||||
} elseif { [regexp {llvmgcc(([0-9]+)|([0-9]+[.][0-9]+))} $target match submatch submatch2] } {
|
} elseif { [regexp {llvmgcc(([0-9]+)|([0-9]+[.][0-9]+))} $target match submatch submatch2] } {
|
||||||
if { [regexp ^($submatch)$|^(($submatch)(\.)) $llvmgcc_version match] } {
|
if { [regexp ^($submatch)$|^(($submatch)(\.)) $llvmgcc_version match] } {
|
||||||
set outcome XFAIL
|
if {$targetPASS != 1} {
|
||||||
|
set outcome XFAIL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} elseif {[regexp {XTARGET:[ *](.+)} $line match targets]} {
|
||||||
|
set targets
|
||||||
|
|
||||||
|
#split up target if more then 1 specified
|
||||||
|
foreach target [split $targets ,] {
|
||||||
|
if { [regexp {\*} $target match] } {
|
||||||
|
set targetPASS 1
|
||||||
|
set outcome PASS
|
||||||
|
} elseif { [regexp $target $target_triplet match] } {
|
||||||
|
set targetPASS 1
|
||||||
|
set outcome PASS
|
||||||
|
} elseif { [regexp {llvmgcc(([0-9]+)|([0-9]+[.][0-9]+))} $target match submatch submatch2] } {
|
||||||
|
if { [regexp ^($submatch)$|^(($submatch)(\.)) $llvmgcc_version match] } {
|
||||||
|
set targetPASS 1
|
||||||
|
set outcome PASS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue