| // Copyright (C) 2018 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // [START declaration] |
| syntax = "proto3"; |
| package com_android_cts_apicoverage; |
| // [END declaration] |
| |
| // [START java_declaration] |
| option java_package = "com.android.cts.apicoverage"; |
| option java_outer_classname = "TestSuiteProto"; |
| // [END java_declaration] |
| |
| // [START messages] |
| message Option { |
| string name = 1; |
| string key = 2; |
| string value =3; |
| } |
| |
| message ConfigMetadata { |
| string module_name = 1; |
| string component = 2; |
| repeated Option options = 3; |
| |
| message TargetPreparer { |
| string test_class = 1; |
| repeated Option options = 2; |
| } |
| repeated TargetPreparer target_preparers = 4; |
| |
| message TestClass { |
| string test_class = 1; |
| string package = 2; |
| repeated Option options = 3; |
| } |
| repeated TestClass test_classes = 5; |
| } |
| |
| message Annotation { |
| int32 visibility = 1; |
| string type = 2; |
| |
| message Element { |
| string name = 1; |
| string value = 2; |
| } |
| repeated Element elements = 3; |
| } |
| |
| message TestSuite { |
| string name = 1; |
| |
| message Package { |
| string name = 1; |
| |
| enum Type { |
| ANDROIDJUNIT = 0; |
| JAVAHOST = 1; |
| GTEST = 2; |
| DEQP = 3; |
| LIBCORE = 4; |
| DALVIK = 5; |
| } |
| Type type = 2; |
| |
| message Class { |
| string name = 1; |
| string type = 2; |
| string super_class = 3; |
| string interface = 4; |
| |
| enum ClassType { |
| UNKNOWN = 0; |
| JUNIT3 = 1; |
| JUNIT4 = 2; |
| PARAMETERIZED = 3; |
| JAVAHOST = 4; |
| } |
| |
| ClassType class_type = 5; |
| repeated Annotation annotations = 6; |
| |
| message Method { |
| string defining_class = 1; |
| string name = 2; |
| string parameters = 3; |
| string return_type = 4; |
| int32 access_flags = 5; |
| repeated Annotation annotations = 6; |
| } |
| repeated Method methods = 7; |
| |
| message Field { |
| string defining_class = 1; |
| string name = 2; |
| string type = 3; |
| int32 access_flags = 4; |
| string initial_value = 5; |
| repeated Annotation annotations = 6; |
| } |
| repeated Field fields = 8; |
| string apk = 9; |
| } |
| repeated Class classes = 3; |
| string op_codes = 4; |
| } |
| repeated Package packages = 2; |
| } |
| |
| // target File Metadata for e.g. config, apk, jar, exe, so |
| message FileMetadata { |
| string description = 1; |
| ConfigMetadata config_metadata = 2; |
| } |
| |
| // An entry in a Test Suire Release messages: cts, etc. |
| message Entry { |
| // Entry ID |
| string id = 1; |
| // Name |
| string name = 2; |
| |
| enum EntryType { |
| FOLDER = 0; |
| FILE = 1; |
| CONFIG = 2; |
| JAR = 3; |
| APK = 4; |
| EXE = 5; |
| SO = 6; |
| } |
| |
| // Type |
| EntryType type = 3; |
| // Size |
| int64 size = 4; |
| // Content ID |
| string content_id = 5; |
| // Parent entry ID |
| string parent_id = 6; |
| // Relative path |
| string relative_path = 7; |
| |
| FileMetadata file_metadata = 8; |
| } |
| |
| // Test Suite Release: cts, etc. |
| message TestSuiteContent { |
| // Entry ID |
| string id = 1; |
| // Name |
| string name = 2; |
| // Version |
| string version = 3; |
| // Build ID |
| string bid = 4; |
| // Content ID |
| string content_id = 5; |
| // File Entries |
| repeated Entry file_entries = 6; |
| repeated string known_failures = 7; |
| } |
| // [END messages] |