blob: 5007c698d79a0cd09b3009f8bf8f41155da07ec1 [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.
// Contains proto definition for storing CTS reports.
syntax = "proto2";
package com.android.cts.apicoverage;
option java_package = "com.android.cts.apicoverage";
option java_outer_classname = "CtsReportProto";
// from common_report.proto
// Information about the build on the phone. All the fields
// correspond to values from android.os.Build.
// Next Id: 20
message BuildInfo {
optional string board = 1;
optional string brand = 2;
optional string device = 3;
optional string display = 4;
optional string fingerprint = 5;
optional string id = 6;
optional string model = 7;
optional string product = 8;
message Version {
optional string release = 1;
optional string sdk = 2;
}
optional Version version = 9;
optional string manufacturer = 10;
// This field is deprecated in android.os.Build. Use supported_abi instead.
optional string abi = 11 [deprecated = true];
// This field is deprecated in android.os.Build. Use supported_abi instead.
optional string abi2 = 12 [deprecated = true];
repeated string supported_abi = 13;
repeated string supported_32_bit_abi = 14;
repeated string supported_64_bit_abi = 15;
// Build.BASE_OS The base OS build the product is based on. See b/23003940
optional string base_os = 16;
// Build.SECURITY_PATCH The user-visible security patch level. See b/23003940
optional string security_patch = 17;
// A build fingerprint of the reference device. See go/apfe-reference-build
optional string reference_build_fingerprint = 18;
// RO Property set for the build.
map<string, string> ro_property_map = 19;
}
// Summary count of the test results.
message Summary {
optional int32 failed = 1;
optional int32 not_executed = 2;
optional int32 pass = 3;
optional int32 timeout = 4;
optional int32 warning = 5;
}
// Information about the device's memory configuration
message MemoryInfo {
// ActivityManager.isLowRamDevice
optional bool is_low_ram_device = 1;
// ActivityManager.getMemoryClass()
optional int32 memory_class = 2;
// ActivityManager.getLargeMemoryClass()
optional int32 large_memory_class = 3;
// MemoryInfo.totalMem
optional int64 total_memory = 4;
}
message CpuInfo {
// Runtime.availableProcessors
optional int32 available_processors = 1;
}
// from common_report.proto ends
// Logical screen density
// The numbers are in dpi and should match android.util.DisplayMetrics.DENSITY_*
enum LogicalDensity {
LDPI = 120;
DENSITY_140 = 140;
MDPI = 160;
DENSITY_180 = 180;
DENSITY_200 = 200;
TVDPI = 213;
DENSITY_220 = 220;
HDPI = 240;
DENSITY_260 = 260;
DENSITY_280 = 280;
DENSITY_300 = 300;
XHDPI = 320;
DENSITY_340 = 340;
DENSITY_360 = 360;
// Intermediate density for screens that sit somewhere between DENSITY_XHIGH (320 dpi) and
// DENSITY_XXHIGH (480 dpi).
DENSITY_400 = 400;
DENSITY_420 = 420;
DENSITY_440 = 440;
XXHDPI = 480;
// Intermediate density for screens that sit somewhere between DENSITY_XXHIGH (480 dpi) and
// DENSITY_XXXHIGH (640 dpi).
DENSITY_560 = 560;
DENSITY_600 = 600;
XXXHDPI = 640;
}
// Logical screen size
// The numbers should match
// android.content.res.Configuration.SCREENLAYOUT_SIZE_*
enum LogicalSize {
UNDEFINED = 0;
SMALL = 1;
NORMAL = 2;
LARGE = 3;
XLARGE = 4;
}
// Result type of PTS tests defined in:
// cts/suite/pts/lib/commonutil/src/com/android/pts/util/ResultType.java
enum ResultType {
LOWER_BETTER = 0;
HIGHER_BETTER = 1;
NEUTRAL = 2;
WARNING = 3;
}
// Result unit of PTS values defined in:
// cts/suite/pts/lib/commonutil/src/com/android/pts/util/ResultUnit.java
enum ResultUnit {
NONE = 0;
MS = 1;
FPS = 2;
OPS = 3;
KBPS = 4;
MBPS = 5;
BYTE = 6;
COUNT = 7;
SCORE = 8;
}
// A CtsReport message encapsulates the output of a Compatibility Test Suite
// (CTS) run.
message CtsReport {
// Test plan that was run, generally "CTS".
optional string test_plan = 1;
// Version of the CTS tool.
optional string version = 2;
optional int64 start_time = 3;
optional int64 end_time = 4;
// Fields describing the particular device under test.
// Next Id: 32
message DeviceInfo {
optional string screen_resolution = 1;
optional LogicalDensity logical_screen_density = 17;
optional LogicalSize logical_screen_size = 18;
optional string subscriber_id = 2 [deprecated = true];
optional string type = 3 [deprecated = true];
optional string device_id = 4 [deprecated = true];
optional string imei = 5 [deprecated = true];
optional string imsi = 6 [deprecated = true];
optional string keypad = 7;
repeated string locale = 8;
optional string navigation = 9;
optional string network = 10 [deprecated = true];
optional string touch = 11;
optional float x_dpi = 12;
optional float y_dpi = 13;
optional string opengl_es_version = 19;
// Use BuildInfo.supported_abi instead
optional string build_abi = 20 [deprecated = true];
// Use BuildInfo.supported_abi instead
optional string build_abi2 = 21 [deprecated = true];
optional BuildInfo build_info = 14;
optional MemoryInfo memory_info = 29;
optional CpuInfo cpu_info = 30;
// Filesystem partitions.
optional string partitions = 22;
repeated string system_library = 23;
// Deprecated. These values are found in the extension list
repeated string opengl_texture_format = 24 [deprecated = true];
// GLES20.GL_EXTENSIONS, GL10.GL_EXTENSIONS or GLES30.GL_EXTENSIONS
repeated string opengl_extension = 25;
// gl.glGetString(GL10.GL_VENDOR) or GLES20.glGetString(GLES20.GL_VENDOR)
// or GLES30.glGetString(GLES30.GL_VENDOR)
optional string opengl_vendor = 26;
// gl.glGetString(GL10.GL_RENDERER)
// or GLES20.glGetString(GLES20.GL_RENDERER)
// or GLES30.glGetString(GLES30.GL_RENDERER)
optional string opengl_renderer = 27;
// Hardware features that may be available on the device.
// This includes features such as camera, gps and compass.
message Feature {
optional string name = 1;
optional string type = 2;
optional bool available = 3;
optional int32 version = 4;
}
repeated Feature feature = 15;
// Running processes.
message Process {
optional string name = 1;
optional int32 uid = 2;
}
repeated Process process = 16;
// Configuration.smallestScreenWidthDp
optional int32 smallest_screen_width_dp = 28;
// The value reported from UserManager.getMaxSupportedUsers
optional int32 max_supported_users = 31;
}
optional DeviceInfo device_info = 5;
// Information about the host running the test suite.
message HostInfo {
// Hostname of the machine running the tests.
optional string hostname = 1;
// Operating system running on the host.
message Os {
optional string arch = 1;
optional string name = 2;
optional string version = 3;
}
optional Os os = 2;
// Information about the JRE used to run the tests.
message JavaEnv {
optional string name = 1;
optional string version = 2;
}
optional JavaEnv java_env = 3;
// CTS version and parameters during runtime.
message Cts {
optional string version = 1;
message Parameter {
optional string name = 1;
optional int32 value = 2;
}
repeated Parameter parameter = 2;
}
optional Cts cts = 4;
}
optional HostInfo host_info = 6;
optional Summary summary = 7;
// Group of test suites within a specific java package.
message TestPackage {
// Java package name.
optional string deprecated_app_package_name = 1 [deprecated = true];
// Unique name describing the test package within the java package.
optional string name = 2;
optional string deprecated_digest = 3 [deprecated = true];
optional bool deprecated_signature_check = 4 [deprecated = true];
// Group of test cases.
message TestSuite {
// Unique name describing the test suite within the test package.
optional string name = 1;
// Group of individual tests.
message TestCase {
// Unique name describing the test case within the test suite.
optional string name = 1;
optional string priority = 2;
// Smallest test unit, which ideally tests only one feature or function.
message Test {
// Unique name describing the test within the test case.
optional string name = 1;
// Result of the test run.
optional string result = 2;
// Bug id for known issues.
optional string deprecated_known_failure = 3 [deprecated = true];
// Time this test was started.
optional int64 deprecated_start_time = 4 [deprecated = true];
// Time this test completed.
optional int64 deprecated_end_time = 5 [deprecated = true];
// Captures an exception thrown during the test.
message FailedScene {
optional string exception_message = 1;
optional string stack_trace = 2;
}
repeated FailedScene failed_scene = 6;
// Summary of the PTS test.
message Summary {
optional string message = 1;
optional ResultType score_type = 2;
optional ResultUnit unit = 3;
optional double value = 4;
}
optional Summary summary = 7;
// Details of the PTS test.
message Details {
// Set of values captured when running the PTS test.
message ValueArray {
optional string source = 1;
optional string message = 2;
optional ResultType score_type = 3;
optional ResultUnit unit = 4;
repeated double value = 5;
}
repeated ValueArray value_array = 1;
}
optional Details details = 8;
}
repeated Test test = 3;
}
repeated TestCase test_case = 2;
}
repeated TestSuite test_suite = 5;
// abi specifies the ABI the test ran under like "armeabi".
optional string abi = 6;
}
repeated TestPackage test_package = 8;
}