Correction of unstable testing cases
[occt.git] / tests / bugs / moddata_1 / bug22759
CommitLineData
3bea4c16 1puts "TODO OCC11111 ALL: TEST INCOMPLETE"
2
3cpulimit 30
4
5puts "============"
6puts "OCC22759"
7puts "============"
8puts ""
9#######################################################################
10# Crash during shape visualization
11#######################################################################
12
13set BugNumber OCC22759
14
15catch { pload XDE }
16
17restore [locate_data_file OCC22759-weldt6.brep] result
18checkshape result
19tclean result
20
21set Deflection 0.001
22incmesh result ${Deflection}
23
24set tri_info [trinfo result]
25regexp { +([-0-9.+eE]+) +triangles} $tri_info full tri
26regexp { +([-0-9.+eE]+) +nodes} $tri_info full nod
27
28regexp {deflection +([-0-9.+eE]+)} $tri_info full defl
29
30set os "ALL"
31if {[array get env os_type] != ""} {
32 set os $env(os_type)
33}
34
35if { [regexp {Windows} $os ] } {
36 puts "OS = Windows NT"
37 set good_tri 248672
38 set good_nod 127078
39 set good_defl 0.0028424483708953232
40} else {
41 puts "OS = Linux"
42 set good_tri 248724
43 set good_nod 127104
44 set good_defl 0.0028424483709341111
45}
46
47proc GetPercent {Value GoodValue} {
48 set Percent 0.
49 if {${GoodValue} != 0.} {
50 set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
51 } elseif {${Value} != 0.} {
52 set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
53 } else {
54 set Percent 0.
55 }
56 return ${Percent}
57}
58
59set percent_max 0.1
60set status 0
61
62set triangle_percent [GetPercent ${tri} ${good_tri}]
63puts "triangle_percent = ${triangle_percent}"
64if { ${triangle_percent} > ${percent_max} } {
65 puts "triangle: Faulty ${BugNumber}"
66 set status 1
67} else {
68 puts "triangle: OK ${BugNumber}"
69}
70
71set node_percent [GetPercent ${nod} ${good_nod}]
72puts "node_percent = ${node_percent}"
73if { ${node_percent} > ${percent_max} } {
74 puts "node: Faulty ${BugNumber}"
75 set status 1
76} else {
77 puts "node: OK ${BugNumber}"
78}
79
80set deflection_percent [GetPercent ${defl} ${good_defl}]
81puts "deflection_percent = ${deflection_percent}"
82if { ${deflection_percent} > ${percent_max} } {
83 puts "deflection: Faulty ${BugNumber}"
84 set status 1
85} else {
86 puts "deflection: OK ${BugNumber}"
87}
88
89# Resume
90puts ""
91if { ${status} != 0 } {
92 puts "Faulty ${BugNumber}"
93} else {
94 puts "OK ${BugNumber}"
95}
96
97vinit
98vdisplay result
99vfit
100
101vsetdispmode 1
102
103set only_screen 1
104set square 0