if { [info exists nb_v_good] } {
     regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full nb_v
     if { ${nb_v} != ${nb_v_good} } {
-        puts "Error : Result shape is WRONG because it must contains ${nb_v_good} vertexes instead of ${nb_v}"
+        puts "Error : Result shape is WRONG because it must contains ${nb_v_good} vertices instead of ${nb_v}"
     } else {
-        puts "Result shape contains ${nb_v} vertexes"
+        puts "Result shape contains ${nb_v} vertices"
     }
 }
 
     }
 }
 
+if { [info exists nb_fe_good] && [info exists nb_fe] } {
+    if { ${nb_fe} != ${nb_fe_good} } {
+        puts "Error : Result shape is WRONG because it must contains ${nb_shape_good} shapes instead of ${nb_shape}"
+    } else {
+        puts "Result shape contains ${nb_fe} free edges"
+    }
+}
+
 if { [isdraw result] } {
     if { [info exists 2dviewer] } {
        clear
 
 
 set square 1.8847e+07
 
-set nb_v_good 930
-set nb_e_good 1164
+set nb_v_good 779
+set nb_e_good 1038
 set nb_w_good 273
 set nb_f_good 259
-set nb_sh_good 11
+set nb_sh_good 3
 set nb_sol_good 0
 set nb_compsol_good 0
 set nb_compound_good 1
-set nb_shape_good 2638
+set nb_shape_good 2353
 
 set 3dviewer 0
 
-puts "TODO OCC11111 ALL: Faulty shapes in variables faulty_1 to faulty_"
-
 puts "================"
 puts "OCC22770"
 puts "================"
 
 set square 1.8847e+07
 
-set nb_v_good 796
-set nb_e_good 1103
+set nb_v_good 642
+set nb_e_good 955
 set nb_w_good 273
 set nb_f_good 259
-set nb_sh_good 5
+set nb_sh_good 3
 set nb_sol_good 0
 set nb_compsol_good 0
 set nb_compound_good 1
-set nb_shape_good 2437
+set nb_shape_good 2133
 
 set 3dviewer 0
 
-puts "TODO OCC11111 ALL: Faulty shapes in variables faulty_1 to faulty_"
-
 puts "================"
 puts "OCC22770"
 puts "================"
 
 set square 1.8847e+07
 
-set nb_v_good 796
-set nb_e_good 1103
+set nb_v_good 642
+set nb_e_good 955
 set nb_w_good 273
 set nb_f_good 259
-set nb_sh_good 5
+set nb_sh_good 3
 set nb_sol_good 0
 set nb_compsol_good 0
 set nb_compound_good 1
-set nb_shape_good 2437
+set nb_shape_good 2133
 
 set 3dviewer 0
 
+++ /dev/null
-puts "========================"
-puts "OCC23375"
-puts "========================" 
-puts ""
-#######################################################################
-# (OCC 6.5.3 regression) BRepBuilderAPI_Sewing returns wrong result
-#######################################################################
-
-restore [locate_data_file bug23375_Volute1.brep] v
-
-explode v
-sewing result 0.01 v_1 v_2
-
-checkshape result
-
-set tolmaxres [tolmax result]
-regexp {max tol = ([-0-9.+eE]+)} $tolmaxres full MaxTolerance
-set CMP_TOL 1.e-4
-if { ${MaxTolerance} > ${CMP_TOL} } {
-   puts "Error: invalid tolerance"
-}
-
-set 2dviewer 1
 
 # (OCC 6.5.3 regression) BRepBuilderAPI_Sewing returns wrong result
 #######################################################################
 
-restore [locate_data_file bug23375_Pump1.brep] p
+restore [locate_data_file bug23375_Volute1.brep] v
 
-sewing result 0.1 p
+explode v
+sewing result 0.01 v_1 v_2
 
+# 1
 checkshape result
 
-set whatis_result [whatis result]
-
-if { [regexp {SHELL} ${whatis_result}] != 1 } {
-  puts "Error: invalid result shape; SHELL"
-}
-if { [regexp {FORWARD} ${whatis_result}] != 1 } {
-  puts "Error: invalid result shape; FORWARD"
-}
-if { [regexp {Modified} ${whatis_result}] != 1 } {
-  puts "Error: invalid result shape; Modified"
+# 2
+set tolmaxres [tolmax result]
+regexp {max tol = ([-0-9.+eE]+)} $tolmaxres full MaxTolerance
+set CMP_TOL 1.e-4
+if { ${MaxTolerance} > ${CMP_TOL} } {
+   puts "Error: invalid tolerance"
 }
-if { [regexp {Orientable} ${whatis_result}] != 1 } {
-  puts "Error: invalid result shape; Orientable"
-}
-if { [regexp {Closed} ${whatis_result}] != 1 } {
-  puts "Error: invalid result shape; Closed"
+
+# 3
+catch {freebounds $result -0.01}
+set s [explode result_c e]
+puts $s
+set index [ llength $s ]
+if { $index != 0 } {
+   puts "Error : Number of free edges is $index"
 }
 
 set 2dviewer 1