[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] AppendicesAppendix A:
|
.cSavedStackXML |
Holds the name of the saved Coverage stacklevel analysis in XML form, after this file has been saved to disk. Set back to default ("") when you load a new log. |
.lStackXMLExtendedTree |
If .T., generates more extensive StackXML, so Profiling of each branch can assess effects of args and other factors for different invocations of a module. Defaults to .F. but if COV_LOAD_STACK_FROM_DBF is .T., this more extensive XML is always gen'd. |
.ShowStackXML(tcLog) |
Calls GetStackXML(tcLog) and DisplayStackXML(tcXMLFile) to run coverage
analysis figures against a specific VFP project set of files. tcLog argument
ignored if DEFINEd COV_LOAD_STACK_FROM_DBF is .T. Returns .T. if successful. |
.GetStackXML(tcLog) |
Generates Stack Analysis XML from tcLog, defaulting to current Coverage
source log. tcLog argument ignored if DEFINEd COV_LOAD_STACK_FROM_DBF is .T.
Returns .T. if successful. |
.DisplayStackXML(tcXMLFile) |
Displays XML file, defaulting to the current Stack Analysis filename
indicated by the cSavedStackXML property. Returns .T. if no error occurs. |
.ToggleStackXMLExtendedTree() |
Toggles .lStackXMLExtendedTree. Designed to be augmented in subclasses to
reflect this switch in the UI, change default XSLT on this basis, etc. Returns
.T. if no error occurs. |
.cStackXSLT |
Holds filename providing default XSL Transformation stylesheet to be applied by default to the generated Stack XML analysis document, when TransformStackXML is called. |
.TransformStackXML(tcXSLT, tcXMLIn, tcXMLOut, tlNoShow) |
Applies tcXSLT (default to .cStackXSLT) to tcXMLIn (default .cSavedStackXML, GetStackXML called if empty). Saves result to tcXMLOut (defaults to tcXMLIn-based generated name w/ HTM ext). If ! tlNoShow, calls DisplayStackXML. Returns .T. if successful. |
Additional Coverage changes in VFP 7 not shown here to support this enhancement include various existing methods updated to account for the new Stack piece. For example, cov_engine.Init(..) has been adjusted to call GetStackXML() if the engine is instantiated in unattended mode, along with creating and saving the target dbf and skipped files dbf.
Interface changes in the COV_OPTIONSDIALOG class (see figure) and COV_LOCS.H localization message file as well as the shortcut menu expose the Stack features.
New bottom section of Coverage Options dialog allows you to set Stack options and defaults.
New tune-able options in COV_TUNE.H to support the Stack feature include the following:
* the first two represent element node prefixes #DEFINE COV_STACKROOT "VFPCallStackLog" #DEFINE COV_STACK_ONEVENT_TAG event * the next items are used to help identify the XML and HTM files written * to disk as being generated from this particular process. #DEFINE COV_STACKXML_SUFFIX "_STACK" #DEFINE COV_STACKXMLEXT_SUFFIX "_STACKX" #DEFINE COV_TRANSFORM_SUFFIX "_XSL" * the next item indicates whether lines are loaded from the Coverage * source workfile dbf or gathered directly by reading the original * text log. The former has a very slight speed advantage but will * not include ON... events, since those lines are ignored by Cov workfiles #DEFINE COV_LOAD_STACK_FROM_DBF .F. * the vars in the next item have the same meaning as the columns of the * same name in the Coverage source workfile DBF -- equivalents for these * items are read in from the source text log when COV_LOAD_STACK_FROM_DBF * is .F.,and this expression stays the same. You can change it as long as * you ensure that the result will never be empty except for ON... events. * Load a log into COVERAGE.APP, SET DATASESSION TO _oCoverage.DataSessionID, * and refer to the source workfile (by default, its alias is FromLog) for * some indication on the possible contents of these columns. #DEFINE COV_STACKEXPR ALLTR(IIF(INLIST(FileType,".fxp",".mpx",".qpx",".spx"), ; IIF(EMPTY(ObjClass),IF(NOT EMPTY(Executing),ALLTR(Executing),""),; IIF(LEFT(Executing,1)=".",ALLTR(ObjClass),"")+ALLTR(Executing)), ; ALLTR(Executing))) [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] |