• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1syntax = "proto2";
2
3// Modified form of proto used for TestTracker.
4
5// The Result is the base proto for describing Results that can be stored
6// for writing to disk or uploading to a system.
7
8// Example:
9// name: "Test Case"
10// uuid: "d9e80ae6-dfa9-4713-9cc6-26231ff58f4b"
11// description: "This is sample test case"
12// detail: "This is really long text blob (test tracker test case text)"
13// status: PASSED
14
15// Each Property a key/value pair with a type based on the oneof field.
16// The default should be a string.
17message Property {
18  optional string name = 1;
19  // Reserved <100 for use with concrete fields.
20  oneof value {
21    // String representation of the property.
22    string string_value = 101;
23    // Integer(always use int64) representation of the property.
24    int64 int_value = 102;
25    // Floating(always use double) point representation of the property.
26    double double_value = 103;
27    // The json_value is a special case of string - this just signals the caller
28    // that the value should be parsable via json.
29    string json_value = 104;
30    // Boolean representation of the property.
31    bool bool_value = 105;
32    // Byte representation of the property.
33    bytes byte_value = 106;
34  }
35}
36
37// A Result contains information about the each piece of the report.
38// Status enum's define the state of a particular result.
39// In a perfect world everything will be PASSED.
40//
41message Result {
42  enum Status {
43    STATUS_UNKNOWN = 0;
44    PASSED = 1;       // Completed and all operators are evaluated to True.
45    FAILED = 2;       // Completed and at least one operator has failed.
46    ERROR = 3;        // Completed but there was an error reported.
47                      // 'code' should be assigned with the exact status.
48    INTERRUPTED = 4;  // The operation was initiated but did not complete.
49                      // This could be caused by a timeout or
50                      // by a user requesting cancellation mid-way.
51    CANCELLED = 5;    // Same as interrupted but did not start.
52    FILTERED = 6;     // Scheduled but some precondition caused it to be
53                      // removed from schedule.
54    SKIPPED = 7;      // Scheduled but was administratively skipped.
55    SUPPRESSED = 8;   // Flaky and we don't want it be official.
56    BLOCKED = 9;      // Test blocked by other test(s).
57    TBR = 17;         // To be reviewed, test requires additional result
58                      // assessment.
59  }
60
61  // Name of the result in the tree.
62  optional string name = 1;
63  optional string uuid = 2;         // uuid
64  optional string description = 3;  // Text blob about the result.
65  optional string detail = 4;       // Detailed text about the result.
66  // Key/Value Property pairs.
67  // If duplicate keys are presented the last value is taken.
68  repeated Property property = 5;  // Key/Value Property pairs.
69  // Time in ISO UTC (http://en.wikipedia.org/wiki/ISO_8601).
70  // This is the start of the result.
71  optional string timestamp = 10;
72  // Status defines the current state of this result.
73  optional Status status = 13 [default = STATUS_UNKNOWN];
74}