Adding test cases from grid chl
[occt.git] / tests / bugs / caf / bug114
1 puts "==========="
2 puts "OCC114"
3 puts "==========="
4
5 #--------------------------------------------------------------------
6 ####### Setting value of memory leakage in percents of memory allocated by shape
7 set percent_max 10
8 puts "Max memory leakage is $percent_max%"
9 ####### Setting amount of iterations for computing leackage
10 set i_max 20
11 puts "Amount of iterations is $i_max"
12 #--------------------------------------------------------------------
13
14 if ![string compare $tcl_platform(platform) "windows"] {
15     proc VMem { memory } {
16         upvar $memory mem
17         regsub "^.*PeakVirtualSize: *\(\[0-9\]*\) KB.*$" \
18             [exec tlist [pid]] "\\1" mem
19     }
20 } else {
21     proc VMem { memory } {
22         upvar $memory mem
23         set mem [lindex [exec ps -o vsz -p [pid]] 1]
24     }
25 }
26
27 NewDocument D MDTV-Standard
28 UndoLimit D 10
29
30 VMem Mem0
31 restore [locate_data_file OCC114.brep] s
32 VMem Mem1
33 #puts "...  The peak memory consumed: [expr $Mem1 - $Mem0] KB"
34
35 set MemoryLeakage 0
36
37 for {set i 1} {${i} <= ${i_max}} {incr i} {
38
39    OpenCommand D
40    SetShape D 0:1 s 
41    AbortCommand D
42
43    VMem Mem2
44    set Delta [expr $Mem2 - $Mem1]
45    set MemoryLeakage [expr $MemoryLeakage + $Delta]
46 #   puts "       $i delta memory consumed: $Delta KB"
47 }
48
49
50 if { $MemoryLeakage != 0 } then {
51   set percent [expr ${MemoryLeakage} / (double(${i_max}) * (${Mem1} - ${Mem0})) * 100.]
52 } else {
53   set percent 0
54 }
55 puts "Current memory leakage in percents = ${percent}"
56
57 if {${percent} > ${percent_max}} {
58    puts "OCC114: Error"
59 } else {
60    puts "OCC114: OK"
61 }
62
63