Added test for memory leak (bugs/ocaf/bug23489)
Missing return added in QANewBRepNaming_BooleanOperationFeat::IsWRCase2()
Adding test case and general procedure for trend checking for detection of memory leaks
Comparison of images is implemented in testdiff command; output in HTML form generated
Add measurement of memory (working set) delta in test case execution
Add memory statistics to output of testdiff command
Treatment of parameter -outdir of command testgrid corrected.
Function locate_data_file and code to run tests in parallel revised to be usable with Tcl 8.4.
Added function testsummarize: regenerate summary log of tests from test case logs
Command testdiff is protected against exception raised by diffimage if images have different formats
abv [Fri, 9 Nov 2012 11:41:29 +0000 (15:41 +0400)]
0023468: Include current branch name into default name of directory for test results
Default name for results directory is generated as "results_<branch>_<timestamp>".
In the HTML log of test execution references to script files are made HTML links to relevant files
Aded possibility to put data file for use by test script into subdirectory data of the script folder (function locate_data_file is extended to find such files).
Test demo/testsystem/A1 renamed to locate_data_file and corrected to account for the recent changes.
Default value of CSF_TestDataPath is defined pointing to $CASROOT/data
File psrse.rules corrected in accordance with changed message on missing data file
Interface of command testgrid changed:
- output directory (formerly required argument) is now defined by optional parameter -outdir
- by default tests are run in parallel mode with number of processes equal to number of system CPUs
- check for input arguments is made more strict
Treatment of parameter -outdir of command testgrid corrected.
Function locate_data_file and code to run tests in parallel revised to be usable with Tcl 8.4.
Adjusting testing case demo draw getsource for current state of master
kgv [Fri, 2 Nov 2012 11:56:36 +0000 (15:56 +0400)]
0023488: Make video recording functionality (OpenGl_AVIWriter) optional
CSF_AviLibs missing in EXTERNLIB of TKOpenGl toolkit. This cause incorrect project generation.
HAVE_VIDEOCAPTURE now should be defined to enable video recording capabilities on Windows.
ika [Fri, 19 Oct 2012 14:19:18 +0000 (18:19 +0400)]
0023354: The use of 'if (A) {...} else if (A) {...}' pattern was detected.
second else was deleted, now "D" is hotkey for reset view and removing selected object is impossible by hotkeys
help message was rewrited according to these changes, also hotkeys "R","L" and "B" added to help
Minor remarks: viewer commands help fulfilled with U; Z; ","; "." . Comments revised.
omy [Fri, 19 Oct 2012 14:09:57 +0000 (18:09 +0400)]
0023351: The use of 'if (A) {...} else if (A) {...}' pattern was detected.
Got rid of duplicated code.
Got rid of redundant conditions' checks in Standard_Integer TOPOC(Draw_Interpretor& interpretor,Standard_Integer na,const char** a) function.
OpenGl_PrimitiveArray::Release() - avoid possible NULL-pointer dereference
OpenGl_GraphicDriver::RemoveView() - release GL resources within removing last view
Fixed OCC280 test command - do not remove old view until new one is initialized
apn [Thu, 11 Oct 2012 10:44:35 +0000 (14:44 +0400)]
0023450: Test bugs vis CR23407_1 fails
Files parse.rules corrected (point 2 in bug description)
Adjusting testing cases for current state of master.
Modified test cases CR23407_1 and CR23407_2
miv [Thu, 11 Oct 2012 10:24:12 +0000 (14:24 +0400)]
0023438: Update test cases for new organization of data files
Modifications:
1.Test cases
2. locate_data_file from DrawResources/TestCommands.tcl
Fix for mesh end
Adjusting testing cases for current state of master using new organization of data files
pkv [Fri, 5 Oct 2012 10:20:32 +0000 (14:20 +0400)]
0023137: Class BRepAlgoAPI_Cut does not made correct result on attached shapes.
class ShellFaceClassifier;
- method:
void BOP_ShellFaceClassifier::ResetElement(const TopoDS_Shape& theElement)
The order of choice a testing point for the element has been changed.
The following order is:
-point inside an edge
-point as an vertex-point
-point inside UV-range of a surface
Removal of VoxelClient
VoxelDemo sample is redesigned so that it doesn't require compilation of OpenGl classes. It refers to TKOpenGl.dll as to an external library.
Some minor bugs are fixed in OCAF and Viewer 3d standard MFC samples
AIS_InteractiveContext::myLocalContexts map accessed before newly created AIS_LocalContext bound to it
Minor remarks: comments revised.
Adding test case
Adding new draw command
Small correction of tests
In IntTools_FClass2d.cxx, do {} while {} cycle is replaced by for () cycle to avoid possible infinite loop.
Check for degeneration is made with Precision::Confusion() precision instead of comparison with 0.
Correction of misprint
abk [Fri, 5 Oct 2012 09:55:16 +0000 (13:55 +0400)]
0023404: Create SquareConfusion function in Precision package for speed and convenience
SquareConfusion function was created in FoundationClasses module -> TKMath toolkit -> Precision package.
The function returns square of Precision::Confusion().
SquareConfusion function was corrected in FoundationClasses module -> TKMath toolkit -> Precision package.
Squares of Precision::Confusion() were replaced by Precision::SquareConfusion().
pkv [Fri, 5 Oct 2012 09:45:23 +0000 (13:45 +0400)]
0023442: Provide the access to the functionality of Geom2dHatch_Hacher via IntTools_Context
class IntTools_Context
- the method:
Geom2dHatch_Hatcher& IntTools_Context::Hatcher(const TopoDS_Face& aF)
has been added.
The method returns the reference to 2D hatcher for given face <aF>
class IntTools_Context
- the method: IntTools_Context::~IntTools_Context()
has been modified in terms of I.1.
0023423: Test system does not get log if DRAW crashes or gets killed
Avoid using dlog in grid tests (command testgrid), in order to get some output even if DRAW crashes.
Command test now accepts argument echo to get echo immediately (but no log processing).
Test case for checking log processing in case of premature exit of DRAW is added (demo testsystem premature_exit).
The code is corrected to create instances of TNaming_Builder class dynamically. Note that they cannot be created as local variables as they should be instantiated only when needed and then reused for the subshapes of the same type in cycle.
Code around is cleaned from tabs and duplicated fragments.
TNaming_Builder class is changed to use Handles instead of C pointers in its fields.
This should protect from possible access to the freed memory if attribute is deleted while instance of TNaming_Builder is still alive.
In addition, method to construct dummy vertex for storing orientation is simplified.
The code is corrected to create instances of TNaming_Builder class dynamically. Note that they cannot be created as local variables as they should be instantiated only when needed and then reused for the subshapes of the same type in cycle.
Code around is cleaned from tabs and duplicated fragments.
FaceOutline aspect and flag added to AIS_Drawer, Prs3d_Drawer.cdl
FaceOutlines computed by StdPrs_ShadedShape and build upon the edge triangulation.
"vshowoutlines" draw command for testing outlines on AIS_Shapes,
"XShowOutlines" draw command for testing outlines on XCAF objects.
remarks corrected:
- FaceOutline renamed to FaceBoundary
- Graphic3d_ArrayOfSegments with edges used instead of Graphic3d_ArrayOfPolylines with bounds.
draw boundaries in separate Graphic3d_Group.
Adding test cases bugs/vis/CR23407_1 CR23407_2
0023384: Translate sub-shape names between XDE document and STEP
Sub-shapes naming translation between XDE and STEP implemented as an optional mode of Reader/Writer.
New static variables are now available: write.stepcaf.subshapes.name for Writer and read.stepcaf.subshapes.name for Reader (both have 0 values by default).
XOpen command implemented in scope of XDEDRAW asset.
0023403: Crash when parsing an expression with lexical error
Fix double freeing of memory in case when lexical error is detected by parser:
- revert previous fix, instead nullify the global buffer after its freeing in ExprIntrp_stop_string().
0023405: BOP common produces one face instead of a solid
Modified class :IntTools_FaceFace
- method: void IntTools_FaceFace::ComputeTolReached3d()
The goal is:
to give more precise definition to the value of tolerance of intersection curves in 3D for the case plane/sphere.
Added test case boolean/bopcommon_complex/M7
Added test case boolean/bopcommon_simple/ZP9 for verified bug CR23374
oan [Fri, 7 Sep 2012 09:58:12 +0000 (13:58 +0400)]
0023409: Tricheck command doesn't report problem when triangulation has unexpected holes
Tricheck command improvement for checking triangulation holes on free links
More obvious error message
Added test case bugs demo CR23409
Modified test case offset wire_closed_outside_0_005 G7
Roman Lygin [Sun, 19 Aug 2012 07:01:32 +0000 (11:01 +0400)]
0023393: Improve usability of OSD_MAllocHook::CollectBySize
Usability of OSD_MAllocHook::CollectBySize was improved:
- fields of OSD_MAllocHook::CollectBySize are made public (not private) to enable access for debugging purposes.
- added field myMaxAllocSize to denote maximum tracked size