puts "===========" puts "OCC15489" puts "===========" set BugNumber OCC15489 ###################################################### # Constructor gp_Lin2d(A, B, C) creates line with origin point in infinity ###################################################### proc GetPercent {Value GoodValue} { set Percent 0. if {${GoodValue} != 0.} { set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.] } elseif {${Value} != 0.} { set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.] } else { set Percent 0. } return ${Percent} } pload QAcommands set A 1e-20 set B -1. set C 2. set OriginList [OCC15489 $A $B $C] regexp {X_0 += +([-0-9.+eE]+)} $OriginList full X_0 regexp {Y_0 += +([-0-9.+eE]+)} $OriginList full Y_0 set percent_max 0.1 set good_X_0 -1.9999999999999999e-20 set good_Y_0 2 set status 0 set X_0_percent [GetPercent ${X_0} ${good_X_0}] puts "X_0_percent = ${X_0_percent}" if { ${X_0_percent} > ${percent_max} } { puts "X_0: Faulty ${BugNumber}" set status 1 } else { puts "X_0: OK ${BugNumber}" } set Y_0_percent [GetPercent ${Y_0} ${good_Y_0}] puts "Y_0_percent = ${Y_0_percent}" if { ${Y_0_percent} > ${percent_max} } { puts "Y_0: Faulty ${BugNumber}" set status 1 } else { puts "Y_0: OK ${BugNumber}" } # Resume puts "" if { ${status} != 0 } { puts "Faulty ${BugNumber}" } else { puts "OK ${BugNumber}" }