1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-16 10:54:53 +03:00
occt/tests/bugs/caf/bug23489
gka 24de79c3a5 0023523: In session DRAW it is impossible to close document having name already once closed document.
Added destructor for TDocStd_Document which performs destruction of document in logical order in order to avoid exception when Undo and Redo fields are destructed after THF_Data field.
Added removing name of closed document from tcl variables in the DRAW in order to avoid exception during use the same name for new document.
Modification to avoid compilation error class ViewerTest
Minor correction in test caf basic G3
2012-12-14 16:17:11 +04:00

36 lines
806 B
Plaintext
Executable File

# Test for #23489: memory leak in TNaming_NamedShape destructor
pload OCAF
# take some big file to be loaded
set file [locate_data_file Bottom.brep]
set listmem {}
for {set i 1} {$i < 10} {incr i} {
# load big shape
restore $file a
# add shape to new OCAF document
NewDocument D MDTV-Standard
# add shape to document
SetShape D 0:1 a
# Note: if ForgetAll or Undo is called here, memory is correctly freed!
# ForgetAll D 0:1
# close document
Close D
# unload shape (replace by small one)
vertex a 0 0 0
# check memory usage (with tolerance equal to half page size)
lappend listmem [expr [meminfo w] / 1024]
if { [checktrend $listmem 0 256 "Memory leak detected"] } {
puts "No memory leak, $i iterations"
break
}
}