// 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 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; }