0014531: Boolean Operation Algorithm fails
[occt.git] / tests / bugs / end
index 0feb1f5..f0fdf2a 100755 (executable)
-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] } {
+if { [info exists rel_tol] && $rel_tol > 0 } {
    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 { [info exists max_rel_tol_diff] && $max_rel_tol_diff > 0} {
+        checkreal "area difference" $rel_err $rel_tol $max_rel_tol_diff 0
+      } 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"