blob: d7c64de935c56d0dbaccf1ad1f5f0d70bc3c7490 [file] [log] [blame]
// 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]