if { [info exists square] } { set prop "square" set mass $square if { [info exists tol_square] } { # tol_square - The epsilon defines relative precision of computation regexp {Mass +: +([-0-9.+eE]+)} [sprops result $tol_square] full m } else { regexp {Mass +: +([-0-9.+eE]+)} [sprops result] full m } } if { [info exists length] } { set prop "length" set mass $length regexp {Mass +: +([-0-9.+eE]+)} [lprops result] full m puts "checksection" puts [checksection result] } #if mass (length or square) is empty in test case then result should be an empty shape. if { [info exists mass] } { if { [string compare $subgroup "moddata"] != 0 } { puts "checkshape" checkshape result } if { [string compare "$mass" "empty"] != 0 } { if { $m == 0 } { puts "Error : The command is not valid. The $prop is 0." } if { $mass > 0 } { puts "The expected $prop is $mass" } #check of change of square is < 1% if { ($mass != 0 && [expr 1.*abs($mass - $m)/$mass] > 0.01) || ($mass == 0 && $m != 0) } { puts "Error : The $prop of result shape is $m" } } else { if { $m != 0 } { puts "Error : The command is not valid. The $prop is $m" } } } if { [info exists rel_tol] } { puts "\nChecking triangulation area (triarea command)..." set rel_err [expr abs([CheckTriArea result $area_eps])] if { $rel_err > $rel_tol } { puts "Error : area by triangles differs from the actual area by $rel_err %" } else { if { $rel_tol > 1 && $rel_tol < 100 } { puts "Error: Improvement: The current area difference is $rel_err instead of $rel_tol" } } } if { [isdraw result] } { if { [info exists 2dviewer] } { clear smallview donly result fit xwd $imagedir/${test_image}.png } if { [info exists 3dviewer] } { #for multiview support: dump result from all opened views set view_str [vviewlist long] if { [llength ${view_str}] == 0 } { vinit set view_str [vviewlist long] } set view_list [regexp -all -inline {\S+} $view_str] foreach {view_name} $view_list { vactivate $view_name vclear vdisplay result vsetdispmode 1 vfit vzfit vdump $imagedir/${test_image}_[regsub -all {/} $view_name {_}].png } } } if { [info exists only_screen] } { #for multiview support: dump result from all opened views set view_str [vviewlist long] set view_list [regexp -all -inline {\S+} $view_str] foreach {view_name} $view_list { vactivate $view_name vdump $imagedir/${test_image}_[regsub -all {/} $view_name {_}].png } } if { [info exists only_screen_axo] } { xwd $imagedir/${test_image}.png } # to end a test script puts "TEST COMPLETED"