Skip to content
Nozomi Ito edited this page May 9, 2016 · 17 revisions

RunResults is [Sahagin intermediate data](Intermediate data format). RunResults parent directory name must be "runResults".

RunResults Definition

RunResults consist of many YAML files. All ancestor files under the RunResults parent directory are handled as YAML files whose contents represent the root method run result. The file for the not executed or skipped test is not required.

Root method run result file

YAML format for the root method run result file is as below:

formatVersion: <version number>
rootMethodKey: <method key>
runFailures:
- <RunFailure definition>
- <RunFailure definition>
- ...
lineScreenCaptures:
- <LineScreenCapture definition>
- <LineScreenCapture definition>
- ...
executionTime: <execution time>
key detail
formatVersion The format specification version number of this YAML file.
See the one of SrcTree definition for detail.
  • type: string
  • required: Yes
rootMethodKey Unique key of the executed root method.
  • type: string
  • required: Yes
runFailures List of run failure information such as the error message and the error line. Currently, the length of this list must be 1 or 0. (multiple failures are not supported yet)
lineScreenCaptures List of screen capture files and code line informations.
This includes run failure screen capture information.
executionTime The total millisecond time spent to execute this root method.
  • type: integer
  • required: No (But current Sahagin-Java implementation always requires this entry..)

RunFailure definition

message: <error message>
stackTrace: <error stack trace string>
stackLines:
- <StackLine definition>
- <StackLine definition>
- ...
key detail
message Error message string for this run failure.
  • type: string
  • required: No
stackTrace Stack trace string for this run failure.
The format of this string is arbitrary.
  • type: string
  • required: No
stackLines Structured stack trace information of this run failure.
The top element of this list represents the stack top code line, which is most recently called code line.
If some lines in the failure stack trace do not exist in SrcTree (this is often the case), they are ignored or skipped, and only lines which exist in SrcTree are added to "stackLines".

LineScreenCapture definition

LineScreenCapture is the pair of the screen capture file path and code line the screen capture has been taken.

path: <path to screen capture file>
stackLines:
- <StackLine definition>
- <StackLine definition>
- ...
executionTime: <execution time>
key detail
path Absolute path to screen capture file. Don't specify relative path since RunResults directory can be moved or copied.
The screen capture should be taken after the code line action has been executed, not before.
  • type: string
  • required: Yes
stackLines Structured stack trace information for the code line this screen capture has been taken.
The top element of this list represents the stack top code line, which is most recently called code line.
If some lines in the stack trace do not exist in SrcTree (this is often the case), these lines are ignored or skipped, and only lines which exist in SrcTree are added to "stackLines".
executionTime The total millisecond time spent to execute this line.
  • type: integer
  • required: No (But current Sahagin-Java implementation always requires this entry..)

StackLine definition

StackLine is the code line for the method body specified by the method key and its code body index.

methodKey: <method key>
codeBodyIndex: <method code body index>
line: <code line number>
key detail
methodKey Unique key of the method whose code body contains this StackLine.
  • type: string
  • required: Yes
codeBodyIndex The method code body index for this StackLine.
  • type: integer
  • required: Yes
line Source code line number of this StackLine. This number starts with 1.
  • type: integer
  • required: Yes

Clone this wiki locally