blob: d7c64de935c56d0dbaccf1ad1f5f0d70bc3c7490 [file] [log] [blame]
Sam Lin96dafd02018-01-08 00:15:37 -08001// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// [START declaration]
16syntax = "proto3";
17package com_android_cts_apicoverage;
18// [END declaration]
19
20// [START java_declaration]
21option java_package = "com.android.cts.apicoverage";
22option java_outer_classname = "TestSuiteProto";
23// [END java_declaration]
24
25// [START messages]
Sam Linaa54e322018-01-10 07:00:34 -080026message Option {
27 string name = 1;
28 string key = 2;
29 string value =3;
30}
31
32message ConfigMetadata {
33 string module_name = 1;
34 string component = 2;
35 repeated Option options = 3;
36
37 message TargetPreparer {
38 string test_class = 1;
39 repeated Option options = 2;
40 }
41 repeated TargetPreparer target_preparers = 4;
42
43 message TestClass {
44 string test_class = 1;
45 string package = 2;
46 repeated Option options = 3;
47 }
48 repeated TestClass test_classes = 5;
49}
50
Sam Lin2fae90d2018-01-20 10:52:27 -080051message Annotation {
52 int32 visibility = 1;
53 string type = 2;
54
55 message Element {
56 string name = 1;
57 string value = 2;
58 }
59 repeated Element elements = 3;
60}
61
62message TestSuite {
63 string name = 1;
64
65 message Package {
66 string name = 1;
67
Sam Lind8589ad2018-01-21 23:04:37 -080068 enum Type {
69 ANDROIDJUNIT = 0;
70 JAVAHOST = 1;
71 GTEST = 2;
72 DEQP = 3;
73 LIBCORE = 4;
74 DALVIK = 5;
75 }
76 Type type = 2;
77
Sam Lin2fae90d2018-01-20 10:52:27 -080078 message Class {
79 string name = 1;
80 string type = 2;
81 string super_class = 3;
82 string interface = 4;
83
Sam Lind8589ad2018-01-21 23:04:37 -080084 enum ClassType {
Sam Lin2fae90d2018-01-20 10:52:27 -080085 UNKNOWN = 0;
86 JUNIT3 = 1;
87 JUNIT4 = 2;
88 PARAMETERIZED = 3;
89 JAVAHOST = 4;
Sam Lin2fae90d2018-01-20 10:52:27 -080090 }
Sam Lind8589ad2018-01-21 23:04:37 -080091
92 ClassType class_type = 5;
Sam Lin2fae90d2018-01-20 10:52:27 -080093 repeated Annotation annotations = 6;
94
95 message Method {
96 string defining_class = 1;
97 string name = 2;
98 string parameters = 3;
99 string return_type = 4;
100 int32 access_flags = 5;
101 repeated Annotation annotations = 6;
102 }
103 repeated Method methods = 7;
104
105 message Field {
106 string defining_class = 1;
107 string name = 2;
108 string type = 3;
109 int32 access_flags = 4;
110 string initial_value = 5;
111 repeated Annotation annotations = 6;
112 }
113 repeated Field fields = 8;
114 string apk = 9;
115 }
Sam Lind8589ad2018-01-21 23:04:37 -0800116 repeated Class classes = 3;
117 string op_codes = 4;
Sam Lin2fae90d2018-01-20 10:52:27 -0800118 }
119 repeated Package packages = 2;
120}
121
Sam Linaa54e322018-01-10 07:00:34 -0800122// target File Metadata for e.g. config, apk, jar, exe, so
123message FileMetadata {
124 string description = 1;
125 ConfigMetadata config_metadata = 2;
126}
127
Sam Lin96dafd02018-01-08 00:15:37 -0800128// An entry in a Test Suire Release messages: cts, etc.
129message Entry {
130 // Entry ID
131 string id = 1;
132 // Name
133 string name = 2;
134
135 enum EntryType {
136 FOLDER = 0;
137 FILE = 1;
138 CONFIG = 2;
139 JAR = 3;
140 APK = 4;
141 EXE = 5;
142 SO = 6;
143 }
144
145 // Type
146 EntryType type = 3;
147 // Size
148 int64 size = 4;
149 // Content ID
150 string content_id = 5;
151 // Parent entry ID
152 string parent_id = 6;
153 // Relative path
154 string relative_path = 7;
Sam Linaa54e322018-01-10 07:00:34 -0800155
156 FileMetadata file_metadata = 8;
Sam Lin96dafd02018-01-08 00:15:37 -0800157}
158
Sam Linaa54e322018-01-10 07:00:34 -0800159// Test Suite Release: cts, etc.
Sam Lin96dafd02018-01-08 00:15:37 -0800160message TestSuiteContent {
161 // Entry ID
162 string id = 1;
163 // Name
164 string name = 2;
165 // Version
166 string version = 3;
167 // Build ID
168 string bid = 4;
169 // Content ID
170 string content_id = 5;
171 // File Entries
172 repeated Entry file_entries = 6;
Sam Lind8589ad2018-01-21 23:04:37 -0800173 repeated string known_failures = 7;
Sam Lin96dafd02018-01-08 00:15:37 -0800174}
175// [END messages]