env:version: <xx.yy.zz> workspace: <pathToWinIDEAWorkspaceFile> useQualifiedFuncName: <true | false> address: <ipAddrOrHostName> port: <portNumber> coreIds: [<coreId-0>, ...] autoConnect: <true | false> autoIdFormat: <formatString> defaultRetValName: <varName> logFile: [<fileName>, ...] initBeforeRun: <true | false> disableInterrupts: <true | false> testTimeout: <timeout> breakpointType: <keepWinIDEASetting | useHWBreakpoints | useSWBreakpoints | useHWBPsForInitThenSWBPs> initSequence:reportConfig:- coreId: <coreId> action: <connectToCore | download | reset | run | delAllBreakpoints | callTargetFunction | callScriptFunction | loadSymbolsOnly | waitUntilStopped> params: [<param0>, ...]- ... scriptConfig:workingDir: <directory> modules: [<moduleName>, ...] sysPaths: [<sysPath>, ...] timeout: <timeInSeconds> extensionClass: <scriptClassName>toolsConfig:isAutoSetAnalyzerFName: <true | false> analyzerFName: <fileName> isSetTestIdOnPaste: <true | false>evaluatorConfig:isOverrideWinIDEASettings: <true | false> charDisplay: <ASCII | Integer | Both> isAnsiChar: <true | false> isHex: <true | false> binaryDisplay: <Blanks | NoBlanksTrailingB> isDisplayPointerMemArea: <true | false> isCharArrayAsString: <true | false> isDereferenceStringPointers: <true | false> addressDisplay: <HexNoPrefix | HexPrefix> enumDisplay: <Enum | Integer | Both> isDisplayCollapsedArrayStruct: <true | false> vagueFloatPrecision: <floatNumber>testCaseTargetInit:downloadOnTCInit: <true | false> resetOnTCInit: <true | false> runOnTCInit: <true | false> stopFunctionOnTCInit: <functionName>stackUsageOptions:- coreId: <coreId> isActive: <true | false> baseAddr: <address> endAddr: <address> pattern: <bytePattern>- ... checkTargetState: <true | false> verifySymbolsBeforeRun: <true | false>testIDEAVersion: <version> winIDEAVersion: <version> reportContents: <full | errorsOnly> outFormat: <xml | yaml | csv | xls | xlsx> fileName: <fileName> iyamlFileName: <iyamlFileName> xsltFull: <fileName> xsltErrors: <fileName> xmlLogoImage: <> xmlReportHeader: <> cssFile: <> isEmbeddedXsltCss: <true | false> isCreateHtml: <true | false> csvSeparator: <char> isCSVHeaderLine: <true | false> isXLSVerticalHeader: <true | false> isIncludeTestSpec: <true | false> isAbsPathForLinks: <true | false> htmlViewMode: <all | errorsOnly> testInfo: {<key>: <value>, ...} useCustomTime: <true | false>testFilters:- filterId: <- ... groups:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] id: <testCases:> isExecute: <true | false> desc: <text> filter: filterId: <mergedAnalyzerFile: <fileName.trd> isCloseAfterTest: <true | false> coverageExport:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] isActive: <true | false> isMeasureAllFunctions: <true | false> isIgnoreNonReachableCode: <true | false> mergeScope: <none | siblingsOnly | siblingsAndParent | all> mergeFilter:coverageAllCodeInGroup:filterId: <exportFormat: <HTML | Text | CSV | XML | Review (HTML) | Review (Text)> formatVariant: <variantName> exportFile: <fileName> isAssemblerInfo: <true | false> isLaunchViewer: <true | false> isExportModuleLines: <true | false> isExportSources: <true | false> isExportFunctionLines: <true | false> isExportAsm: <true | false> isExportRanges: <true | false> exportFunctionsFilter: <functionName> exportModulesFilter: <moduleName> statistics:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] - func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>- ...func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>coverageTestCasesOnly:func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>initScriptFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>endScriptFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>children: -- ... id: <> testScope: <unitTest | systemTest> baseId: < > run: <true | false> imports: id:desc: <text> tags: [<tag>, ...] options: {<winIDEAOptionPath>: <optionValue>, ...} persistVars:inherit: <true | false> ids: [<testId>, ...]scope:inherit: <true | false> ids: [<testId>, ...]desc:inherit: <true | false> ids: [<testId>, ...]tags:inherit: <true | false> ids: [<testId>, ...]options:inherit: <true | false> ids: [<testId>, ...]persistVars:inherit: <true | false> ids: [<testId>, ...]locals:inherit: <true | false> ids: [<testId>, ...]init:inherit: <true | false> ids: [<testId>, ...]beginStopCondition:inherit: <true | false> ids: [<testId>, ...]endStopCondition:inherit: <true | false> ids: [<testId>, ...]func:inherit: <true | false> ids: [<testId>, ...]testTimeout:inherit: <true | false> ids: [<testId>, ...]coreId:inherit: <true | false> ids: [<testId>, ...]initTargetFunc:inherit: <true | false> ids: [<testId>, ...]initFunc:inherit: <true | false> ids: [<testId>, ...]endFunc:inherit: <true | false> ids: [<testId>, ...]restoreTargetFunc:inherit: <true | false> ids: [<testId>, ...]stubs:inherit: <true | false> ids: [<testId>, ...]userStubs:inherit: <true | false> ids: [<testId>, ...]testPoints:inherit: <true | false> ids: [<testId>, ...]preCondition:inherit: <true | false> ids: [<testId>, ...]assert:inherit: <true | false> ids: [<testId>, ...]stackUsage:inherit: <true | false> ids: [<testId>, ...]log:inherit: <true | false> ids: [<testId>, ...]analyzer:inherit: <true | false> ids: [<testId>, ...]hil:inherit: <true | false> ids: [<testId>, ...]dryRun:inherit: <true | false> ids: [<testId>, ...]diagrams:inherit: <true | false> ids: [<testId>, ...]params:inherit: <true | false> ids: [<testId>, ...]decl: {<varName>: <varType>, ...} delete: [<varName>, ...] isDeleteAll: <true | false>locals: {<varName>: <varType>, ...} init: {<varName>: <varValue>, ...} beginStopCondition:stopType: <breakpoint | stop | rtExpression | noRun> timeout: <milliseconds> rtExpression: <expression> conditionCount: <count> conditionExpr: <expression> bpLocation:endStopCondition:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>stopType: <breakpoint | stop | rtExpression | noRun> timeout: <milliseconds> rtExpression: <expression> conditionCount: <count> conditionExpr: <expression> bpLocation:func:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>func: <functionName> params: [<parameter>, ...] retVal: <varName>testTimeout: <timeout> coreId: <coreId> initTargetFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>initFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>endFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>restoreTargetFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>stubs:- stubbedFunc: <functionName> isActive: <true | false> isCustomActivation: <true | false> params: [<parameter>, ...] retValName: <varName> scriptFunc: <functionName> hitLimits:- ... userStubs:min: <numHits> max: <numHits>log:before: [<varName>, ...] after: [<varName>, ...]assignSteps:- expect: [<expression>, ...] assign: {<varName>: <varValue>, ...} scriptParams: [<parameter>, ...] next: <index>- ...- func: <functionName> isActive: <true | false> replacementFunc: <functionName>- ... testPoints:- tpId: <> isActive: <true | false> isCustomActivation: <true | false> conditionCount: <count> conditionExpr: <expression> scriptFunc: <functonName> location:- ... preCondition:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>log:before: [<varName>, ...] after: [<varName>, ...]hitLimits:min: <numHits> max: <numHits>steps:- expect: [<expression>, ...] assign: {<varName>: <varValue>, ...} scriptParams: [<parameter>, ...] next: <index>- ...isExpectException: <true | false> expressions: [<C expression>, ...]assert:isExpectException: <true | false> expressions: [<C expression>, ...]stackUsage:minLimit: <numBytes> maxLimit: <numBytes>log:before: [<varName>, ...] after: [<varName>, ...]analyzer:runMode: <off | start> document: <fileName> openMode: <u | w | a> isSlowRun: <true | false> trigger: <triggerName> isPredefTrigger: <true | false> isSaveAfterTest: <true | false> isCloseAfterTest: <true | false> trace:hil:isActive: <true | false> exportFormat: <Text | CSV | Binary | XML> exportFile: <fileName>coverage:isActive: <true | false> isMeasureAllFunctions: <true | false> isIgnoreNonReachableCode: <true | false> mergeScope: <none | siblingsOnly | siblingsAndParent | all> mergeFilter:profiler:filterId: <exportFormat: <HTML | Text | CSV | XML | Review (HTML) | Review (Text)> formatVariant: <variantName> exportFile: <fileName> isAssemblerInfo: <true | false> isLaunchViewer: <true | false> isExportModuleLines: <true | false> isExportSources: <true | false> isExportFunctionLines: <true | false> isExportAsm: <true | false> isExportRanges: <true | false> exportFunctionsFilter: <functionName> exportModulesFilter: <moduleName> statistics:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] - func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>- ...isActive: <true | false> isMeasureAllFunctions: <true | false> exportFormat: <Text | XML | CSV | Text1 | XMLBinaryTimeline | BTF | MDF> exportFile: <> isExportActiveOnly: <true | false> isProfileAUX: <true | false> isSaveHistory: <true | false> codeAreas:- name: <funcName or varName> value: <stateValue> netTime:- ... dataAreas:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]- name: <funcName or varName> value: <stateValue> netTime:- ...min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]params: {<hilParamName>: <hilParamValue>, ...}dryRun:assign: {<hostVarName>: <expression>, ...} isUpdateCoverage: <true | false> isUpdateProfiler: <true | false> profilerMultiplier: <diagrams:> profilerOffset: < > isActive: <true | false> diagrams:tests: -- isActive: <true | false> diagramType: <flowchart | sequenceDiagram | callgraph | staticCallGraph | flamegraph | custom | customAsync> script: <scriptName.py> params: [<arg1>, ...] outFile: <fileName> isAddToReport: <true | false> viewer: <multiPage | singlePage | externalApp | none> dataFormat: <byExtension | bitmap | SVG> externalViewer: <pathToApp>- ...- ...
env:version: <xx.yy.zz> workspace: <pathToWinIDEAWorkspaceFile> useQualifiedFuncName: <true | false> address: <ipAddrOrHostName> port: <portNumber> coreIds: [<coreId-0>, ...] autoConnect: <true | false> autoIdFormat: <formatString> defaultRetValName: <varName> logFile: [<fileName>, ...] initBeforeRun: <true | false> disableInterrupts: <true | false> testTimeout: <timeout> breakpointType: <keepWinIDEASetting | useHWBreakpoints | useSWBreakpoints | useHWBPsForInitThenSWBPs> initSequence:- coreId: <coreId> action: <connectToCore | download | reset | run | delAllBreakpoints | callTargetFunction | callScriptFunction | loadSymbolsOnly | waitUntilStopped> params: [<param0>, ...]- ... scriptConfig:workingDir: <directory> modules: [<moduleName>, ...] sysPaths: [<sysPath>, ...] timeout: <timeInSeconds> extensionClass: <scriptClassName>toolsConfig:isAutoSetAnalyzerFName: <true | false> analyzerFName: <fileName> isSetTestIdOnPaste: <true | false>evaluatorConfig:isOverrideWinIDEASettings: <true | false> charDisplay: <ASCII | Integer | Both> isAnsiChar: <true | false> isHex: <true | false> binaryDisplay: <Blanks | NoBlanksTrailingB> isDisplayPointerMemArea: <true | false> isCharArrayAsString: <true | false> isDereferenceStringPointers: <true | false> addressDisplay: <HexNoPrefix | HexPrefix> enumDisplay: <Enum | Integer | Both> isDisplayCollapsedArrayStruct: <true | false> vagueFloatPrecision: <floatNumber>testCaseTargetInit:downloadOnTCInit: <true | false> resetOnTCInit: <true | false> runOnTCInit: <true | false> stopFunctionOnTCInit: <functionName>stackUsageOptions:- coreId: <coreId> isActive: <true | false> baseAddr: <address> endAddr: <address> pattern: <bytePattern>- ... checkTargetState: <true | false> verifySymbolsBeforeRun: <true | false>
where:
keepWinIDEASetting - keep configuration from winIDEA.useHWBreakpoints - use hardware breakpoints. Because the number of hardware breakpoints is limited, the number of stubs and test points is limited with this option.useSWBreakpoints - use software breakpoints. Provides unlimited number of stubs and test points.useHWBPsForInitThenSWBPs - use hardware breakpoints during target initialization, then switch to software breakpoints. Use this setting when target init code performs checksum of the code, but more stubs or test points are required than the number of available hardware breakpoints.
version: 9.12.146
workspace: '/proj/demo/Sample5554.xjrf'
address: 192.168.1.10
stopFunction: main
defaultRetValName: retVal
port: 5333
autoIdFormat: /${uuid}/${params}
initSequence:- coreId: <coreId> action: <connectToCore | download | reset | run | delAllBreakpoints | callTargetFunction | callScriptFunction | loadSymbolsOnly | waitUntilStopped> params: [<param0>, ...]- ...
where:
connectToCore - makes connection to the specified core.download - performs download.reset - resets target.run - runs target. Optionsl parameter may specify name of the function or label to run to.delAllBreakpoints - deletes all break points on target.callTargetFunction - calls function on target. Parameter defines function name.callScriptFunction - calls script function. Parameter defines script function name.loadSymbolsOnly - winIDEA only loads symbols from download file.waitUntilStopped - waits until target stops, for example when running until function `main()`.
scriptConfig:workingDir: <directory> modules: [<moduleName>, ...] sysPaths: [<sysPath>, ...] timeout: <timeInSeconds> extensionClass: <scriptClassName>
where:
scriptConfig: workingDir: '/proj/myProject' modules: [sys, myModule] sysPaths: ['/proj/utils', '/lib/python'] timeout: 10000 extensionClass: myModule.myClass
toolsConfig:isAutoSetAnalyzerFName: <true | false> analyzerFName: <fileName> isSetTestIdOnPaste: <true | false>
where:
${_testId}-${_function}.trd. See testIDEA content proposals for available host vars.
evaluatorConfig:isOverrideWinIDEASettings: <true | false> charDisplay: <ASCII | Integer | Both> isAnsiChar: <true | false> isHex: <true | false> binaryDisplay: <Blanks | NoBlanksTrailingB> isDisplayPointerMemArea: <true | false> isCharArrayAsString: <true | false> isDereferenceStringPointers: <true | false> addressDisplay: <HexNoPrefix | HexPrefix> enumDisplay: <Enum | Integer | Both> isDisplayCollapsedArrayStruct: <true | false> vagueFloatPrecision: <floatNumber>
where:
ASCII - chars are displayed as ASCII charactersInteger - chars are displayed as integersBoth - chars are displayed as both ASCII characters and integersBlanks - binary values are displayed as 11111111 00000000NoBlanksTrailingB - binary values are displayed as 1111111100000000BHexNoPrefix - addresses are displayed as hex numbers without prefixHexPrefix - addresses are displayed as hex numbers with '0x' prefixEnum - enum identifier is displayedInteger - integer value is displayedBoth - enum identifier and integer value are displayedevaluatorConfig: isUseDefaultWinIDEASettings: false charDisplay: Both isAnsiChar: true isHex: true binaryDisplay: Blanks isDisplayPointerMemArea: true isCharArrayAsString: true isDereferenceStringPointers: true addressDisplay: HexPrefix enumDisplay: Both isDisplayCollapsedArrayStruct: false vagueFloatPrecision: 1e-5
testCaseTargetInit:downloadOnTCInit: <true | false> resetOnTCInit: <true | false> runOnTCInit: <true | false> stopFunctionOnTCInit: <functionName>
where:
testCaseTargetInit: downloadOnTCInit: false resetOnTCInit: true runOnTCInit: true stopFunctionOnTCInit: main
stackUsageOptions:- coreId: <coreId> isActive: <true | false> baseAddr: <address> endAddr: <address> pattern: <bytePattern>- ...
where:
(Debug | Debug Options ... | tab Stack Usage), and stack usage is only measured for test cases, which specify the limit.stackUsageOptions: - coreId: core-0 isActive: true baseAddr: 0x4000f000 endAddr: 0x4000fff0 pattern: 0x55
reportConfig:
testIDEAVersion: <version>
winIDEAVersion: <version>
reportContents: <full | errorsOnly>
outFormat: <xml | yaml | csv | xls | xlsx>
fileName: <fileName>
iyamlFileName: <iyamlFileName>
xsltFull: <fileName>
xsltErrors: <fileName>
xmlLogoImage: <>
xmlReportHeader: <>
cssFile: <>
isEmbeddedXsltCss: <true | false>
isCreateHtml: <true | false>
csvSeparator: <char>
isCSVHeaderLine: <true | false>
isXLSVerticalHeader: <true | false>
isIncludeTestSpec: <true | false>
isAbsPathForLinks: <true | false>
htmlViewMode: <all | errorsOnly>
testInfo: {<key>: <value>, ...}
useCustomTime: <true | false>
where:
full - report will contain all measured values from profiler of coverage sections.errorsOnly - report will contain only those measured values, which have caused the test to fail.xml - save in XML format.yaml - save in YAML format.csv - save in CSV format.xls - save in old Excel format.xlsx - save in new Excel format.all - results of all test cases are shown.errorsOnly - only results of test cases with error are shownreportConfig: winIDEAVersion: 9.12.145 reportContents: full outFormat: xml fileName: 'd:/tmp/reportFull.xml' xsltFull: 'itestResult.blue.xslt' xsltErrors: ' itestErrors.gray.xslt' csvSeparator: ',' isCSVHeaderLine: true isXLSVerticalHeader: false isIncludeTestSpec: true useCustomTime: false isAbsPathForLinks: true testInfo: tester: markok winIDEAVersion: 9.12.45 date: time:
testFilters:- filterId: <- ...> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...]
where:
builtIn - filter built into testIDEA is usedscript - filter implemented in Python script is usedtestFilters: - filterId: filterA type: script mustHaveAllTags: [asd] mustHaveOneOfTags: [sdfgh] isOr1: false isOr2: false isOr3: false scriptFunction: filterHasParams scriptFunctionParams: [_isys_testSpec, 1] - filterId: filterB isOr1: false isOr2: false isOr3: false includedIds: [two] excludedIds: [three] excludedFunctions: [Func4]
groups:id: <> isExecute: <true | false> desc: <text> filter: filterId: <mergedAnalyzerFile: <fileName.trd> isCloseAfterTest: <true | false> coverageExport:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] isActive: <true | false> isMeasureAllFunctions: <true | false> isIgnoreNonReachableCode: <true | false> mergeScope: <none | siblingsOnly | siblingsAndParent | all> mergeFilter:coverageAllCodeInGroup:filterId: <exportFormat: <HTML | Text | CSV | XML | Review (HTML) | Review (Text)> formatVariant: <variantName> exportFile: <fileName> isAssemblerInfo: <true | false> isLaunchViewer: <true | false> isExportModuleLines: <true | false> isExportSources: <true | false> isExportFunctionLines: <true | false> isExportAsm: <true | false> isExportRanges: <true | false> exportFunctionsFilter: <functionName> exportModulesFilter: <moduleName> statistics:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] - func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>- ...func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>coverageTestCasesOnly:func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>initScriptFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>endScriptFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>children: -- ...
where:
filter:filterId: <> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...]
where:
builtIn - filter built into testIDEA is usedscript - filter implemented in Python script is usedtestFilters: - filterId: filterA type: script mustHaveAllTags: [asd] mustHaveOneOfTags: [sdfgh] isOr1: false isOr2: false isOr3: false scriptFunction: filterHasParams scriptFunctionParams: [_isys_testSpec, 1] - filterId: filterB isOr1: false isOr2: false isOr3: false includedIds: [two] excludedIds: [three] excludedFunctions: [Func4]
coverageExport:isActive: <true | false> isMeasureAllFunctions: <true | false> isIgnoreNonReachableCode: <true | false> mergeScope: <none | siblingsOnly | siblingsAndParent | all> mergeFilter:filterId: <exportFormat: <HTML | Text | CSV | XML | Review (HTML) | Review (Text)> formatVariant: <variantName> exportFile: <fileName> isAssemblerInfo: <true | false> isLaunchViewer: <true | false> isExportModuleLines: <true | false> isExportSources: <true | false> isExportFunctionLines: <true | false> isExportAsm: <true | false> isExportRanges: <true | false> exportFunctionsFilter: <functionName> exportModulesFilter: <moduleName> statistics:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] - func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>- ...
where:
true, coverage is recordedtrue, coverage of all function is recorded, not only of those added in statistics section.none - no merging is performed.siblingsOnly - only siblings of this test case, which have already been executed, are used as filter input.siblingsAndParent - only siblings and parent of this test case, which have already been executed, are used as filter input.all - all test cases which have been executed up to this point are used as filter inputHTML - specifies HTML export format.Text - specifies text export format.CSV - specifies CSV export format.XML - specifies XML export format.Review (HTML) - deprecated.Review (Text) - deprecated.exportFormat.true, information about assembly level coverage will be provided.true, lines coverage for modules will be exported.true, lines coverage for modules will be exported.
coverage:
isActive: true
exportFormat: HTML
exportFile: testExport.html
statistics:
- func: max_int
code: 96
sourceLines: 85
branches: 100
notTaken: 100
mergeFilter:filterId: <> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...]
where:
builtIn - filter built into testIDEA is usedscript - filter implemented in Python script is usedtestFilters: - filterId: filterA type: script mustHaveAllTags: [asd] mustHaveOneOfTags: [sdfgh] isOr1: false isOr2: false isOr3: false scriptFunction: filterHasParams scriptFunctionParams: [_isys_testSpec, 1] - filterId: filterB isOr1: false isOr2: false isOr3: false includedIds: [two] excludedIds: [three] excludedFunctions: [Func4]
statistics:- func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>- ...
where:
coverageAllCodeInGroup:func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>
where:
coverageTestCasesOnly:func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>
where:
initScriptFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>
where:
func:
func: min_int
params:
- 4
- 9
retVal: rv
func: [min_int, [4, 9], rv]
expect: [rv == 4]
endScriptFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>
where:
func:
func: min_int
params:
- 4
- 9
retVal: rv
func: [min_int, [4, 9], rv]
expect: [rv == 4]
testCases:id: <> testScope: <unitTest | systemTest> baseId: < > run: <true | false> imports: id:desc: <text> tags: [<tag>, ...] options: {<winIDEAOptionPath>: <optionValue>, ...} persistVars:inherit: <true | false> ids: [<testId>, ...]scope:inherit: <true | false> ids: [<testId>, ...]desc:inherit: <true | false> ids: [<testId>, ...]tags:inherit: <true | false> ids: [<testId>, ...]options:inherit: <true | false> ids: [<testId>, ...]persistVars:inherit: <true | false> ids: [<testId>, ...]locals:inherit: <true | false> ids: [<testId>, ...]init:inherit: <true | false> ids: [<testId>, ...]beginStopCondition:inherit: <true | false> ids: [<testId>, ...]endStopCondition:inherit: <true | false> ids: [<testId>, ...]func:inherit: <true | false> ids: [<testId>, ...]testTimeout:inherit: <true | false> ids: [<testId>, ...]coreId:inherit: <true | false> ids: [<testId>, ...]initTargetFunc:inherit: <true | false> ids: [<testId>, ...]initFunc:inherit: <true | false> ids: [<testId>, ...]endFunc:inherit: <true | false> ids: [<testId>, ...]restoreTargetFunc:inherit: <true | false> ids: [<testId>, ...]stubs:inherit: <true | false> ids: [<testId>, ...]userStubs:inherit: <true | false> ids: [<testId>, ...]testPoints:inherit: <true | false> ids: [<testId>, ...]preCondition:inherit: <true | false> ids: [<testId>, ...]assert:inherit: <true | false> ids: [<testId>, ...]stackUsage:inherit: <true | false> ids: [<testId>, ...]log:inherit: <true | false> ids: [<testId>, ...]analyzer:inherit: <true | false> ids: [<testId>, ...]hil:inherit: <true | false> ids: [<testId>, ...]dryRun:inherit: <true | false> ids: [<testId>, ...]diagrams:inherit: <true | false> ids: [<testId>, ...]params:inherit: <true | false> ids: [<testId>, ...]decl: {<varName>: <varType>, ...} delete: [<varName>, ...] isDeleteAll: <true | false>locals: {<varName>: <varType>, ...} init: {<varName>: <varValue>, ...} beginStopCondition:stopType: <breakpoint | stop | rtExpression | noRun> timeout: <milliseconds> rtExpression: <expression> conditionCount: <count> conditionExpr: <expression> bpLocation:endStopCondition:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>stopType: <breakpoint | stop | rtExpression | noRun> timeout: <milliseconds> rtExpression: <expression> conditionCount: <count> conditionExpr: <expression> bpLocation:func:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>func: <functionName> params: [<parameter>, ...] retVal: <varName>testTimeout: <timeout> coreId: <coreId> initTargetFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>initFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>endFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>restoreTargetFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>stubs:- stubbedFunc: <functionName> isActive: <true | false> isCustomActivation: <true | false> params: [<parameter>, ...] retValName: <varName> scriptFunc: <functionName> hitLimits:- ... userStubs:min: <numHits> max: <numHits>log:before: [<varName>, ...] after: [<varName>, ...]assignSteps:- expect: [<expression>, ...] assign: {<varName>: <varValue>, ...} scriptParams: [<parameter>, ...] next: <index>- ...- func: <functionName> isActive: <true | false> replacementFunc: <functionName>- ... testPoints:- tpId: <> isActive: <true | false> isCustomActivation: <true | false> conditionCount: <count> conditionExpr: <expression> scriptFunc: <functonName> location:- ... preCondition:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>log:before: [<varName>, ...] after: [<varName>, ...]hitLimits:min: <numHits> max: <numHits>steps:- expect: [<expression>, ...] assign: {<varName>: <varValue>, ...} scriptParams: [<parameter>, ...] next: <index>- ...isExpectException: <true | false> expressions: [<C expression>, ...]assert:isExpectException: <true | false> expressions: [<C expression>, ...]stackUsage:minLimit: <numBytes> maxLimit: <numBytes>log:before: [<varName>, ...] after: [<varName>, ...]analyzer:runMode: <off | start> document: <fileName> openMode: <u | w | a> isSlowRun: <true | false> trigger: <triggerName> isPredefTrigger: <true | false> isSaveAfterTest: <true | false> isCloseAfterTest: <true | false> trace:hil:isActive: <true | false> exportFormat: <Text | CSV | Binary | XML> exportFile: <fileName>coverage:isActive: <true | false> isMeasureAllFunctions: <true | false> isIgnoreNonReachableCode: <true | false> mergeScope: <none | siblingsOnly | siblingsAndParent | all> mergeFilter:profiler:filterId: <exportFormat: <HTML | Text | CSV | XML | Review (HTML) | Review (Text)> formatVariant: <variantName> exportFile: <fileName> isAssemblerInfo: <true | false> isLaunchViewer: <true | false> isExportModuleLines: <true | false> isExportSources: <true | false> isExportFunctionLines: <true | false> isExportAsm: <true | false> isExportRanges: <true | false> exportFunctionsFilter: <functionName> exportModulesFilter: <moduleName> statistics:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] - func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>- ...isActive: <true | false> isMeasureAllFunctions: <true | false> exportFormat: <Text | XML | CSV | Text1 | XMLBinaryTimeline | BTF | MDF> exportFile: <> isExportActiveOnly: <true | false> isProfileAUX: <true | false> isSaveHistory: <true | false> codeAreas:- name: <funcName or varName> value: <stateValue> netTime:- ... dataAreas:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]- name: <funcName or varName> value: <stateValue> netTime:- ...min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]params: {<hilParamName>: <hilParamValue>, ...}dryRun:assign: {<hostVarName>: <expression>, ...} isUpdateCoverage: <true | false> isUpdateProfiler: <true | false> profilerMultiplier: <diagrams:> profilerOffset: < > isActive: <true | false> diagrams:tests: -- isActive: <true | false> diagramType: <flowchart | sequenceDiagram | callgraph | staticCallGraph | flamegraph | custom | customAsync> script: <scriptName.py> params: [<arg1>, ...] outFile: <fileName> isAddToReport: <true | false> viewer: <multiPage | singlePage | externalApp | none> dataFormat: <byExtension | bitmap | SVG> externalViewer: <pathToApp>- ...- ...
where:
unitTest - function will be tested, see section 'func' for function name and parameterssystemTest - other parts of system will be tested, see sections 'beginStopCondition' and 'endStopCondition'.Help | Display Options ... for the list of available options. [, [, ...], ] . Always use mapping form when writing comments to sections.id: test_00023 desc: This test verifies function timings. tags: nightly, unit, systemA run: false locals: a: MyStruct index: int arr: int[10] init: a.x: 10 a.y: 20 index: 0 arr[1]: 333444 initFunc: - arrayInit - - 'myArray' - 0 - 20 - 30 endFunc: - arrayTest - - 'myArray' - 0 - 20 - 30 expect: - a.x == 0x10 - rv == 45 && a > 20 - index >= 0 - charArray == "hello"' - rv == 8 && g_char1 == 'a' @@ b d # rv is written in binary and g_char1 in decimal format
id: test-4
desc: |-
This test demonstrates analyzer and profiler analysis.
func: [max_int, [8, 456], rv]
expect:
- rv == 456
analyzer:
runMode: start
document: max_int.trd
openMode: w
trigger: Profiler
coverage:
isActive: true
exportFormat: HTML
exportFile: testExport.html
statistics:
- func: max_int
code: 96
sourceLines: 85
branches: 100
notTaken: 100
profiler:
isActive: true
exportFormat: XML
exportFile: profilerExport.xml
isSaveHistory: true
codeAreas:
- name: 'max_int'
netTime:
min:
- 6000
- 8000
max:
- 6000
- 8000
total:
- 6500
- 8000
grossTime:
total:
- 6000
hits:
- 1
- 1
dataAreas:
- name: d
tests:
- id: test-5
imports:
analyzer:
inherit: true
func: ['', [-2, -4]]
expect:
- rv == -2
- id: test-6
func: ['', [8, 2]]
expect:
- rv == 8
analyzer:
runMode: start
document: max_int.trd
openMode: w
profiler:
isActive: true
isSaveHistory: true
codeAreas:
- name: 'max_int'
netTime:
min:
- 4001
- 8001
max:
- 4002
- 8002
total:
- 4003
- 8003
hits:
- 1
- 4
imports:id:inherit: <true | false> ids: [<testId>, ...]scope:inherit: <true | false> ids: [<testId>, ...]desc:inherit: <true | false> ids: [<testId>, ...]tags:inherit: <true | false> ids: [<testId>, ...]options:inherit: <true | false> ids: [<testId>, ...]persistVars:inherit: <true | false> ids: [<testId>, ...]locals:inherit: <true | false> ids: [<testId>, ...]init:inherit: <true | false> ids: [<testId>, ...]beginStopCondition:inherit: <true | false> ids: [<testId>, ...]endStopCondition:inherit: <true | false> ids: [<testId>, ...]func:inherit: <true | false> ids: [<testId>, ...]testTimeout:inherit: <true | false> ids: [<testId>, ...]coreId:inherit: <true | false> ids: [<testId>, ...]initTargetFunc:inherit: <true | false> ids: [<testId>, ...]initFunc:inherit: <true | false> ids: [<testId>, ...]endFunc:inherit: <true | false> ids: [<testId>, ...]restoreTargetFunc:inherit: <true | false> ids: [<testId>, ...]stubs:inherit: <true | false> ids: [<testId>, ...]userStubs:inherit: <true | false> ids: [<testId>, ...]testPoints:inherit: <true | false> ids: [<testId>, ...]preCondition:inherit: <true | false> ids: [<testId>, ...]assert:inherit: <true | false> ids: [<testId>, ...]stackUsage:inherit: <true | false> ids: [<testId>, ...]log:inherit: <true | false> ids: [<testId>, ...]analyzer:inherit: <true | false> ids: [<testId>, ...]hil:inherit: <true | false> ids: [<testId>, ...]dryRun:inherit: <true | false> ids: [<testId>, ...]diagrams:inherit: <true | false> ids: [<testId>, ...]params:inherit: <true | false> ids: [<testId>, ...]
where:
id:inherit: <true | false> ids: [<testId>, ...]
where:
scope:inherit: <true | false> ids: [<testId>, ...]
where:
desc:inherit: <true | false> ids: [<testId>, ...]
where:
tags:inherit: <true | false> ids: [<testId>, ...]
where:
options:inherit: <true | false> ids: [<testId>, ...]
where:
persistVars:inherit: <true | false> ids: [<testId>, ...]
where:
locals:inherit: <true | false> ids: [<testId>, ...]
where:
init:inherit: <true | false> ids: [<testId>, ...]
where:
beginStopCondition:inherit: <true | false> ids: [<testId>, ...]
where:
endStopCondition:inherit: <true | false> ids: [<testId>, ...]
where:
func:inherit: <true | false> ids: [<testId>, ...]
where:
testTimeout:inherit: <true | false> ids: [<testId>, ...]
where:
coreId:inherit: <true | false> ids: [<testId>, ...]
where:
initTargetFunc:inherit: <true | false> ids: [<testId>, ...]
where:
initFunc:inherit: <true | false> ids: [<testId>, ...]
where:
endFunc:inherit: <true | false> ids: [<testId>, ...]
where:
restoreTargetFunc:inherit: <true | false> ids: [<testId>, ...]
where:
stubs:inherit: <true | false> ids: [<testId>, ...]
where:
userStubs:inherit: <true | false> ids: [<testId>, ...]
where:
testPoints:inherit: <true | false> ids: [<testId>, ...]
where:
preCondition:inherit: <true | false> ids: [<testId>, ...]
where:
assert:inherit: <true | false> ids: [<testId>, ...]
where:
stackUsage:inherit: <true | false> ids: [<testId>, ...]
where:
log:inherit: <true | false> ids: [<testId>, ...]
where:
analyzer:inherit: <true | false> ids: [<testId>, ...]
where:
hil:inherit: <true | false> ids: [<testId>, ...]
where:
dryRun:inherit: <true | false> ids: [<testId>, ...]
where:
diagrams:inherit: <true | false> ids: [<testId>, ...]
where:
params:inherit: <true | false> ids: [<testId>, ...]
where:
persistVars:
decl: {<varName>: <varType>, ...}
delete: [<varName>, ...]
isDeleteAll: <true | false>
where:
persistVars:
decl:
per_v: Vehicle
beginStopCondition:stopType: <breakpoint | stop | rtExpression | noRun> timeout: <milliseconds> rtExpression: <expression> conditionCount: <count> conditionExpr: <expression> bpLocation:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>
where:
breakpoint - target will stop when breskpoint is hit. Breakpoint location is defined by tag bpLocation below.stop - target will be stopped by emulator when timeout expires, see tag timeout below.rtExpression - target will be stopped by emulator when real time expression evaluates to true, see tag rtExpression below. Target must support real-time access for this option to work.noRun - target will not be run - this stop condition is not active.breakpoint, then breakpoint is set after this timeout expires.stop, then target is stopped after this timeout.rtExpression, then expression evaluation starts after this timeout.stopType == rtExpression
bpLocation:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>
where:
function - function is used for test point location - line numbers are function relative.file - file is used for test point location - line numbers are file relative.address - address is used for test point location - intended for iSYSTEM internal use.resourceType above.localHost - sources will be read from local host, where isystem.connect client is runningwinIDEAHost - sources will be read from remote host, where winIDEA is runningany - complete line is searched for pattern.code - only code is searched for pattern. Single line comment (//) is removed.comment - only comment is searched (single line comment is recognized only (//)).plain - pattern is used for search literally.regEx - pattern is interpreted as regular expression.testPointId - Search pattern is composed of string 'TID: ' and Test Point ID. Tag pattern is ignored.tp[12A]tp.tp.*
endStopCondition:stopType: <breakpoint | stop | rtExpression | noRun> timeout: <milliseconds> rtExpression: <expression> conditionCount: <count> conditionExpr: <expression> bpLocation:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>
where:
breakpoint - target will stop when breskpoint is hit. Breakpoint location is defined by tag bpLocation below.stop - target will be stopped by emulator when timeout expires, see tag timeout below.rtExpression - target will be stopped by emulator when real time expression evaluates to true, see tag rtExpression below. Target must support real-time access for this option to work.noRun - target will not be run - this stop condition is not active.breakpoint, then breakpoint is set after this timeout expires.stop, then target is stopped after this timeout.rtExpression, then expression evaluation starts after this timeout.stopType == rtExpression
[, [, ...], ] . Always use mapping form when writing comments to sections.
Syntax:
func:func: <functionName> params: [<parameter>, ...] retVal: <varName>
where:
func:
func: min_int
params:
- 4
- 9
retVal: rv
func: [min_int, [4, 9], rv]
expect: [rv == 4]
initTargetFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>
where:
func:
func: min_int
params:
- 4
- 9
retVal: rv
func: [min_int, [4, 9], rv]
expect: [rv == 4]
initFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>
where:
func:
func: min_int
params:
- 4
- 9
retVal: rv
func: [min_int, [4, 9], rv]
expect: [rv == 4]
endFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>
where:
func:
func: min_int
params:
- 4
- 9
retVal: rv
func: [min_int, [4, 9], rv]
expect: [rv == 4]
restoreTargetFunc:func: <functionName> params: [<parameter>, ...] retVal: <varName>
where:
func:
func: min_int
params:
- 4
- 9
retVal: rv
func: [min_int, [4, 9], rv]
expect: [rv == 4]
stubs:- stubbedFunc: <functionName> isActive: <true | false> isCustomActivation: <true | false> params: [<parameter>, ...] retValName: <varName> scriptFunc: <functionName> hitLimits:- ...min: <numHits> max: <numHits>log:before: [<varName>, ...] after: [<varName>, ...]assignSteps:- expect: [<expression>, ...] assign: {<varName>: <varValue>, ...} scriptParams: [<parameter>, ...] next: <index>- ...
where:
func: [funcForIntStubTest, [], retVal]
stubs:
- func: [stubbedFuncInt, stubRV]
assignSteps:
- assign:
stubRV: 654
scriptParams: [3, 4]
- assign:
stubRV: 655
scriptParams: [4, 5]
next: 0 # continue with the first step
expect:
- retVal == 700
hitLimits:min: <numHits> max: <numHits>
where:
log:before: [<varName>, ...] after: [<varName>, ...]
where:
assignSteps:
- expect: [<expression>, ...]
assign: {<varName>: <varValue>, ...}
scriptParams: [<parameter>, ...]
next: <index>
- ...
where:
userStubs:- func: <functionName> isActive: <true | false> replacementFunc: <functionName>- ...
where:
func: [funcForIntStubTest, [], rv]
userStubs:
- func: stubbedFuncInt
isActive: true
replacementFunc: repl_stubbedFuncInt
expect:
- rv == 234
testPoints:- tpId: <> isActive: <true | false> isCustomActivation: <true | false> conditionCount: <count> conditionExpr: <expression> scriptFunc: <functonName> location:- ...resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>log:before: [<varName>, ...] after: [<varName>, ...]hitLimits:min: <numHits> max: <numHits>steps:- expect: [<expression>, ...] assign: {<varName>: <varValue>, ...} scriptParams: [<parameter>, ...] next: <index>- ...
where:
testPoints:
- tpId: tp_id_4
location:
resourceName: testPointTest
line: 0
isSearch: true
log:
before:
- p1
- x
after:
- p1
steps:
- expect:
- p1 == 11
assign:
g_char1: 12
- tpId: myComplexTestPoint
scriptFunc: stubFunc3
location:
resourceName: testPointTest
isSearch: true
searchContext: any
matchType: plain
pattern: myComplexTestPoint
log:
before:
- p1
- x
after:
- x
steps:
- expect:
- p1==11
scriptParams:
- 45
location:resourceType: <function | file | address> resourceName: <fileName or functionName> srcFileLocation: <localHost | winIDEAHost> line: <number> isSearch: <true | false> linesRange: <number> searchContext: <any | code | comment> matchType: <plain | regEx | testPointId> pattern: <pattern> lineOffset: <number> numSteps: <number>
where:
function - function is used for test point location - line numbers are function relative.file - file is used for test point location - line numbers are file relative.address - address is used for test point location - intended for iSYSTEM internal use.resourceType above.localHost - sources will be read from local host, where isystem.connect client is runningwinIDEAHost - sources will be read from remote host, where winIDEA is runningany - complete line is searched for pattern.code - only code is searched for pattern. Single line comment (//) is removed.comment - only comment is searched (single line comment is recognized only (//)).plain - pattern is used for search literally.regEx - pattern is interpreted as regular expression.testPointId - Search pattern is composed of string 'TID: ' and Test Point ID. Tag pattern is ignored.tp[12A]tp.tp.*
log:before: [<varName>, ...] after: [<varName>, ...]
where:
hitLimits:min: <numHits> max: <numHits>
where:
steps:
- expect: [<expression>, ...]
assign: {<varName>: <varValue>, ...}
scriptParams: [<parameter>, ...]
next: <index>
- ...
where:
preCondition:isExpectException: <true | false> expressions: [<C expression>, ...]
where:
assert:isExpectException: <true | false> expressions: [<C expression>, ...]
where:
stackUsage:minLimit: <numBytes> maxLimit: <numBytes>
where:
log:before: [<varName>, ...] after: [<varName>, ...]
where:
analyzer:runMode: <off | start> document: <fileName> openMode: <u | w | a> isSlowRun: <true | false> trigger: <triggerName> isPredefTrigger: <true | false> isSaveAfterTest: <true | false> isCloseAfterTest: <true | false> trace:isActive: <true | false> exportFormat: <Text | CSV | Binary | XML> exportFile: <fileName>coverage:isActive: <true | false> isMeasureAllFunctions: <true | false> isIgnoreNonReachableCode: <true | false> mergeScope: <none | siblingsOnly | siblingsAndParent | all> mergeFilter:profiler:filterId: <exportFormat: <HTML | Text | CSV | XML | Review (HTML) | Review (Text)> formatVariant: <variantName> exportFile: <fileName> isAssemblerInfo: <true | false> isLaunchViewer: <true | false> isExportModuleLines: <true | false> isExportSources: <true | false> isExportFunctionLines: <true | false> isExportAsm: <true | false> isExportRanges: <true | false> exportFunctionsFilter: <functionName> exportModulesFilter: <moduleName> statistics:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] - func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>- ...isActive: <true | false> isMeasureAllFunctions: <true | false> exportFormat: <Text | XML | CSV | Text1 | XMLBinaryTimeline | BTF | MDF> exportFile: <> isExportActiveOnly: <true | false> isProfileAUX: <true | false> isSaveHistory: <true | false> codeAreas:- name: <funcName or varName> value: <stateValue> netTime:- ... dataAreas:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]- name: <funcName or varName> value: <stateValue> netTime:- ...min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]
where:
off - analyzer is not startedstart - analyzer is started*.trd for file name.u - opens existing file for update.w - (default) opens existing file and deletes contents or creates new file.a - opens existing file and keeps contents, or creates new file. Currently contents is appended only for coverage.true, then slow run is used for analyzer. This way analyzer can be run on targets without trace capabilities.true, the document is saved after test. false by default.true, the document is closed after test. false by default.
analyzer:
runMode: start
document: cumulative.trd
openMode: w
isSaveAfterTest: true
isCloseAfterTest: false
coverage:
isActive: true
statistics:
- func: complexFunction
code: 50
trace:isActive: <true | false> exportFormat: <Text | CSV | Binary | XML> exportFile: <fileName>
where:
true, trace is recorded.Text - specifies text export format.CSV - specifies CSV export format.Binary - specifies binary export format.XML - specifies XML export format.exportFormat.
coverage:isActive: <true | false> isMeasureAllFunctions: <true | false> isIgnoreNonReachableCode: <true | false> mergeScope: <none | siblingsOnly | siblingsAndParent | all> mergeFilter:filterId: <exportFormat: <HTML | Text | CSV | XML | Review (HTML) | Review (Text)> formatVariant: <variantName> exportFile: <fileName> isAssemblerInfo: <true | false> isLaunchViewer: <true | false> isExportModuleLines: <true | false> isExportSources: <true | false> isExportFunctionLines: <true | false> isExportAsm: <true | false> isExportRanges: <true | false> exportFunctionsFilter: <functionName> exportModulesFilter: <moduleName> statistics:> type: <builtIn | script> coreId: < > partitions: [<partition>, ...] modules: [<>, ...] includedIds: [<testId>, ...] excludedIds: [<testId>, ...] includedFunctions: [<functionName>, ...] excludedFunctions: [<functionName>, ...] mustHaveAllTags: [<tag>, ...] mustHaveOneOfTags: [<tag>, ...] mustNotHaveAllTags: [<tag>, ...] mustNotHaveOneOfTags: [<tag>, ...] isOr1: <true | false> isOr2: <true | false> isOr3: <true | false> scriptFunction: <scriptFunctionName> scriptFunctionParams: [<scriptFunctionParam>, ...] - func: <functionName> code: <percentage> sourceLines: <percentage> branches: <percentage> taken: <percentage> notTaken: <percentage> both: <percentage> execCount: <>- ...
where:
true, coverage is recordedtrue, coverage of all function is recorded, not only of those added in statistics section.none - no merging is performed.siblingsOnly - only siblings of this test case, which have already been executed, are used as filter input.siblingsAndParent - only siblings and parent of this test case, which have already been executed, are used as filter input.all - all test cases which have been executed up to this point are used as filter inputHTML - specifies HTML export format.Text - specifies text export format.CSV - specifies CSV export format.XML - specifies XML export format.Review (HTML) - deprecated.Review (Text) - deprecated.exportFormat.true, information about assembly level coverage will be provided.true, lines coverage for modules will be exported.true, lines coverage for modules will be exported.
coverage:
isActive: true
exportFormat: HTML
exportFile: testExport.html
statistics:
- func: max_int
code: 96
sourceLines: 85
branches: 100
notTaken: 100
profiler:isActive: <true | false> isMeasureAllFunctions: <true | false> exportFormat: <Text | XML | CSV | Text1 | XMLBinaryTimeline | BTF | MDF> exportFile: <> isExportActiveOnly: <true | false> isProfileAUX: <true | false> isSaveHistory: <true | false> codeAreas:- name: <funcName or varName> value: <stateValue> netTime:- ... dataAreas:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]- name: <funcName or varName> value: <stateValue> netTime:- ...min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]
where:
true, profiling data is recordedtrue, profiling data of all function is recorded, not only of those added in code areas.Text - specifies text export format.XML - specifies XML export format.CSV - specifies CSV export format.Text1 - specifies Text1 export format.XMLBinaryTimeline - specifies XML export format for statistics, binary file for timeline.BTF - specifies BTF export format.MDF - specifies MDF export format.exportFormat.true, AUX signals will be recorded.true, profiler timeline results will be saved after test.
analyzer:
profiler:
isActive: true
exportFormat: XML
exportFile: profilerExport.xml
isSaveHistory: true
codeAreas:
- name: 'max_int'
netTime:
min:
- 6000
- 8000
max:
- 6000
- 8000
total:
- 6500
- 8000
grossTime:
total:
- 6000
hits:
- 1
- 1
codeAreas:- name: <funcName or varName> value: <stateValue> netTime:- ...min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]
where:
netTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]
where:
grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]
where:
callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]
where:
periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]
where:
outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]
where:
dataAreas:- name: <funcName or varName> value: <stateValue> netTime:- ...min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]grossTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]callTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]periodTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]outsideTime:min: [<lowerBound>, <upperBound>] minStart: [<lowerBound>, <upperBound>] minEnd: [<lowerBound>, <upperBound>] max: [<lowerBound>, <upperBound>] maxStart: [<lowerBound>, <upperBound>] maxEnd: [<lowerBound>, <upperBound>] total: [<lowerBound>, <upperBound>] average: [<lowerBound>, <upperBound>]hits: [<number>, ...]
where:
hil:
params: {<hilParamName>: <hilParamValue>, ...}
where:
hil:
params:
DigitalOut.DOUT0: HIGH
dryRun:
assign: {<hostVarName>: <expression>, ...}
isUpdateCoverage: <true | false>
isUpdateProfiler: <true | false>
profilerMultiplier: <>
profilerOffset: <>
where:
diagrams:isActive: <true | false> diagrams:- isActive: <true | false> diagramType: <flowchart | sequenceDiagram | callgraph | staticCallGraph | flamegraph | custom | customAsync> script: <scriptName.py> params: [<arg1>, ...] outFile: <fileName> isAddToReport: <true | false> viewer: <multiPage | singlePage | externalApp | none> dataFormat: <byExtension | bitmap | SVG> externalViewer: <pathToApp>- ...
where:
diagrams:- isActive: <true | false> diagramType: <flowchart | sequenceDiagram | callgraph | staticCallGraph | flamegraph | custom | customAsync> script: <scriptName.py> params: [<arg1>, ...] outFile: <fileName> isAddToReport: <true | false> viewer: <multiPage | singlePage | externalApp | none> dataFormat: <byExtension | bitmap | SVG> externalViewer: <pathToApp>- ...
where:
flowchart - /undefined/sequenceDiagram - built-in sequence diagram based on analyzer recording is drawn. Use testIDEA to properly configure analyzer.callgraph - /undefined/staticCallGraph - built-in call graph based on static object code analysis.flamegraph - /undefined/custom - custom specified script is called to create a diagram.customAsync - custom specified script is called asynchronously to create a diagram. These diagrams can not be included in reports.multiPage - testIDEA opens diagram in multipage window.singlePage - testIDEA opens diagram in single-page window.externalApp - testIDEA opens diagram in external application.none - testIDEA opens diagram only in section Diagrams.byExtension - display format is determined on extension: svg, csv, txt, png, jpg, jpeg, bmpbitmap - one of bitmap formats (jpg, bmp, ...)SVG - SVG format