[automerger skipped] DO NOT MERGE Update VTS tag version to V11_R17 am: b938c77c5b -s ours am: 21e923b859 -s ours am: e39cde2e19 -s ours
am skip reason: contains skip directive
Original change: https://android-review.googlesource.com/c/platform/test/vts/+/3031728
Change-Id: Iea3e4472a54214c8a72db2a2299af6ae636f0117
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/compilation_tools/vtsc/VtsCompilerUtils.h b/compilation_tools/vtsc/VtsCompilerUtils.h
index 344ce9d..7e265a0 100644
--- a/compilation_tools/vtsc/VtsCompilerUtils.h
+++ b/compilation_tools/vtsc/VtsCompilerUtils.h
@@ -17,9 +17,10 @@
#ifndef VTS_COMPILATION_TOOLS_VTSC_CODE_UTILS_H_
#define VTS_COMPILATION_TOOLS_VTSC_CODE_UTILS_H_
-#include <string>
-
#include <hidl-util/FQName.h>
+#include <sys/types.h>
+
+#include <string>
#include "test/vts/proto/ComponentSpecificationMessage.pb.h"
diff --git a/proto/AndroidSystemControlMessage.proto b/proto/AndroidSystemControlMessage.proto
index de66640..f40125e 100644
--- a/proto/AndroidSystemControlMessage.proto
+++ b/proto/AndroidSystemControlMessage.proto
@@ -176,8 +176,8 @@
// coverage measurement data.
optional bytes result = 1004;
- repeated bytes stdout = 2001;
- repeated bytes stderr = 2002;
+ repeated bytes stdout_str = 2001;
+ repeated bytes stderr_str = 2002;
repeated int32 exit_code = 2003;
// read data and return value from FMQ driver
diff --git a/proto/AndroidSystemControlMessage_pb2.py b/proto/AndroidSystemControlMessage_pb2.py
index f19d73b..8ab0f5f 100644
--- a/proto/AndroidSystemControlMessage_pb2.py
+++ b/proto/AndroidSystemControlMessage_pb2.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: AndroidSystemControlMessage.proto
@@ -8,7 +9,6 @@
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
@@ -22,10 +22,10 @@
name='AndroidSystemControlMessage.proto',
package='android.vts',
syntax='proto2',
- serialized_pb=_b('\n!AndroidSystemControlMessage.proto\x12\x0b\x61ndroid.vts\x1a#ComponentSpecificationMessage.proto\x1a\"VtsResourceControllerMessage.proto\"\x80\x06\n\"AndroidSystemControlCommandMessage\x12.\n\x0c\x63ommand_type\x18\x01 \x01(\x0e\x32\x18.android.vts.CommandType\x12\x0e\n\x05paths\x18\xe9\x07 \x03(\x0c\x12\x16\n\rcallback_port\x18\xcd\x08 \x01(\x05\x12\x15\n\x0cservice_name\x18\xd1\x0f \x01(\x0c\x12\x30\n\x0b\x64river_type\x18\xb9\x17 \x01(\x0e\x32\x1a.android.vts.VtsDriverType\x12\x12\n\tfile_path\x18\xba\x17 \x01(\x0c\x12\r\n\x04\x62its\x18\xbb\x17 \x01(\x05\x12\x15\n\x0ctarget_class\x18\xbc\x17 \x01(\x05\x12\x14\n\x0btarget_type\x18\xbd\x17 \x01(\x05\x12\x1b\n\x0etarget_version\x18\xbe\x17 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x0bmodule_name\x18\xbf\x17 \x01(\x0c\x12\x17\n\x0etarget_package\x18\xc0\x17 \x01(\x0c\x12\x1e\n\x15target_component_name\x18\xc1\x17 \x01(\x0c\x12!\n\x14target_version_major\x18\xc2\x17 \x01(\x05:\x02-1\x12!\n\x14target_version_minor\x18\xc3\x17 \x01(\x05:\x02-1\x12\x14\n\x0bis_test_hal\x18\xc4\x17 \x01(\x08\x12\x1f\n\x16hw_binder_service_name\x18\xcd\x17 \x01(\x0c\x12\x0c\n\x03\x61rg\x18\xa1\x1f \x01(\x0c\x12\x1a\n\x11\x64river_caller_uid\x18\x85 \x01(\x0c\x12\x16\n\rshell_command\x18\x89\' \x03(\x0c\x12\x34\n\x0b\x66mq_request\x18\xf1. \x01(\x0b\x32\x1e.android.vts.FmqRequestMessage\x12\x43\n\x13hidl_memory_request\x18\xf2. \x01(\x0b\x32%.android.vts.HidlMemoryRequestMessage\x12\x43\n\x13hidl_handle_request\x18\xf3. \x01(\x0b\x32%.android.vts.HidlHandleRequestMessage\"\x99\x03\n#AndroidSystemControlResponseMessage\x12\x30\n\rresponse_code\x18\x01 \x01(\x0e\x32\x19.android.vts.ResponseCode\x12\x0f\n\x06reason\x18\xe9\x07 \x01(\x0c\x12\x13\n\nfile_names\x18\xea\x07 \x03(\x0c\x12\r\n\x04spec\x18\xeb\x07 \x01(\x0c\x12\x0f\n\x06result\x18\xec\x07 \x01(\x0c\x12\x0f\n\x06stdout\x18\xd1\x0f \x03(\x0c\x12\x0f\n\x06stderr\x18\xd2\x0f \x03(\x0c\x12\x12\n\texit_code\x18\xd3\x0f \x03(\x05\x12\x36\n\x0c\x66mq_response\x18\xb9\x17 \x01(\x0b\x32\x1f.android.vts.FmqResponseMessage\x12\x45\n\x14hidl_memory_response\x18\xba\x17 \x01(\x0b\x32&.android.vts.HidlMemoryResponseMessage\x12\x45\n\x14hidl_handle_response\x18\xbb\x17 \x01(\x0b\x32&.android.vts.HidlHandleResponseMessage\"w\n#AndroidSystemCallbackRequestMessage\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\x0c\x12\x36\n\x03\x61rg\x18\x0b \x03(\x0b\x32).android.vts.VariableSpecificationMessage\"X\n$AndroidSystemCallbackResponseMessage\x12\x30\n\rresponse_code\x18\x01 \x01(\x0e\x32\x19.android.vts.ResponseCode*\xf7\x02\n\x0b\x43ommandType\x12\x18\n\x14UNKNOWN_COMMAND_TYPE\x10\x00\x12\r\n\tLIST_HALS\x10\x01\x12\x11\n\rSET_HOST_INFO\x10\x02\x12\x08\n\x04PING\x10\x03\x12\x18\n\x14\x43HECK_DRIVER_SERVICE\x10\x65\x12\x19\n\x15LAUNCH_DRIVER_SERVICE\x10\x66\x12(\n$VTS_AGENT_COMMAND_READ_SPECIFICATION\x10g\x12\x0e\n\tLIST_APIS\x10\xc9\x01\x12\r\n\x08\x43\x41LL_API\x10\xca\x01\x12$\n\x1fVTS_AGENT_COMMAND_GET_ATTRIBUTE\x10\xcb\x01\x12,\n\'VTS_AGENT_COMMAND_EXECUTE_SHELL_COMMAND\x10\xad\x02\x12\x14\n\x0fVTS_FMQ_COMMAND\x10\x91\x03\x12\x1c\n\x17VTS_HIDL_MEMORY_COMMAND\x10\x92\x03\x12\x1c\n\x17VTS_HIDL_HANDLE_COMMAND\x10\x93\x03*@\n\x0cResponseCode\x12\x19\n\x15UNKNOWN_RESPONSE_CODE\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x08\n\x04\x46\x41IL\x10\x02*\xfd\x01\n\rVtsDriverType\x12\x1a\n\x16UKNOWN_VTS_DRIVER_TYPE\x10\x00\x12$\n VTS_DRIVER_TYPE_HAL_CONVENTIONAL\x10\x01\x12\x1e\n\x1aVTS_DRIVER_TYPE_HAL_LEGACY\x10\x02\x12\x1c\n\x18VTS_DRIVER_TYPE_HAL_HIDL\x10\x03\x12\x31\n-VTS_DRIVER_TYPE_HAL_HIDL_WRAPPED_CONVENTIONAL\x10\x04\x12\x1e\n\x1aVTS_DRIVER_TYPE_LIB_SHARED\x10\x0b\x12\x19\n\x15VTS_DRIVER_TYPE_SHELL\x10\x15')
+ serialized_options=None,
+ serialized_pb=_b('\n!AndroidSystemControlMessage.proto\x12\x0b\x61ndroid.vts\x1a#ComponentSpecificationMessage.proto\x1a\"VtsResourceControllerMessage.proto\"\x80\x06\n\"AndroidSystemControlCommandMessage\x12.\n\x0c\x63ommand_type\x18\x01 \x01(\x0e\x32\x18.android.vts.CommandType\x12\x0e\n\x05paths\x18\xe9\x07 \x03(\x0c\x12\x16\n\rcallback_port\x18\xcd\x08 \x01(\x05\x12\x15\n\x0cservice_name\x18\xd1\x0f \x01(\x0c\x12\x30\n\x0b\x64river_type\x18\xb9\x17 \x01(\x0e\x32\x1a.android.vts.VtsDriverType\x12\x12\n\tfile_path\x18\xba\x17 \x01(\x0c\x12\r\n\x04\x62its\x18\xbb\x17 \x01(\x05\x12\x15\n\x0ctarget_class\x18\xbc\x17 \x01(\x05\x12\x14\n\x0btarget_type\x18\xbd\x17 \x01(\x05\x12\x1b\n\x0etarget_version\x18\xbe\x17 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x0bmodule_name\x18\xbf\x17 \x01(\x0c\x12\x17\n\x0etarget_package\x18\xc0\x17 \x01(\x0c\x12\x1e\n\x15target_component_name\x18\xc1\x17 \x01(\x0c\x12!\n\x14target_version_major\x18\xc2\x17 \x01(\x05:\x02-1\x12!\n\x14target_version_minor\x18\xc3\x17 \x01(\x05:\x02-1\x12\x14\n\x0bis_test_hal\x18\xc4\x17 \x01(\x08\x12\x1f\n\x16hw_binder_service_name\x18\xcd\x17 \x01(\x0c\x12\x0c\n\x03\x61rg\x18\xa1\x1f \x01(\x0c\x12\x1a\n\x11\x64river_caller_uid\x18\x85 \x01(\x0c\x12\x16\n\rshell_command\x18\x89\' \x03(\x0c\x12\x34\n\x0b\x66mq_request\x18\xf1. \x01(\x0b\x32\x1e.android.vts.FmqRequestMessage\x12\x43\n\x13hidl_memory_request\x18\xf2. \x01(\x0b\x32%.android.vts.HidlMemoryRequestMessage\x12\x43\n\x13hidl_handle_request\x18\xf3. \x01(\x0b\x32%.android.vts.HidlHandleRequestMessage\"\xa1\x03\n#AndroidSystemControlResponseMessage\x12\x30\n\rresponse_code\x18\x01 \x01(\x0e\x32\x19.android.vts.ResponseCode\x12\x0f\n\x06reason\x18\xe9\x07 \x01(\x0c\x12\x13\n\nfile_names\x18\xea\x07 \x03(\x0c\x12\r\n\x04spec\x18\xeb\x07 \x01(\x0c\x12\x0f\n\x06result\x18\xec\x07 \x01(\x0c\x12\x13\n\nstdout_str\x18\xd1\x0f \x03(\x0c\x12\x13\n\nstderr_str\x18\xd2\x0f \x03(\x0c\x12\x12\n\texit_code\x18\xd3\x0f \x03(\x05\x12\x36\n\x0c\x66mq_response\x18\xb9\x17 \x01(\x0b\x32\x1f.android.vts.FmqResponseMessage\x12\x45\n\x14hidl_memory_response\x18\xba\x17 \x01(\x0b\x32&.android.vts.HidlMemoryResponseMessage\x12\x45\n\x14hidl_handle_response\x18\xbb\x17 \x01(\x0b\x32&.android.vts.HidlHandleResponseMessage\"w\n#AndroidSystemCallbackRequestMessage\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\x0c\x12\x36\n\x03\x61rg\x18\x0b \x03(\x0b\x32).android.vts.VariableSpecificationMessage\"X\n$AndroidSystemCallbackResponseMessage\x12\x30\n\rresponse_code\x18\x01 \x01(\x0e\x32\x19.android.vts.ResponseCode*\xf7\x02\n\x0b\x43ommandType\x12\x18\n\x14UNKNOWN_COMMAND_TYPE\x10\x00\x12\r\n\tLIST_HALS\x10\x01\x12\x11\n\rSET_HOST_INFO\x10\x02\x12\x08\n\x04PING\x10\x03\x12\x18\n\x14\x43HECK_DRIVER_SERVICE\x10\x65\x12\x19\n\x15LAUNCH_DRIVER_SERVICE\x10\x66\x12(\n$VTS_AGENT_COMMAND_READ_SPECIFICATION\x10g\x12\x0e\n\tLIST_APIS\x10\xc9\x01\x12\r\n\x08\x43\x41LL_API\x10\xca\x01\x12$\n\x1fVTS_AGENT_COMMAND_GET_ATTRIBUTE\x10\xcb\x01\x12,\n\'VTS_AGENT_COMMAND_EXECUTE_SHELL_COMMAND\x10\xad\x02\x12\x14\n\x0fVTS_FMQ_COMMAND\x10\x91\x03\x12\x1c\n\x17VTS_HIDL_MEMORY_COMMAND\x10\x92\x03\x12\x1c\n\x17VTS_HIDL_HANDLE_COMMAND\x10\x93\x03*@\n\x0cResponseCode\x12\x19\n\x15UNKNOWN_RESPONSE_CODE\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x08\n\x04\x46\x41IL\x10\x02*\xfd\x01\n\rVtsDriverType\x12\x1a\n\x16UKNOWN_VTS_DRIVER_TYPE\x10\x00\x12$\n VTS_DRIVER_TYPE_HAL_CONVENTIONAL\x10\x01\x12\x1e\n\x1aVTS_DRIVER_TYPE_HAL_LEGACY\x10\x02\x12\x1c\n\x18VTS_DRIVER_TYPE_HAL_HIDL\x10\x03\x12\x31\n-VTS_DRIVER_TYPE_HAL_HIDL_WRAPPED_CONVENTIONAL\x10\x04\x12\x1e\n\x1aVTS_DRIVER_TYPE_LIB_SHARED\x10\x0b\x12\x19\n\x15VTS_DRIVER_TYPE_SHELL\x10\x15')
,
dependencies=[ComponentSpecificationMessage__pb2.DESCRIPTOR,VtsResourceControllerMessage__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_COMMANDTYPE = _descriptor.EnumDescriptor(
name='CommandType',
@@ -35,65 +35,65 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_COMMAND_TYPE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='LIST_HALS', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SET_HOST_INFO', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='PING', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CHECK_DRIVER_SERVICE', index=4, number=101,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='LAUNCH_DRIVER_SERVICE', index=5, number=102,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_AGENT_COMMAND_READ_SPECIFICATION', index=6, number=103,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='LIST_APIS', index=7, number=201,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CALL_API', index=8, number=202,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_AGENT_COMMAND_GET_ATTRIBUTE', index=9, number=203,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_AGENT_COMMAND_EXECUTE_SHELL_COMMAND', index=10, number=301,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_FMQ_COMMAND', index=11, number=401,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_HIDL_MEMORY_COMMAND', index=12, number=402,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_HIDL_HANDLE_COMMAND', index=13, number=403,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
- serialized_start=1518,
- serialized_end=1893,
+ serialized_options=None,
+ serialized_start=1526,
+ serialized_end=1901,
)
_sym_db.RegisterEnumDescriptor(_COMMANDTYPE)
@@ -106,21 +106,21 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_RESPONSE_CODE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SUCCESS', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FAIL', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
- serialized_start=1895,
- serialized_end=1959,
+ serialized_options=None,
+ serialized_start=1903,
+ serialized_end=1967,
)
_sym_db.RegisterEnumDescriptor(_RESPONSECODE)
@@ -133,37 +133,37 @@
values=[
_descriptor.EnumValueDescriptor(
name='UKNOWN_VTS_DRIVER_TYPE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_DRIVER_TYPE_HAL_CONVENTIONAL', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_DRIVER_TYPE_HAL_LEGACY', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_DRIVER_TYPE_HAL_HIDL', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_DRIVER_TYPE_HAL_HIDL_WRAPPED_CONVENTIONAL', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_DRIVER_TYPE_LIB_SHARED', index=5, number=11,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_DRIVER_TYPE_SHELL', index=6, number=21,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
- serialized_start=1962,
- serialized_end=2215,
+ serialized_options=None,
+ serialized_start=1970,
+ serialized_end=2223,
)
_sym_db.RegisterEnumDescriptor(_VTSDRIVERTYPE)
@@ -208,168 +208,168 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='paths', full_name='android.vts.AndroidSystemControlCommandMessage.paths', index=1,
number=1001, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='callback_port', full_name='android.vts.AndroidSystemControlCommandMessage.callback_port', index=2,
number=1101, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='service_name', full_name='android.vts.AndroidSystemControlCommandMessage.service_name', index=3,
number=2001, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='driver_type', full_name='android.vts.AndroidSystemControlCommandMessage.driver_type', index=4,
number=3001, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='file_path', full_name='android.vts.AndroidSystemControlCommandMessage.file_path', index=5,
number=3002, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='bits', full_name='android.vts.AndroidSystemControlCommandMessage.bits', index=6,
number=3003, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_class', full_name='android.vts.AndroidSystemControlCommandMessage.target_class', index=7,
number=3004, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_type', full_name='android.vts.AndroidSystemControlCommandMessage.target_type', index=8,
number=3005, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_version', full_name='android.vts.AndroidSystemControlCommandMessage.target_version', index=9,
number=3006, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='module_name', full_name='android.vts.AndroidSystemControlCommandMessage.module_name', index=10,
number=3007, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_package', full_name='android.vts.AndroidSystemControlCommandMessage.target_package', index=11,
number=3008, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_component_name', full_name='android.vts.AndroidSystemControlCommandMessage.target_component_name', index=12,
number=3009, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_version_major', full_name='android.vts.AndroidSystemControlCommandMessage.target_version_major', index=13,
number=3010, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_version_minor', full_name='android.vts.AndroidSystemControlCommandMessage.target_version_minor', index=14,
number=3011, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='is_test_hal', full_name='android.vts.AndroidSystemControlCommandMessage.is_test_hal', index=15,
number=3012, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hw_binder_service_name', full_name='android.vts.AndroidSystemControlCommandMessage.hw_binder_service_name', index=16,
number=3021, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='arg', full_name='android.vts.AndroidSystemControlCommandMessage.arg', index=17,
number=4001, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='driver_caller_uid', full_name='android.vts.AndroidSystemControlCommandMessage.driver_caller_uid', index=18,
number=4101, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='shell_command', full_name='android.vts.AndroidSystemControlCommandMessage.shell_command', index=19,
number=5001, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='fmq_request', full_name='android.vts.AndroidSystemControlCommandMessage.fmq_request', index=20,
number=6001, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_memory_request', full_name='android.vts.AndroidSystemControlCommandMessage.hidl_memory_request', index=21,
number=6002, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_handle_request', full_name='android.vts.AndroidSystemControlCommandMessage.hidl_handle_request', index=22,
number=6003, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -393,91 +393,91 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='reason', full_name='android.vts.AndroidSystemControlResponseMessage.reason', index=1,
number=1001, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='file_names', full_name='android.vts.AndroidSystemControlResponseMessage.file_names', index=2,
number=1002, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='spec', full_name='android.vts.AndroidSystemControlResponseMessage.spec', index=3,
number=1003, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='result', full_name='android.vts.AndroidSystemControlResponseMessage.result', index=4,
number=1004, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='stdout', full_name='android.vts.AndroidSystemControlResponseMessage.stdout', index=5,
+ name='stdout_str', full_name='android.vts.AndroidSystemControlResponseMessage.stdout_str', index=5,
number=2001, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='stderr', full_name='android.vts.AndroidSystemControlResponseMessage.stderr', index=6,
+ name='stderr_str', full_name='android.vts.AndroidSystemControlResponseMessage.stderr_str', index=6,
number=2002, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='exit_code', full_name='android.vts.AndroidSystemControlResponseMessage.exit_code', index=7,
number=2003, type=5, cpp_type=1, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='fmq_response', full_name='android.vts.AndroidSystemControlResponseMessage.fmq_response', index=8,
number=3001, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_memory_response', full_name='android.vts.AndroidSystemControlResponseMessage.hidl_memory_response', index=9,
number=3002, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_handle_response', full_name='android.vts.AndroidSystemControlResponseMessage.hidl_handle_response', index=10,
number=3003, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=895,
- serialized_end=1304,
+ serialized_end=1312,
)
@@ -494,35 +494,35 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='name', full_name='android.vts.AndroidSystemCallbackRequestMessage.name', index=1,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='arg', full_name='android.vts.AndroidSystemCallbackRequestMessage.arg', index=2,
number=11, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
- serialized_start=1306,
- serialized_end=1425,
+ serialized_start=1314,
+ serialized_end=1433,
)
@@ -539,21 +539,21 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
- serialized_start=1427,
- serialized_end=1515,
+ serialized_start=1435,
+ serialized_end=1523,
)
_ANDROIDSYSTEMCONTROLCOMMANDMESSAGE.fields_by_name['command_type'].enum_type = _COMMANDTYPE
@@ -574,36 +574,36 @@
DESCRIPTOR.enum_types_by_name['CommandType'] = _COMMANDTYPE
DESCRIPTOR.enum_types_by_name['ResponseCode'] = _RESPONSECODE
DESCRIPTOR.enum_types_by_name['VtsDriverType'] = _VTSDRIVERTYPE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-AndroidSystemControlCommandMessage = _reflection.GeneratedProtocolMessageType('AndroidSystemControlCommandMessage', (_message.Message,), dict(
- DESCRIPTOR = _ANDROIDSYSTEMCONTROLCOMMANDMESSAGE,
- __module__ = 'AndroidSystemControlMessage_pb2'
+AndroidSystemControlCommandMessage = _reflection.GeneratedProtocolMessageType('AndroidSystemControlCommandMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _ANDROIDSYSTEMCONTROLCOMMANDMESSAGE,
+ '__module__' : 'AndroidSystemControlMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.AndroidSystemControlCommandMessage)
- ))
+ })
_sym_db.RegisterMessage(AndroidSystemControlCommandMessage)
-AndroidSystemControlResponseMessage = _reflection.GeneratedProtocolMessageType('AndroidSystemControlResponseMessage', (_message.Message,), dict(
- DESCRIPTOR = _ANDROIDSYSTEMCONTROLRESPONSEMESSAGE,
- __module__ = 'AndroidSystemControlMessage_pb2'
+AndroidSystemControlResponseMessage = _reflection.GeneratedProtocolMessageType('AndroidSystemControlResponseMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _ANDROIDSYSTEMCONTROLRESPONSEMESSAGE,
+ '__module__' : 'AndroidSystemControlMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.AndroidSystemControlResponseMessage)
- ))
+ })
_sym_db.RegisterMessage(AndroidSystemControlResponseMessage)
-AndroidSystemCallbackRequestMessage = _reflection.GeneratedProtocolMessageType('AndroidSystemCallbackRequestMessage', (_message.Message,), dict(
- DESCRIPTOR = _ANDROIDSYSTEMCALLBACKREQUESTMESSAGE,
- __module__ = 'AndroidSystemControlMessage_pb2'
+AndroidSystemCallbackRequestMessage = _reflection.GeneratedProtocolMessageType('AndroidSystemCallbackRequestMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _ANDROIDSYSTEMCALLBACKREQUESTMESSAGE,
+ '__module__' : 'AndroidSystemControlMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.AndroidSystemCallbackRequestMessage)
- ))
+ })
_sym_db.RegisterMessage(AndroidSystemCallbackRequestMessage)
-AndroidSystemCallbackResponseMessage = _reflection.GeneratedProtocolMessageType('AndroidSystemCallbackResponseMessage', (_message.Message,), dict(
- DESCRIPTOR = _ANDROIDSYSTEMCALLBACKRESPONSEMESSAGE,
- __module__ = 'AndroidSystemControlMessage_pb2'
+AndroidSystemCallbackResponseMessage = _reflection.GeneratedProtocolMessageType('AndroidSystemCallbackResponseMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _ANDROIDSYSTEMCALLBACKRESPONSEMESSAGE,
+ '__module__' : 'AndroidSystemControlMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.AndroidSystemCallbackResponseMessage)
- ))
+ })
_sym_db.RegisterMessage(AndroidSystemCallbackResponseMessage)
-_ANDROIDSYSTEMCONTROLCOMMANDMESSAGE.fields_by_name['target_version'].has_options = True
-_ANDROIDSYSTEMCONTROLCOMMANDMESSAGE.fields_by_name['target_version']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
+_ANDROIDSYSTEMCONTROLCOMMANDMESSAGE.fields_by_name['target_version']._options = None
# @@protoc_insertion_point(module_scope)
diff --git a/proto/ComponentSpecificationMessage_pb2.py b/proto/ComponentSpecificationMessage_pb2.py
index 517bf19..69f8937 100644
--- a/proto/ComponentSpecificationMessage_pb2.py
+++ b/proto/ComponentSpecificationMessage_pb2.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: ComponentSpecificationMessage.proto
@@ -8,7 +9,6 @@
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
@@ -20,9 +20,9 @@
name='ComponentSpecificationMessage.proto',
package='android.vts',
syntax='proto2',
+ serialized_options=_b('\n\025com.android.vts.protoB VtsComponentSpecificationMessage'),
serialized_pb=_b('\n#ComponentSpecificationMessage.proto\x12\x0b\x61ndroid.vts\"e\n\x1c\x43\x61llFlowSpecificationMessage\x12\x14\n\x05\x65ntry\x18\x01 \x01(\x08:\x05\x66\x61lse\x12\x13\n\x04\x65xit\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x0c\n\x04next\x18\x0b \x03(\x0c\x12\x0c\n\x04prev\x18\x0c \x03(\x0c\"C\n NativeCodeCoverageRawDataMessage\x12\x11\n\tfile_path\x18\x01 \x01(\x0c\x12\x0c\n\x04gcda\x18\x0b \x01(\x0c\"\x95\x03\n\x13\x46unctionCallMessage\x12\x1b\n\x13hidl_interface_name\x18\x01 \x01(\x0c\x12\x19\n\rhal_driver_id\x18\x0b \x01(\x05:\x02-1\x12\x34\n\x0f\x63omponent_class\x18\x15 \x01(\x0e\x32\x1b.android.vts.ComponentClass\x12\x32\n\x0e\x63omponent_type\x18\x16 \x01(\x0e\x32\x1a.android.vts.ComponentType\x12\"\n\x16\x63omponent_type_version\x18\x17 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\x0e\x63omponent_name\x18\x18 \x01(\x0c\x12\x14\n\x0cpackage_name\x18\x19 \x01(\x0c\x12(\n\x1c\x63omponent_type_version_major\x18\x1a \x01(\x05:\x02-1\x12(\n\x1c\x63omponent_type_version_minor\x18\x1b \x01(\x05:\x02-1\x12\x36\n\x03\x61pi\x18\x64 \x01(\x0b\x32).android.vts.FunctionSpecificationMessage\"\xf4\x05\n\x1c\x46unctionSpecificationMessage\x12\x0c\n\x04name\x18\x01 \x01(\x0c\x12\x16\n\x0esubmodule_name\x18\x02 \x01(\x0c\x12\x19\n\x11hidl_interface_id\x18\x03 \x01(\x05\x12\x14\n\x0cis_inherited\x18\x04 \x01(\x08\x12>\n\x0breturn_type\x18\x0b \x01(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x43\n\x10return_type_hidl\x18\x0c \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12N\n\x1areturn_type_submodule_spec\x18\r \x01(\x0b\x32*.android.vts.ComponentSpecificationMessage\x12\x36\n\x03\x61rg\x18\x15 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12;\n\x08\x63\x61llflow\x18\x1f \x03(\x0b\x32).android.vts.CallFlowSpecificationMessage\x12\x1a\n\x0b\x64o_not_fuzz\x18 \x01(\x08:\x05\x66\x61lse\x12\x17\n\x0bis_callback\x18) \x01(\x08\x42\x02\x18\x01\x12J\n\x10\x66unction_pointer\x18* \x01(\x0b\x32\x30.android.vts.FunctionPointerSpecificationMessage\x12\x16\n\x0eprofiling_data\x18\x65 \x03(\x02\x12 \n\x17processed_coverage_data\x18\xc9\x01 \x03(\r\x12I\n\x11raw_coverage_data\x18\xca\x01 \x03(\x0b\x32-.android.vts.NativeCodeCoverageRawDataMessage\x12\x14\n\x0bparent_path\x18\xad\x02 \x01(\x0c\x12\x17\n\x0esyscall_number\x18\x91\x03 \x01(\r\"\xf5\x02\n\x16ScalarDataValueMessage\x12\x0e\n\x06\x62ool_t\x18\x01 \x01(\x08\x12\x0e\n\x06int8_t\x18\x0b \x01(\x05\x12\x0f\n\x07uint8_t\x18\x0c \x01(\r\x12\x0c\n\x04\x63har\x18\r \x01(\x05\x12\r\n\x05uchar\x18\x0e \x01(\r\x12\x0f\n\x07int16_t\x18\x15 \x01(\x05\x12\x10\n\x08uint16_t\x18\x16 \x01(\r\x12\x0f\n\x07int32_t\x18\x1f \x01(\x05\x12\x10\n\x08uint32_t\x18 \x01(\r\x12\x0f\n\x07int64_t\x18) \x01(\x03\x12\x10\n\x08uint64_t\x18* \x01(\x04\x12\x0f\n\x07\x66loat_t\x18\x65 \x01(\x02\x12\x10\n\x08\x64ouble_t\x18\x66 \x01(\x01\x12\x10\n\x07pointer\x18\xc9\x01 \x01(\r\x12\x0f\n\x06opaque\x18\xca\x01 \x01(\r\x12\x15\n\x0cvoid_pointer\x18\xd3\x01 \x01(\r\x12\x15\n\x0c\x63har_pointer\x18\xd4\x01 \x01(\r\x12\x16\n\ruchar_pointer\x18\xd5\x01 \x01(\r\x12\x18\n\x0fpointer_pointer\x18\xfb\x01 \x01(\r\"\xd1\x01\n#FunctionPointerSpecificationMessage\x12\x15\n\rfunction_name\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x64\x64ress\x18\x0b \x01(\r\x12\n\n\x02id\x18\x15 \x01(\x0c\x12\x36\n\x03\x61rg\x18\x65 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12>\n\x0breturn_type\x18o \x01(\x0b\x32).android.vts.VariableSpecificationMessage\"9\n\x16StringDataValueMessage\x12\x0f\n\x07message\x18\x01 \x01(\x0c\x12\x0e\n\x06length\x18\x0b \x01(\r\"z\n\x14\x45numDataValueMessage\x12\x12\n\nenumerator\x18\x01 \x03(\x0c\x12\x39\n\x0cscalar_value\x18\x02 \x03(\x0b\x32#.android.vts.ScalarDataValueMessage\x12\x13\n\x0bscalar_type\x18\x03 \x01(\x0c\"f\n\x16MemoryDataValueMessage\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x10\n\x08\x63ontents\x18\x02 \x01(\x0c\x12\x12\n\x06mem_id\x18\x03 \x01(\x05:\x02-1\x12\x18\n\x10hidl_mem_address\x18\x04 \x01(\x04\"\xaa\x01\n\tFdMessage\x12!\n\x04type\x18\x01 \x01(\x0e\x32\x13.android.vts.FdType\x12\x0c\n\x04mode\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\tfile_name\x18\x04 \x01(\x0c\x12\x15\n\rfile_mode_str\x18\x05 \x01(\x0c\x12\x33\n\x06memory\x18\x06 \x01(\x0b\x32#.android.vts.MemoryDataValueMessage\"\xb9\x01\n\x16HandleDataValueMessage\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x0f\n\x07num_fds\x18\x02 \x01(\x05\x12\x10\n\x08num_ints\x18\x03 \x01(\x05\x12&\n\x06\x66\x64_val\x18\x04 \x03(\x0b\x32\x16.android.vts.FdMessage\x12\x0f\n\x07int_val\x18\x05 \x03(\x05\x12\x15\n\thandle_id\x18\x06 \x01(\x05:\x02-1\x12\x1b\n\x13hidl_handle_address\x18\x07 \x01(\x04\"\xb2\x0b\n\x1cVariableSpecificationMessage\x12\x0c\n\x04name\x18\x01 \x01(\x0c\x12\'\n\x04type\x18\x02 \x01(\x0e\x32\x19.android.vts.VariableType\x12\x39\n\x0cscalar_value\x18\x65 \x01(\x0b\x32#.android.vts.ScalarDataValueMessage\x12\x13\n\x0bscalar_type\x18\x66 \x01(\x0c\x12\x39\n\x0cstring_value\x18o \x01(\x0b\x32#.android.vts.StringDataValueMessage\x12\x35\n\nenum_value\x18y \x01(\x0b\x32!.android.vts.EnumDataValueMessage\x12@\n\x0cvector_value\x18\x83\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x14\n\x0bvector_size\x18\x84\x01 \x01(\x05\x12@\n\x0cstruct_value\x18\x8d\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x14\n\x0bstruct_type\x18\x8e\x01 \x01(\x0c\x12>\n\nsub_struct\x18\x8f\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12?\n\x0bunion_value\x18\x97\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x13\n\nunion_type\x18\x98\x01 \x01(\x0c\x12=\n\tsub_union\x18\x99\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x44\n\x10safe_union_value\x18\x9a\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x33\n\x0fsafe_union_type\x18\x9b\x01 \x01(\x0e\x32\x19.android.vts.VariableType\x12\x42\n\x0esub_safe_union\x18\x9c\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12=\n\tfmq_value\x18\xa1\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x13\n\x06\x66mq_id\x18\xa2\x01 \x01(\x05:\x02-1\x12\x19\n\x10\x66mq_desc_address\x18\xa3\x01 \x01(\x04\x12=\n\tref_value\x18\xab\x01 \x01(\x0b\x32).android.vts.VariableSpecificationMessage\x12?\n\x11hidl_memory_value\x18\xac\x01 \x01(\x0b\x32#.android.vts.MemoryDataValueMessage\x12:\n\x0chandle_value\x18\xb5\x01 \x01(\x0b\x32#.android.vts.HandleDataValueMessage\x12\x18\n\x0fpredefined_type\x18\xc9\x01 \x01(\x0c\x12K\n\x10\x66unction_pointer\x18\xdd\x01 \x03(\x0b\x32\x30.android.vts.FunctionPointerSpecificationMessage\x12\x1b\n\x12hidl_callback_type\x18\xe7\x01 \x01(\x0c\x12\x1a\n\x11hidl_interface_id\x18\xf1\x01 \x01(\x05\x12\x1f\n\x16hidl_interface_pointer\x18\xf2\x01 \x01(\x04\x12\x17\n\x08is_input\x18\xad\x02 \x01(\x08:\x04true\x12\x19\n\tis_output\x18\xae\x02 \x01(\x08:\x05\x66\x61lse\x12\x18\n\x08is_const\x18\xaf\x02 \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0bis_callback\x18\xb0\x02 \x01(\x08:\x05\x66\x61lse\"\xfb\x01\n\x1aStructSpecificationMessage\x12\x0c\n\x04name\x18\x01 \x01(\x0c\x12\x19\n\nis_pointer\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x37\n\x03\x61pi\x18\xe9\x07 \x03(\x0b\x32).android.vts.FunctionSpecificationMessage\x12<\n\nsub_struct\x18\xd1\x0f \x03(\x0b\x32\'.android.vts.StructSpecificationMessage\x12=\n\tattribute\x18\xb9\x17 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\"\xf6\x01\n\x1dInterfaceSpecificationMessage\x12\x1f\n\x10is_hidl_callback\x18\x65 \x01(\x08:\x05\x66\x61lse\x12\x37\n\x03\x61pi\x18\xd1\x0f \x03(\x0b\x32).android.vts.FunctionSpecificationMessage\x12=\n\tattribute\x18\xb9\x17 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12<\n\nsub_struct\x18\xa1\x1f \x03(\x0b\x32\'.android.vts.StructSpecificationMessage\"\x9f\x04\n\x1d\x43omponentSpecificationMessage\x12\x34\n\x0f\x63omponent_class\x18\x01 \x01(\x0e\x32\x1b.android.vts.ComponentClass\x12\x32\n\x0e\x63omponent_type\x18\x02 \x01(\x0e\x32\x1a.android.vts.ComponentType\x12\"\n\x16\x63omponent_type_version\x18\x03 \x01(\x02\x42\x02\x18\x01\x12\x16\n\x0e\x63omponent_name\x18\x04 \x01(\x0c\x12,\n\x0btarget_arch\x18\x05 \x01(\x0e\x32\x17.android.vts.TargetArch\x12(\n\x1c\x63omponent_type_version_major\x18\x06 \x01(\x05:\x02-1\x12(\n\x1c\x63omponent_type_version_minor\x18\x07 \x01(\x05:\x02-1\x12\x0f\n\x07package\x18\x0b \x01(\x0c\x12\x0e\n\x06import\x18\x0c \x03(\x0c\x12%\n\x1coriginal_data_structure_name\x18\xe9\x07 \x01(\x0c\x12\x0f\n\x06header\x18\xea\x07 \x03(\x0c\x12>\n\tinterface\x18\xd1\x0f \x01(\x0b\x32*.android.vts.InterfaceSpecificationMessage\x12=\n\tattribute\x18\xb5\x10 \x03(\x0b\x32).android.vts.VariableSpecificationMessage*\xc9\x01\n\x0e\x43omponentClass\x12\x11\n\rUNKNOWN_CLASS\x10\x00\x12\x14\n\x10HAL_CONVENTIONAL\x10\x01\x12\x1e\n\x1aHAL_CONVENTIONAL_SUBMODULE\x10\x02\x12\x0e\n\nHAL_LEGACY\x10\x03\x12\x0c\n\x08HAL_HIDL\x10\x04\x12!\n\x1dHAL_HIDL_WRAPPED_CONVENTIONAL\x10\x05\x12\x0e\n\nLIB_SHARED\x10\x0b\x12\n\n\x06KERNEL\x10\x15\x12\x11\n\rKERNEL_MODULE\x10\x16*\xd9\x03\n\rComponentType\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\t\n\x05\x41UDIO\x10\x01\x12\n\n\x06\x43\x41MERA\x10\x02\x12\x07\n\x03GPS\x10\x03\x12\t\n\x05LIGHT\x10\x04\x12\x08\n\x04WIFI\x10\x05\x12\n\n\x06MOBILE\x10\x06\x12\r\n\tBLUETOOTH\x10\x07\x12\x07\n\x03NFC\x10\x08\x12\t\n\x05POWER\x10\t\x12\x0c\n\x08MEMTRACK\x10\n\x12\x07\n\x03\x42\x46P\x10\x0b\x12\x0c\n\x08VIBRATOR\x10\x0c\x12\x0b\n\x07THERMAL\x10\r\x12\x0c\n\x08TV_INPUT\x10\x0e\x12\n\n\x06TV_CEC\x10\x0f\x12\x0b\n\x07SENSORS\x10\x10\x12\x0b\n\x07VEHICLE\x10\x11\x12\x06\n\x02VR\x10\x12\x12\x16\n\x12GRAPHICS_ALLOCATOR\x10\x13\x12\x13\n\x0fGRAPHICS_MAPPER\x10\x14\x12\t\n\x05RADIO\x10\x15\x12\x0e\n\nCONTEXTHUB\x10\x16\x12\x15\n\x11GRAPHICS_COMPOSER\x10\x17\x12\r\n\tMEDIA_OMX\x10\x18\x12\x0e\n\nTESTS_MSGQ\x10\x19\x12\x10\n\x0cTESTS_MEMORY\x10\x1a\x12\r\n\tDUMPSTATE\x10\x1b\x12\x10\n\x0b\x42IONIC_LIBM\x10\xe9\x07\x12\x10\n\x0b\x42IONIC_LIBC\x10\xea\x07\x12\x13\n\x0eVNDK_LIBCUTILS\x10\xcd\x08\x12\x0c\n\x07SYSCALL\x10\xd1\x0f*\xb3\x03\n\x0cVariableType\x12\x19\n\x15UNKNOWN_VARIABLE_TYPE\x10\x00\x12\x13\n\x0fTYPE_PREDEFINED\x10\x01\x12\x0f\n\x0bTYPE_SCALAR\x10\x02\x12\x0f\n\x0bTYPE_STRING\x10\x03\x12\r\n\tTYPE_ENUM\x10\x04\x12\x0e\n\nTYPE_ARRAY\x10\x05\x12\x0f\n\x0bTYPE_VECTOR\x10\x06\x12\x0f\n\x0bTYPE_STRUCT\x10\x07\x12\x19\n\x15TYPE_FUNCTION_POINTER\x10\x08\x12\r\n\tTYPE_VOID\x10\t\x12\x16\n\x12TYPE_HIDL_CALLBACK\x10\n\x12\x12\n\x0eTYPE_SUBMODULE\x10\x0b\x12\x0e\n\nTYPE_UNION\x10\x0c\x12\x17\n\x13TYPE_HIDL_INTERFACE\x10\r\x12\x0f\n\x0bTYPE_HANDLE\x10\x0e\x12\r\n\tTYPE_MASK\x10\x0f\x12\x14\n\x10TYPE_HIDL_MEMORY\x10\x10\x12\x10\n\x0cTYPE_POINTER\x10\x11\x12\x11\n\rTYPE_FMQ_SYNC\x10\x12\x12\x13\n\x0fTYPE_FMQ_UNSYNC\x10\x13\x12\x0c\n\x08TYPE_REF\x10\x14\x12\x13\n\x0fTYPE_SAFE_UNION\x10\x15*Q\n\nTargetArch\x12\x17\n\x13UNKNOWN_TARGET_ARCH\x10\x00\x12\x13\n\x0fTARGET_ARCH_ARM\x10\x01\x12\x15\n\x11TARGET_ARCH_ARM64\x10\x02*b\n\x06\x46\x64Type\x12\r\n\tFILE_TYPE\x10\x01\x12\x0c\n\x08\x44IR_TYPE\x10\x02\x12\x0c\n\x08\x44\x45V_TYPE\x10\x03\x12\r\n\tPIPE_TYPE\x10\x04\x12\x0f\n\x0bSOCKET_TYPE\x10\x05\x12\r\n\tLINK_TYPE\x10\x06\x42\x39\n\x15\x63om.android.vts.protoB VtsComponentSpecificationMessage')
)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_COMPONENTCLASS = _descriptor.EnumDescriptor(
name='ComponentClass',
@@ -32,43 +32,43 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_CLASS', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HAL_CONVENTIONAL', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HAL_CONVENTIONAL_SUBMODULE', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HAL_LEGACY', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HAL_HIDL', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HAL_HIDL_WRAPPED_CONVENTIONAL', index=5, number=5,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='LIB_SHARED', index=6, number=11,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='KERNEL', index=7, number=21,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='KERNEL_MODULE', index=8, number=22,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=5138,
serialized_end=5339,
)
@@ -83,135 +83,135 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_TYPE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='AUDIO', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CAMERA', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='GPS', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='LIGHT', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='WIFI', index=5, number=5,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MOBILE', index=6, number=6,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='BLUETOOTH', index=7, number=7,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='NFC', index=8, number=8,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='POWER', index=9, number=9,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEMTRACK', index=10, number=10,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='BFP', index=11, number=11,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VIBRATOR', index=12, number=12,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='THERMAL', index=13, number=13,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TV_INPUT', index=14, number=14,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TV_CEC', index=15, number=15,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SENSORS', index=16, number=16,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VEHICLE', index=17, number=17,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VR', index=18, number=18,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='GRAPHICS_ALLOCATOR', index=19, number=19,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='GRAPHICS_MAPPER', index=20, number=20,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='RADIO', index=21, number=21,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CONTEXTHUB', index=22, number=22,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='GRAPHICS_COMPOSER', index=23, number=23,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEDIA_OMX', index=24, number=24,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TESTS_MSGQ', index=25, number=25,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TESTS_MEMORY', index=26, number=26,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='DUMPSTATE', index=27, number=27,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='BIONIC_LIBM', index=28, number=1001,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='BIONIC_LIBC', index=29, number=1002,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VNDK_LIBCUTILS', index=30, number=1101,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SYSCALL', index=31, number=2001,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=5342,
serialized_end=5815,
)
@@ -226,95 +226,95 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_VARIABLE_TYPE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_PREDEFINED', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_SCALAR', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_STRING', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_ENUM', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_ARRAY', index=5, number=5,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_VECTOR', index=6, number=6,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_STRUCT', index=7, number=7,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_FUNCTION_POINTER', index=8, number=8,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_VOID', index=9, number=9,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_HIDL_CALLBACK', index=10, number=10,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_SUBMODULE', index=11, number=11,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_UNION', index=12, number=12,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_HIDL_INTERFACE', index=13, number=13,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_HANDLE', index=14, number=14,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_MASK', index=15, number=15,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_HIDL_MEMORY', index=16, number=16,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_POINTER', index=17, number=17,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_FMQ_SYNC', index=18, number=18,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_FMQ_UNSYNC', index=19, number=19,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_REF', index=20, number=20,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TYPE_SAFE_UNION', index=21, number=21,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=5818,
serialized_end=6253,
)
@@ -329,19 +329,19 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_TARGET_ARCH', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TARGET_ARCH_ARM', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TARGET_ARCH_ARM64', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=6255,
serialized_end=6336,
)
@@ -356,31 +356,31 @@
values=[
_descriptor.EnumValueDescriptor(
name='FILE_TYPE', index=0, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='DIR_TYPE', index=1, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='DEV_TYPE', index=2, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='PIPE_TYPE', index=3, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SOCKET_TYPE', index=4, number=5,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='LINK_TYPE', index=5, number=6,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=6338,
serialized_end=6436,
)
@@ -475,35 +475,35 @@
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='exit', full_name='android.vts.CallFlowSpecificationMessage.exit', index=1,
number=2, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='next', full_name='android.vts.CallFlowSpecificationMessage.next', index=2,
number=11, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='prev', full_name='android.vts.CallFlowSpecificationMessage.prev', index=3,
number=12, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -527,21 +527,21 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='gcda', full_name='android.vts.NativeCodeCoverageRawDataMessage.gcda', index=1,
number=11, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -565,77 +565,77 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_driver_id', full_name='android.vts.FunctionCallMessage.hal_driver_id', index=1,
number=11, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_class', full_name='android.vts.FunctionCallMessage.component_class', index=2,
number=21, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_type', full_name='android.vts.FunctionCallMessage.component_type', index=3,
number=22, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_type_version', full_name='android.vts.FunctionCallMessage.component_type_version', index=4,
number=23, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_name', full_name='android.vts.FunctionCallMessage.component_name', index=5,
number=24, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='package_name', full_name='android.vts.FunctionCallMessage.package_name', index=6,
number=25, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_type_version_major', full_name='android.vts.FunctionCallMessage.component_type_version_major', index=7,
number=26, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_type_version_minor', full_name='android.vts.FunctionCallMessage.component_type_version_minor', index=8,
number=27, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='api', full_name='android.vts.FunctionCallMessage.api', index=9,
number=100, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -659,126 +659,126 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='submodule_name', full_name='android.vts.FunctionSpecificationMessage.submodule_name', index=1,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_interface_id', full_name='android.vts.FunctionSpecificationMessage.hidl_interface_id', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='is_inherited', full_name='android.vts.FunctionSpecificationMessage.is_inherited', index=3,
number=4, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='return_type', full_name='android.vts.FunctionSpecificationMessage.return_type', index=4,
number=11, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='return_type_hidl', full_name='android.vts.FunctionSpecificationMessage.return_type_hidl', index=5,
number=12, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='return_type_submodule_spec', full_name='android.vts.FunctionSpecificationMessage.return_type_submodule_spec', index=6,
number=13, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='arg', full_name='android.vts.FunctionSpecificationMessage.arg', index=7,
number=21, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='callflow', full_name='android.vts.FunctionSpecificationMessage.callflow', index=8,
number=31, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='do_not_fuzz', full_name='android.vts.FunctionSpecificationMessage.do_not_fuzz', index=9,
number=32, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='is_callback', full_name='android.vts.FunctionSpecificationMessage.is_callback', index=10,
number=41, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='function_pointer', full_name='android.vts.FunctionSpecificationMessage.function_pointer', index=11,
number=42, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='profiling_data', full_name='android.vts.FunctionSpecificationMessage.profiling_data', index=12,
number=101, type=2, cpp_type=6, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='processed_coverage_data', full_name='android.vts.FunctionSpecificationMessage.processed_coverage_data', index=13,
number=201, type=13, cpp_type=3, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='raw_coverage_data', full_name='android.vts.FunctionSpecificationMessage.raw_coverage_data', index=14,
number=202, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='parent_path', full_name='android.vts.FunctionSpecificationMessage.parent_path', index=15,
number=301, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='syscall_number', full_name='android.vts.FunctionSpecificationMessage.syscall_number', index=16,
number=401, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -802,140 +802,140 @@
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='int8_t', full_name='android.vts.ScalarDataValueMessage.int8_t', index=1,
number=11, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='uint8_t', full_name='android.vts.ScalarDataValueMessage.uint8_t', index=2,
number=12, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='char', full_name='android.vts.ScalarDataValueMessage.char', index=3,
number=13, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='uchar', full_name='android.vts.ScalarDataValueMessage.uchar', index=4,
number=14, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='int16_t', full_name='android.vts.ScalarDataValueMessage.int16_t', index=5,
number=21, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='uint16_t', full_name='android.vts.ScalarDataValueMessage.uint16_t', index=6,
number=22, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='int32_t', full_name='android.vts.ScalarDataValueMessage.int32_t', index=7,
number=31, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='uint32_t', full_name='android.vts.ScalarDataValueMessage.uint32_t', index=8,
number=32, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='int64_t', full_name='android.vts.ScalarDataValueMessage.int64_t', index=9,
number=41, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='uint64_t', full_name='android.vts.ScalarDataValueMessage.uint64_t', index=10,
number=42, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='float_t', full_name='android.vts.ScalarDataValueMessage.float_t', index=11,
number=101, type=2, cpp_type=6, label=1,
has_default_value=False, default_value=float(0),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='double_t', full_name='android.vts.ScalarDataValueMessage.double_t', index=12,
number=102, type=1, cpp_type=5, label=1,
has_default_value=False, default_value=float(0),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='pointer', full_name='android.vts.ScalarDataValueMessage.pointer', index=13,
number=201, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='opaque', full_name='android.vts.ScalarDataValueMessage.opaque', index=14,
number=202, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='void_pointer', full_name='android.vts.ScalarDataValueMessage.void_pointer', index=15,
number=211, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='char_pointer', full_name='android.vts.ScalarDataValueMessage.char_pointer', index=16,
number=212, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='uchar_pointer', full_name='android.vts.ScalarDataValueMessage.uchar_pointer', index=17,
number=213, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='pointer_pointer', full_name='android.vts.ScalarDataValueMessage.pointer_pointer', index=18,
number=251, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -959,42 +959,42 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='address', full_name='android.vts.FunctionPointerSpecificationMessage.address', index=1,
number=11, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='id', full_name='android.vts.FunctionPointerSpecificationMessage.id', index=2,
number=21, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='arg', full_name='android.vts.FunctionPointerSpecificationMessage.arg', index=3,
number=101, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='return_type', full_name='android.vts.FunctionPointerSpecificationMessage.return_type', index=4,
number=111, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1018,21 +1018,21 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='length', full_name='android.vts.StringDataValueMessage.length', index=1,
number=11, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1056,28 +1056,28 @@
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='scalar_value', full_name='android.vts.EnumDataValueMessage.scalar_value', index=1,
number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='scalar_type', full_name='android.vts.EnumDataValueMessage.scalar_type', index=2,
number=3, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1101,35 +1101,35 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='contents', full_name='android.vts.MemoryDataValueMessage.contents', index=1,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='mem_id', full_name='android.vts.MemoryDataValueMessage.mem_id', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_mem_address', full_name='android.vts.MemoryDataValueMessage.hidl_mem_address', index=3,
number=4, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1153,49 +1153,49 @@
has_default_value=False, default_value=1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='mode', full_name='android.vts.FdMessage.mode', index=1,
number=2, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='flags', full_name='android.vts.FdMessage.flags', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='file_name', full_name='android.vts.FdMessage.file_name', index=3,
number=4, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='file_mode_str', full_name='android.vts.FdMessage.file_mode_str', index=4,
number=5, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='memory', full_name='android.vts.FdMessage.memory', index=5,
number=6, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1219,56 +1219,56 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='num_fds', full_name='android.vts.HandleDataValueMessage.num_fds', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='num_ints', full_name='android.vts.HandleDataValueMessage.num_ints', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='fd_val', full_name='android.vts.HandleDataValueMessage.fd_val', index=3,
number=4, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='int_val', full_name='android.vts.HandleDataValueMessage.int_val', index=4,
number=5, type=5, cpp_type=1, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='handle_id', full_name='android.vts.HandleDataValueMessage.handle_id', index=5,
number=6, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_handle_address', full_name='android.vts.HandleDataValueMessage.hidl_handle_address', index=6,
number=7, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1292,231 +1292,231 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='type', full_name='android.vts.VariableSpecificationMessage.type', index=1,
number=2, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='scalar_value', full_name='android.vts.VariableSpecificationMessage.scalar_value', index=2,
number=101, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='scalar_type', full_name='android.vts.VariableSpecificationMessage.scalar_type', index=3,
number=102, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='string_value', full_name='android.vts.VariableSpecificationMessage.string_value', index=4,
number=111, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='enum_value', full_name='android.vts.VariableSpecificationMessage.enum_value', index=5,
number=121, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='vector_value', full_name='android.vts.VariableSpecificationMessage.vector_value', index=6,
number=131, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='vector_size', full_name='android.vts.VariableSpecificationMessage.vector_size', index=7,
number=132, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='struct_value', full_name='android.vts.VariableSpecificationMessage.struct_value', index=8,
number=141, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='struct_type', full_name='android.vts.VariableSpecificationMessage.struct_type', index=9,
number=142, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sub_struct', full_name='android.vts.VariableSpecificationMessage.sub_struct', index=10,
number=143, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='union_value', full_name='android.vts.VariableSpecificationMessage.union_value', index=11,
number=151, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='union_type', full_name='android.vts.VariableSpecificationMessage.union_type', index=12,
number=152, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sub_union', full_name='android.vts.VariableSpecificationMessage.sub_union', index=13,
number=153, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='safe_union_value', full_name='android.vts.VariableSpecificationMessage.safe_union_value', index=14,
number=154, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='safe_union_type', full_name='android.vts.VariableSpecificationMessage.safe_union_type', index=15,
number=155, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sub_safe_union', full_name='android.vts.VariableSpecificationMessage.sub_safe_union', index=16,
number=156, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='fmq_value', full_name='android.vts.VariableSpecificationMessage.fmq_value', index=17,
number=161, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='fmq_id', full_name='android.vts.VariableSpecificationMessage.fmq_id', index=18,
number=162, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='fmq_desc_address', full_name='android.vts.VariableSpecificationMessage.fmq_desc_address', index=19,
number=163, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='ref_value', full_name='android.vts.VariableSpecificationMessage.ref_value', index=20,
number=171, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_memory_value', full_name='android.vts.VariableSpecificationMessage.hidl_memory_value', index=21,
number=172, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='handle_value', full_name='android.vts.VariableSpecificationMessage.handle_value', index=22,
number=181, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='predefined_type', full_name='android.vts.VariableSpecificationMessage.predefined_type', index=23,
number=201, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='function_pointer', full_name='android.vts.VariableSpecificationMessage.function_pointer', index=24,
number=221, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_callback_type', full_name='android.vts.VariableSpecificationMessage.hidl_callback_type', index=25,
number=231, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_interface_id', full_name='android.vts.VariableSpecificationMessage.hidl_interface_id', index=26,
number=241, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hidl_interface_pointer', full_name='android.vts.VariableSpecificationMessage.hidl_interface_pointer', index=27,
number=242, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='is_input', full_name='android.vts.VariableSpecificationMessage.is_input', index=28,
number=301, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=True,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='is_output', full_name='android.vts.VariableSpecificationMessage.is_output', index=29,
number=302, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='is_const', full_name='android.vts.VariableSpecificationMessage.is_const', index=30,
number=303, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='is_callback', full_name='android.vts.VariableSpecificationMessage.is_callback', index=31,
number=304, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1540,42 +1540,42 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='is_pointer', full_name='android.vts.StructSpecificationMessage.is_pointer', index=1,
number=2, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='api', full_name='android.vts.StructSpecificationMessage.api', index=2,
number=1001, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sub_struct', full_name='android.vts.StructSpecificationMessage.sub_struct', index=3,
number=2001, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='attribute', full_name='android.vts.StructSpecificationMessage.attribute', index=4,
number=3001, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1599,35 +1599,35 @@
has_default_value=True, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='api', full_name='android.vts.InterfaceSpecificationMessage.api', index=1,
number=2001, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='attribute', full_name='android.vts.InterfaceSpecificationMessage.attribute', index=2,
number=3001, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sub_struct', full_name='android.vts.InterfaceSpecificationMessage.sub_struct', index=3,
number=4001, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1651,98 +1651,98 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_type', full_name='android.vts.ComponentSpecificationMessage.component_type', index=1,
number=2, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_type_version', full_name='android.vts.ComponentSpecificationMessage.component_type_version', index=2,
number=3, type=2, cpp_type=6, label=1,
has_default_value=False, default_value=float(0),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_name', full_name='android.vts.ComponentSpecificationMessage.component_name', index=3,
number=4, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_arch', full_name='android.vts.ComponentSpecificationMessage.target_arch', index=4,
number=5, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_type_version_major', full_name='android.vts.ComponentSpecificationMessage.component_type_version_major', index=5,
number=6, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='component_type_version_minor', full_name='android.vts.ComponentSpecificationMessage.component_type_version_minor', index=6,
number=7, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='package', full_name='android.vts.ComponentSpecificationMessage.package', index=7,
number=11, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='import', full_name='android.vts.ComponentSpecificationMessage.import', index=8,
number=12, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='original_data_structure_name', full_name='android.vts.ComponentSpecificationMessage.original_data_structure_name', index=9,
number=1001, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='header', full_name='android.vts.ComponentSpecificationMessage.header', index=10,
number=1002, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='interface', full_name='android.vts.ComponentSpecificationMessage.interface', index=11,
number=2001, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='attribute', full_name='android.vts.ComponentSpecificationMessage.attribute', index=12,
number=2101, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1816,119 +1816,116 @@
DESCRIPTOR.enum_types_by_name['VariableType'] = _VARIABLETYPE
DESCRIPTOR.enum_types_by_name['TargetArch'] = _TARGETARCH
DESCRIPTOR.enum_types_by_name['FdType'] = _FDTYPE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-CallFlowSpecificationMessage = _reflection.GeneratedProtocolMessageType('CallFlowSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _CALLFLOWSPECIFICATIONMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+CallFlowSpecificationMessage = _reflection.GeneratedProtocolMessageType('CallFlowSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _CALLFLOWSPECIFICATIONMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.CallFlowSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(CallFlowSpecificationMessage)
-NativeCodeCoverageRawDataMessage = _reflection.GeneratedProtocolMessageType('NativeCodeCoverageRawDataMessage', (_message.Message,), dict(
- DESCRIPTOR = _NATIVECODECOVERAGERAWDATAMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+NativeCodeCoverageRawDataMessage = _reflection.GeneratedProtocolMessageType('NativeCodeCoverageRawDataMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _NATIVECODECOVERAGERAWDATAMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.NativeCodeCoverageRawDataMessage)
- ))
+ })
_sym_db.RegisterMessage(NativeCodeCoverageRawDataMessage)
-FunctionCallMessage = _reflection.GeneratedProtocolMessageType('FunctionCallMessage', (_message.Message,), dict(
- DESCRIPTOR = _FUNCTIONCALLMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+FunctionCallMessage = _reflection.GeneratedProtocolMessageType('FunctionCallMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _FUNCTIONCALLMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.FunctionCallMessage)
- ))
+ })
_sym_db.RegisterMessage(FunctionCallMessage)
-FunctionSpecificationMessage = _reflection.GeneratedProtocolMessageType('FunctionSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _FUNCTIONSPECIFICATIONMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+FunctionSpecificationMessage = _reflection.GeneratedProtocolMessageType('FunctionSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _FUNCTIONSPECIFICATIONMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.FunctionSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(FunctionSpecificationMessage)
-ScalarDataValueMessage = _reflection.GeneratedProtocolMessageType('ScalarDataValueMessage', (_message.Message,), dict(
- DESCRIPTOR = _SCALARDATAVALUEMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+ScalarDataValueMessage = _reflection.GeneratedProtocolMessageType('ScalarDataValueMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _SCALARDATAVALUEMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.ScalarDataValueMessage)
- ))
+ })
_sym_db.RegisterMessage(ScalarDataValueMessage)
-FunctionPointerSpecificationMessage = _reflection.GeneratedProtocolMessageType('FunctionPointerSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _FUNCTIONPOINTERSPECIFICATIONMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+FunctionPointerSpecificationMessage = _reflection.GeneratedProtocolMessageType('FunctionPointerSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _FUNCTIONPOINTERSPECIFICATIONMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.FunctionPointerSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(FunctionPointerSpecificationMessage)
-StringDataValueMessage = _reflection.GeneratedProtocolMessageType('StringDataValueMessage', (_message.Message,), dict(
- DESCRIPTOR = _STRINGDATAVALUEMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+StringDataValueMessage = _reflection.GeneratedProtocolMessageType('StringDataValueMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _STRINGDATAVALUEMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.StringDataValueMessage)
- ))
+ })
_sym_db.RegisterMessage(StringDataValueMessage)
-EnumDataValueMessage = _reflection.GeneratedProtocolMessageType('EnumDataValueMessage', (_message.Message,), dict(
- DESCRIPTOR = _ENUMDATAVALUEMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+EnumDataValueMessage = _reflection.GeneratedProtocolMessageType('EnumDataValueMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _ENUMDATAVALUEMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.EnumDataValueMessage)
- ))
+ })
_sym_db.RegisterMessage(EnumDataValueMessage)
-MemoryDataValueMessage = _reflection.GeneratedProtocolMessageType('MemoryDataValueMessage', (_message.Message,), dict(
- DESCRIPTOR = _MEMORYDATAVALUEMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+MemoryDataValueMessage = _reflection.GeneratedProtocolMessageType('MemoryDataValueMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _MEMORYDATAVALUEMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.MemoryDataValueMessage)
- ))
+ })
_sym_db.RegisterMessage(MemoryDataValueMessage)
-FdMessage = _reflection.GeneratedProtocolMessageType('FdMessage', (_message.Message,), dict(
- DESCRIPTOR = _FDMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+FdMessage = _reflection.GeneratedProtocolMessageType('FdMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _FDMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.FdMessage)
- ))
+ })
_sym_db.RegisterMessage(FdMessage)
-HandleDataValueMessage = _reflection.GeneratedProtocolMessageType('HandleDataValueMessage', (_message.Message,), dict(
- DESCRIPTOR = _HANDLEDATAVALUEMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+HandleDataValueMessage = _reflection.GeneratedProtocolMessageType('HandleDataValueMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _HANDLEDATAVALUEMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.HandleDataValueMessage)
- ))
+ })
_sym_db.RegisterMessage(HandleDataValueMessage)
-VariableSpecificationMessage = _reflection.GeneratedProtocolMessageType('VariableSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _VARIABLESPECIFICATIONMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+VariableSpecificationMessage = _reflection.GeneratedProtocolMessageType('VariableSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _VARIABLESPECIFICATIONMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.VariableSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(VariableSpecificationMessage)
-StructSpecificationMessage = _reflection.GeneratedProtocolMessageType('StructSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _STRUCTSPECIFICATIONMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+StructSpecificationMessage = _reflection.GeneratedProtocolMessageType('StructSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _STRUCTSPECIFICATIONMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.StructSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(StructSpecificationMessage)
-InterfaceSpecificationMessage = _reflection.GeneratedProtocolMessageType('InterfaceSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _INTERFACESPECIFICATIONMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+InterfaceSpecificationMessage = _reflection.GeneratedProtocolMessageType('InterfaceSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _INTERFACESPECIFICATIONMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.InterfaceSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(InterfaceSpecificationMessage)
-ComponentSpecificationMessage = _reflection.GeneratedProtocolMessageType('ComponentSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _COMPONENTSPECIFICATIONMESSAGE,
- __module__ = 'ComponentSpecificationMessage_pb2'
+ComponentSpecificationMessage = _reflection.GeneratedProtocolMessageType('ComponentSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _COMPONENTSPECIFICATIONMESSAGE,
+ '__module__' : 'ComponentSpecificationMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.ComponentSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(ComponentSpecificationMessage)
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.android.vts.protoB VtsComponentSpecificationMessage'))
-_FUNCTIONCALLMESSAGE.fields_by_name['component_type_version'].has_options = True
-_FUNCTIONCALLMESSAGE.fields_by_name['component_type_version']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
-_FUNCTIONSPECIFICATIONMESSAGE.fields_by_name['is_callback'].has_options = True
-_FUNCTIONSPECIFICATIONMESSAGE.fields_by_name['is_callback']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
-_COMPONENTSPECIFICATIONMESSAGE.fields_by_name['component_type_version'].has_options = True
-_COMPONENTSPECIFICATIONMESSAGE.fields_by_name['component_type_version']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
+DESCRIPTOR._options = None
+_FUNCTIONCALLMESSAGE.fields_by_name['component_type_version']._options = None
+_FUNCTIONSPECIFICATIONMESSAGE.fields_by_name['is_callback']._options = None
+_COMPONENTSPECIFICATIONMESSAGE.fields_by_name['component_type_version']._options = None
# @@protoc_insertion_point(module_scope)
diff --git a/proto/ExecutionSpecificationMessage_pb2.py b/proto/ExecutionSpecificationMessage_pb2.py
new file mode 100644
index 0000000..23b360b
--- /dev/null
+++ b/proto/ExecutionSpecificationMessage_pb2.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: ExecutionSpecificationMessage.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+import ComponentSpecificationMessage_pb2 as ComponentSpecificationMessage__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='ExecutionSpecificationMessage.proto',
+ package='android.vts',
+ syntax='proto2',
+ serialized_options=_b('\n\025com.android.vts.protoB VtsExecutionSpecificationMessage'),
+ serialized_pb=_b('\n#ExecutionSpecificationMessage.proto\x12\x0b\x61ndroid.vts\x1a#ComponentSpecificationMessage.proto\"h\n\x1d\x45xecutionSpecificationMessage\x12\x37\n\rfunction_call\x18\x01 \x03(\x0b\x32 .android.vts.FunctionCallMessage\x12\x0e\n\x05valid\x18\xe8\x07 \x01(\x08\x42\x39\n\x15\x63om.android.vts.protoB VtsExecutionSpecificationMessage')
+ ,
+ dependencies=[ComponentSpecificationMessage__pb2.DESCRIPTOR,])
+
+
+
+
+_EXECUTIONSPECIFICATIONMESSAGE = _descriptor.Descriptor(
+ name='ExecutionSpecificationMessage',
+ full_name='android.vts.ExecutionSpecificationMessage',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='function_call', full_name='android.vts.ExecutionSpecificationMessage.function_call', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='valid', full_name='android.vts.ExecutionSpecificationMessage.valid', index=1,
+ number=1000, type=8, cpp_type=7, label=1,
+ has_default_value=False, default_value=False,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto2',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=89,
+ serialized_end=193,
+)
+
+_EXECUTIONSPECIFICATIONMESSAGE.fields_by_name['function_call'].message_type = ComponentSpecificationMessage__pb2._FUNCTIONCALLMESSAGE
+DESCRIPTOR.message_types_by_name['ExecutionSpecificationMessage'] = _EXECUTIONSPECIFICATIONMESSAGE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+ExecutionSpecificationMessage = _reflection.GeneratedProtocolMessageType('ExecutionSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _EXECUTIONSPECIFICATIONMESSAGE,
+ '__module__' : 'ExecutionSpecificationMessage_pb2'
+ # @@protoc_insertion_point(class_scope:android.vts.ExecutionSpecificationMessage)
+ })
+_sym_db.RegisterMessage(ExecutionSpecificationMessage)
+
+
+DESCRIPTOR._options = None
+# @@protoc_insertion_point(module_scope)
diff --git a/proto/TestSchedulingPolicyMessage_pb2.py b/proto/TestSchedulingPolicyMessage_pb2.py
index 92a9897..d02fc22 100644
--- a/proto/TestSchedulingPolicyMessage_pb2.py
+++ b/proto/TestSchedulingPolicyMessage_pb2.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: TestSchedulingPolicyMessage.proto
@@ -8,7 +9,6 @@
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
@@ -20,9 +20,9 @@
name='TestSchedulingPolicyMessage.proto',
package='android.vts',
syntax='proto2',
+ serialized_options=_b('\n\025com.android.vts.protoB\036VtsTestSchedulingPolicyMessage'),
serialized_pb=_b('\n!TestSchedulingPolicyMessage.proto\x12\x0b\x61ndroid.vts\"\x98\x01\n\x1bTestSchedulingPolicyMessage\x12\x14\n\x0ctarget_plans\x18\x01 \x03(\x0c\x12\x14\n\x0ctarget_tests\x18\x02 \x03(\x0c\x12\x38\n\x0fscheduling_mode\x18\x65 \x01(\x0e\x32\x1f.android.vts.TestSchedulingMode\x12\x13\n\x0bperiod_secs\x18n \x01(\r*\x87\x01\n\x12TestSchedulingMode\x12$\n UKNOWN_TEST_SCHEDULING_MODE_TYPE\x10\x00\x12(\n$TEST_SCHEDULING_MODE_TOT_BEST_EFFORT\x10\x01\x12!\n\x1dTEST_SCHEDULING_MODE_PERIODIC\x10\x02\x42\x37\n\x15\x63om.android.vts.protoB\x1eVtsTestSchedulingPolicyMessage')
)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_TESTSCHEDULINGMODE = _descriptor.EnumDescriptor(
name='TestSchedulingMode',
@@ -32,19 +32,19 @@
values=[
_descriptor.EnumValueDescriptor(
name='UKNOWN_TEST_SCHEDULING_MODE_TYPE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TEST_SCHEDULING_MODE_TOT_BEST_EFFORT', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TEST_SCHEDULING_MODE_PERIODIC', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=206,
serialized_end=341,
)
@@ -70,35 +70,35 @@
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_tests', full_name='android.vts.TestSchedulingPolicyMessage.target_tests', index=1,
number=2, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='scheduling_mode', full_name='android.vts.TestSchedulingPolicyMessage.scheduling_mode', index=2,
number=101, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='period_secs', full_name='android.vts.TestSchedulingPolicyMessage.period_secs', index=3,
number=110, type=13, cpp_type=3, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -111,15 +111,15 @@
_TESTSCHEDULINGPOLICYMESSAGE.fields_by_name['scheduling_mode'].enum_type = _TESTSCHEDULINGMODE
DESCRIPTOR.message_types_by_name['TestSchedulingPolicyMessage'] = _TESTSCHEDULINGPOLICYMESSAGE
DESCRIPTOR.enum_types_by_name['TestSchedulingMode'] = _TESTSCHEDULINGMODE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-TestSchedulingPolicyMessage = _reflection.GeneratedProtocolMessageType('TestSchedulingPolicyMessage', (_message.Message,), dict(
- DESCRIPTOR = _TESTSCHEDULINGPOLICYMESSAGE,
- __module__ = 'TestSchedulingPolicyMessage_pb2'
+TestSchedulingPolicyMessage = _reflection.GeneratedProtocolMessageType('TestSchedulingPolicyMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _TESTSCHEDULINGPOLICYMESSAGE,
+ '__module__' : 'TestSchedulingPolicyMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.TestSchedulingPolicyMessage)
- ))
+ })
_sym_db.RegisterMessage(TestSchedulingPolicyMessage)
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.android.vts.protoB\036VtsTestSchedulingPolicyMessage'))
+DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
diff --git a/proto/VtsDriverControlMessage.proto b/proto/VtsDriverControlMessage.proto
index 70477a6..5912100 100644
--- a/proto/VtsDriverControlMessage.proto
+++ b/proto/VtsDriverControlMessage.proto
@@ -135,9 +135,9 @@
optional bytes return_message = 12;
// The stdout message for each command
- repeated bytes stdout = 1001;
+ repeated bytes stdout_str = 1001;
// The stderr message for each command
- repeated bytes stderr = 1002;
+ repeated bytes stderr_str = 1002;
// The exit code for each command
repeated int32 exit_code = 1003;
diff --git a/proto/VtsDriverControlMessage_pb2.py b/proto/VtsDriverControlMessage_pb2.py
new file mode 100644
index 0000000..5fa131f
--- /dev/null
+++ b/proto/VtsDriverControlMessage_pb2.py
@@ -0,0 +1,415 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: VtsDriverControlMessage.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf.internal import enum_type_wrapper
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+import VtsResourceControllerMessage_pb2 as VtsResourceControllerMessage__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='VtsDriverControlMessage.proto',
+ package='android.vts',
+ syntax='proto2',
+ serialized_options=None,
+ serialized_pb=_b('\n\x1dVtsDriverControlMessage.proto\x12\x0b\x61ndroid.vts\x1a\"VtsResourceControllerMessage.proto\"\x85\x05\n\x1eVtsDriverControlCommandMessage\x12\x37\n\x0c\x63ommand_type\x18\x01 \x01(\x0e\x32!.android.vts.VtsDriverCommandType\x12\x14\n\x0bstatus_type\x18\xcd\x08 \x01(\x05\x12\x12\n\tfile_path\x18\xb1\t \x01(\x0c\x12\x15\n\x0ctarget_class\x18\xb2\t \x01(\x05\x12\x14\n\x0btarget_type\x18\xb3\t \x01(\x05\x12\x1b\n\x0etarget_version\x18\xb4\t \x01(\x02\x42\x02\x18\x01\x12\x14\n\x0bmodule_name\x18\xb5\t \x01(\x0c\x12\x17\n\x0etarget_package\x18\xb6\t \x01(\x0c\x12\x1e\n\x15target_component_name\x18\xb7\t \x01(\x0c\x12!\n\x14target_version_major\x18\xb8\t \x01(\x05:\x02-1\x12!\n\x14target_version_minor\x18\xb9\t \x01(\x05:\x02-1\x12\x1f\n\x16hw_binder_service_name\x18\xc5\t \x01(\x0c\x12\x0c\n\x03\x61rg\x18\xf9\n \x01(\x0c\x12\x1a\n\x11\x64river_caller_uid\x18\xdd\x0b \x01(\x0c\x12\x16\n\rshell_command\x18\xd1\x0f \x03(\x0c\x12\x34\n\x0b\x66mq_request\x18\xb9\x17 \x01(\x0b\x32\x1e.android.vts.FmqRequestMessage\x12\x43\n\x13hidl_memory_request\x18\xba\x17 \x01(\x0b\x32%.android.vts.HidlMemoryRequestMessage\x12\x43\n\x13hidl_handle_request\x18\xbb\x17 \x01(\x0b\x32%.android.vts.HidlHandleRequestMessage\"\x9d\x03\n\x1fVtsDriverControlResponseMessage\x12\x39\n\rresponse_code\x18\x01 \x01(\x0e\x32\".android.vts.VtsDriverResponseCode\x12\x14\n\x0creturn_value\x18\x0b \x01(\x05\x12\x16\n\x0ereturn_message\x18\x0c \x01(\x0c\x12\x13\n\nstdout_str\x18\xe9\x07 \x03(\x0c\x12\x13\n\nstderr_str\x18\xea\x07 \x03(\x0c\x12\x12\n\texit_code\x18\xeb\x07 \x03(\x05\x12\r\n\x04spec\x18\xd1\x0f \x03(\x0c\x12\x36\n\x0c\x66mq_response\x18\xb9\x17 \x01(\x0b\x32\x1f.android.vts.FmqResponseMessage\x12\x45\n\x14hidl_memory_response\x18\xba\x17 \x01(\x0b\x32&.android.vts.HidlMemoryResponseMessage\x12\x45\n\x14hidl_handle_response\x18\xbb\x17 \x01(\x0b\x32&.android.vts.HidlHandleResponseMessage*\xbf\x02\n\x14VtsDriverCommandType\x12#\n\x1fUNKNOWN_VTS_DRIVER_COMMAND_TYPE\x10\x00\x12\x08\n\x04\x45XIT\x10\x01\x12\x0e\n\nGET_STATUS\x10\x02\x12\x0c\n\x08LOAD_HAL\x10\x65\x12\x12\n\x0eLIST_FUNCTIONS\x10\x66\x12\x11\n\rCALL_FUNCTION\x10g\x12\x11\n\rGET_ATTRIBUTE\x10h\x12)\n%VTS_DRIVER_COMMAND_READ_SPECIFICATION\x10i\x12\x14\n\x0f\x45XECUTE_COMMAND\x10\xc9\x01\x12\x13\n\x0eINVOKE_SYSCALL\x10\xca\x01\x12\x12\n\rFMQ_OPERATION\x10\xad\x02\x12\x1a\n\x15HIDL_MEMORY_OPERATION\x10\xae\x02\x12\x1a\n\x15HIDL_HANDLE_OPERATION\x10\xaf\x02*|\n\x15VtsDriverResponseCode\x12$\n UNKNOWN_VTS_DRIVER_RESPONSE_CODE\x10\x00\x12\x1f\n\x1bVTS_DRIVER_RESPONSE_SUCCESS\x10\x01\x12\x1c\n\x18VTS_DRIVER_RESPONSE_FAIL\x10\x02')
+ ,
+ dependencies=[VtsResourceControllerMessage__pb2.DESCRIPTOR,])
+
+_VTSDRIVERCOMMANDTYPE = _descriptor.EnumDescriptor(
+ name='VtsDriverCommandType',
+ full_name='android.vts.VtsDriverCommandType',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='UNKNOWN_VTS_DRIVER_COMMAND_TYPE', index=0, number=0,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='EXIT', index=1, number=1,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='GET_STATUS', index=2, number=2,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='LOAD_HAL', index=3, number=101,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='LIST_FUNCTIONS', index=4, number=102,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='CALL_FUNCTION', index=5, number=103,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='GET_ATTRIBUTE', index=6, number=104,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='VTS_DRIVER_COMMAND_READ_SPECIFICATION', index=7, number=105,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='EXECUTE_COMMAND', index=8, number=201,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='INVOKE_SYSCALL', index=9, number=202,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='FMQ_OPERATION', index=10, number=301,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='HIDL_MEMORY_OPERATION', index=11, number=302,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='HIDL_HANDLE_OPERATION', index=12, number=303,
+ serialized_options=None,
+ type=None),
+ ],
+ containing_type=None,
+ serialized_options=None,
+ serialized_start=1147,
+ serialized_end=1466,
+)
+_sym_db.RegisterEnumDescriptor(_VTSDRIVERCOMMANDTYPE)
+
+VtsDriverCommandType = enum_type_wrapper.EnumTypeWrapper(_VTSDRIVERCOMMANDTYPE)
+_VTSDRIVERRESPONSECODE = _descriptor.EnumDescriptor(
+ name='VtsDriverResponseCode',
+ full_name='android.vts.VtsDriverResponseCode',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='UNKNOWN_VTS_DRIVER_RESPONSE_CODE', index=0, number=0,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='VTS_DRIVER_RESPONSE_SUCCESS', index=1, number=1,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='VTS_DRIVER_RESPONSE_FAIL', index=2, number=2,
+ serialized_options=None,
+ type=None),
+ ],
+ containing_type=None,
+ serialized_options=None,
+ serialized_start=1468,
+ serialized_end=1592,
+)
+_sym_db.RegisterEnumDescriptor(_VTSDRIVERRESPONSECODE)
+
+VtsDriverResponseCode = enum_type_wrapper.EnumTypeWrapper(_VTSDRIVERRESPONSECODE)
+UNKNOWN_VTS_DRIVER_COMMAND_TYPE = 0
+EXIT = 1
+GET_STATUS = 2
+LOAD_HAL = 101
+LIST_FUNCTIONS = 102
+CALL_FUNCTION = 103
+GET_ATTRIBUTE = 104
+VTS_DRIVER_COMMAND_READ_SPECIFICATION = 105
+EXECUTE_COMMAND = 201
+INVOKE_SYSCALL = 202
+FMQ_OPERATION = 301
+HIDL_MEMORY_OPERATION = 302
+HIDL_HANDLE_OPERATION = 303
+UNKNOWN_VTS_DRIVER_RESPONSE_CODE = 0
+VTS_DRIVER_RESPONSE_SUCCESS = 1
+VTS_DRIVER_RESPONSE_FAIL = 2
+
+
+
+_VTSDRIVERCONTROLCOMMANDMESSAGE = _descriptor.Descriptor(
+ name='VtsDriverControlCommandMessage',
+ full_name='android.vts.VtsDriverControlCommandMessage',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='command_type', full_name='android.vts.VtsDriverControlCommandMessage.command_type', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='status_type', full_name='android.vts.VtsDriverControlCommandMessage.status_type', index=1,
+ number=1101, type=5, cpp_type=1, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='file_path', full_name='android.vts.VtsDriverControlCommandMessage.file_path', index=2,
+ number=1201, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b(""),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='target_class', full_name='android.vts.VtsDriverControlCommandMessage.target_class', index=3,
+ number=1202, type=5, cpp_type=1, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='target_type', full_name='android.vts.VtsDriverControlCommandMessage.target_type', index=4,
+ number=1203, type=5, cpp_type=1, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='target_version', full_name='android.vts.VtsDriverControlCommandMessage.target_version', index=5,
+ number=1204, type=2, cpp_type=6, label=1,
+ has_default_value=False, default_value=float(0),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='module_name', full_name='android.vts.VtsDriverControlCommandMessage.module_name', index=6,
+ number=1205, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b(""),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='target_package', full_name='android.vts.VtsDriverControlCommandMessage.target_package', index=7,
+ number=1206, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b(""),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='target_component_name', full_name='android.vts.VtsDriverControlCommandMessage.target_component_name', index=8,
+ number=1207, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b(""),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='target_version_major', full_name='android.vts.VtsDriverControlCommandMessage.target_version_major', index=9,
+ number=1208, type=5, cpp_type=1, label=1,
+ has_default_value=True, default_value=-1,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='target_version_minor', full_name='android.vts.VtsDriverControlCommandMessage.target_version_minor', index=10,
+ number=1209, type=5, cpp_type=1, label=1,
+ has_default_value=True, default_value=-1,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='hw_binder_service_name', full_name='android.vts.VtsDriverControlCommandMessage.hw_binder_service_name', index=11,
+ number=1221, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b(""),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='arg', full_name='android.vts.VtsDriverControlCommandMessage.arg', index=12,
+ number=1401, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b(""),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='driver_caller_uid', full_name='android.vts.VtsDriverControlCommandMessage.driver_caller_uid', index=13,
+ number=1501, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b(""),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='shell_command', full_name='android.vts.VtsDriverControlCommandMessage.shell_command', index=14,
+ number=2001, type=12, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='fmq_request', full_name='android.vts.VtsDriverControlCommandMessage.fmq_request', index=15,
+ number=3001, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='hidl_memory_request', full_name='android.vts.VtsDriverControlCommandMessage.hidl_memory_request', index=16,
+ number=3002, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='hidl_handle_request', full_name='android.vts.VtsDriverControlCommandMessage.hidl_handle_request', index=17,
+ number=3003, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto2',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=83,
+ serialized_end=728,
+)
+
+
+_VTSDRIVERCONTROLRESPONSEMESSAGE = _descriptor.Descriptor(
+ name='VtsDriverControlResponseMessage',
+ full_name='android.vts.VtsDriverControlResponseMessage',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='response_code', full_name='android.vts.VtsDriverControlResponseMessage.response_code', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='return_value', full_name='android.vts.VtsDriverControlResponseMessage.return_value', index=1,
+ number=11, type=5, cpp_type=1, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='return_message', full_name='android.vts.VtsDriverControlResponseMessage.return_message', index=2,
+ number=12, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b(""),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='stdout_str', full_name='android.vts.VtsDriverControlResponseMessage.stdout_str', index=3,
+ number=1001, type=12, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='stderr_str', full_name='android.vts.VtsDriverControlResponseMessage.stderr_str', index=4,
+ number=1002, type=12, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='exit_code', full_name='android.vts.VtsDriverControlResponseMessage.exit_code', index=5,
+ number=1003, type=5, cpp_type=1, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='spec', full_name='android.vts.VtsDriverControlResponseMessage.spec', index=6,
+ number=2001, type=12, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='fmq_response', full_name='android.vts.VtsDriverControlResponseMessage.fmq_response', index=7,
+ number=3001, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='hidl_memory_response', full_name='android.vts.VtsDriverControlResponseMessage.hidl_memory_response', index=8,
+ number=3002, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='hidl_handle_response', full_name='android.vts.VtsDriverControlResponseMessage.hidl_handle_response', index=9,
+ number=3003, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto2',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=731,
+ serialized_end=1144,
+)
+
+_VTSDRIVERCONTROLCOMMANDMESSAGE.fields_by_name['command_type'].enum_type = _VTSDRIVERCOMMANDTYPE
+_VTSDRIVERCONTROLCOMMANDMESSAGE.fields_by_name['fmq_request'].message_type = VtsResourceControllerMessage__pb2._FMQREQUESTMESSAGE
+_VTSDRIVERCONTROLCOMMANDMESSAGE.fields_by_name['hidl_memory_request'].message_type = VtsResourceControllerMessage__pb2._HIDLMEMORYREQUESTMESSAGE
+_VTSDRIVERCONTROLCOMMANDMESSAGE.fields_by_name['hidl_handle_request'].message_type = VtsResourceControllerMessage__pb2._HIDLHANDLEREQUESTMESSAGE
+_VTSDRIVERCONTROLRESPONSEMESSAGE.fields_by_name['response_code'].enum_type = _VTSDRIVERRESPONSECODE
+_VTSDRIVERCONTROLRESPONSEMESSAGE.fields_by_name['fmq_response'].message_type = VtsResourceControllerMessage__pb2._FMQRESPONSEMESSAGE
+_VTSDRIVERCONTROLRESPONSEMESSAGE.fields_by_name['hidl_memory_response'].message_type = VtsResourceControllerMessage__pb2._HIDLMEMORYRESPONSEMESSAGE
+_VTSDRIVERCONTROLRESPONSEMESSAGE.fields_by_name['hidl_handle_response'].message_type = VtsResourceControllerMessage__pb2._HIDLHANDLERESPONSEMESSAGE
+DESCRIPTOR.message_types_by_name['VtsDriverControlCommandMessage'] = _VTSDRIVERCONTROLCOMMANDMESSAGE
+DESCRIPTOR.message_types_by_name['VtsDriverControlResponseMessage'] = _VTSDRIVERCONTROLRESPONSEMESSAGE
+DESCRIPTOR.enum_types_by_name['VtsDriverCommandType'] = _VTSDRIVERCOMMANDTYPE
+DESCRIPTOR.enum_types_by_name['VtsDriverResponseCode'] = _VTSDRIVERRESPONSECODE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+VtsDriverControlCommandMessage = _reflection.GeneratedProtocolMessageType('VtsDriverControlCommandMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _VTSDRIVERCONTROLCOMMANDMESSAGE,
+ '__module__' : 'VtsDriverControlMessage_pb2'
+ # @@protoc_insertion_point(class_scope:android.vts.VtsDriverControlCommandMessage)
+ })
+_sym_db.RegisterMessage(VtsDriverControlCommandMessage)
+
+VtsDriverControlResponseMessage = _reflection.GeneratedProtocolMessageType('VtsDriverControlResponseMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _VTSDRIVERCONTROLRESPONSEMESSAGE,
+ '__module__' : 'VtsDriverControlMessage_pb2'
+ # @@protoc_insertion_point(class_scope:android.vts.VtsDriverControlResponseMessage)
+ })
+_sym_db.RegisterMessage(VtsDriverControlResponseMessage)
+
+
+_VTSDRIVERCONTROLCOMMANDMESSAGE.fields_by_name['target_version']._options = None
+# @@protoc_insertion_point(module_scope)
diff --git a/proto/VtsFuzzTaskMessage_pb2.py b/proto/VtsFuzzTaskMessage_pb2.py
index 64978f2..64a7ff2 100644
--- a/proto/VtsFuzzTaskMessage_pb2.py
+++ b/proto/VtsFuzzTaskMessage_pb2.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: VtsFuzzTaskMessage.proto
@@ -8,7 +9,6 @@
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
@@ -22,10 +22,10 @@
name='VtsFuzzTaskMessage.proto',
package='android.vts',
syntax='proto2',
+ serialized_options=_b('\n\025com.android.vts.protoB\027VtsFuzzTaskMessageClass'),
serialized_pb=_b('\n\x18VtsFuzzTaskMessage.proto\x12\x0b\x61ndroid.vts\x1a#ComponentSpecificationMessage.proto\x1a\x16VtsReportMessage.proto\"\x84\x01\n\x1dTestSuiteSpecificationMessage\x12\x12\n\ntest_suite\x18\x01 \x01(\x0c\x12\x0e\n\x06\x62ranch\x18\x0b \x01(\x0c\x12\x16\n\x0etarget_product\x18\x0c \x01(\x0c\x12\x15\n\rbuild_variant\x18\r \x01(\x0c\x12\x10\n\x08\x62uild_id\x18\x15 \x01(\x0c\"\xf4\x01\n\x1a\x43orpusSpecificationMessage\x12\x34\n\x0f\x63omponent_class\x18\x01 \x01(\x0e\x32\x1b.android.vts.ComponentClass\x12\x18\n\x10\x63orpus_file_name\x18\x02 \x03(\x0c\x12\x18\n\x10hal_package_name\x18\x0b \x01(\x0c\x12\x1a\n\x12hal_transport_type\x18\x0c \x01(\x0c\x12\x19\n\x11hal_major_version\x18\r \x01(\x05\x12\x19\n\x11hal_minor_version\x18\x0e \x01(\x05\x12\x1a\n\x12hal_interface_name\x18\x0f \x01(\x0c\"\x85\x03\n\x13\x46uzzTaskUnitMessage\x12#\n\x06status\x18\x01 \x01(\x0e\x32\x13.android.vts.Status\x12(\n\x0bresult_type\x18\x02 \x01(\x0e\x32\x13.android.vts.Result\x12,\n\x03log\x18\x03 \x03(\x0b\x32\x1f.android.vts.UrlResourceMessage\x12\x1a\n\x12\x63reation_timestamp\x18\x0b \x01(\x03\x12\x1f\n\x17status_change_timestamp\x18\x0c \x01(\x03\x12:\n\x0b\x64\x65vice_info\x18\x15 \x01(\x0b\x32%.android.vts.AndroidDeviceInfoMessage\x12\x31\n\nbuild_info\x18\x16 \x01(\x0b\x32\x1d.android.vts.AndroidBuildInfo\x12\x45\n\x11test_suite_target\x18\x17 \x01(\x0b\x32*.android.vts.TestSuiteSpecificationMessage\"\xad\x01\n\x12VtsFuzzTaskMessage\x12\x0f\n\x07task_id\x18\x01 \x01(\x05\x12\x33\n\ttask_unit\x18\x02 \x03(\x0b\x32 .android.vts.FuzzTaskUnitMessage\x12\x18\n\x10test_module_name\x18\x0b \x01(\x0c\x12\x37\n\x06\x63orpus\x18\x15 \x01(\x0b\x32\'.android.vts.CorpusSpecificationMessage*.\n\x06Status\x12\t\n\x05READY\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\r\n\tPROCESSED\x10\x02*I\n\x06Result\x12\x11\n\rNOT_PROCESSED\x10\x00\x12\x13\n\x0f\x43RASH_DUPLICATE\x10\x01\x12\r\n\tCRASH_NEW\x10\x02\x12\x08\n\x04PASS\x10\x03\x42\x30\n\x15\x63om.android.vts.protoB\x17VtsFuzzTaskMessageClass')
,
dependencies=[ComponentSpecificationMessage__pb2.DESCRIPTOR,VtsReportMessage__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_STATUS = _descriptor.EnumDescriptor(
name='Status',
@@ -35,19 +35,19 @@
values=[
_descriptor.EnumValueDescriptor(
name='READY', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='LOCKED', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='PROCESSED', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=1052,
serialized_end=1098,
)
@@ -62,23 +62,23 @@
values=[
_descriptor.EnumValueDescriptor(
name='NOT_PROCESSED', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CRASH_DUPLICATE', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CRASH_NEW', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='PASS', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=1100,
serialized_end=1173,
)
@@ -108,42 +108,42 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='branch', full_name='android.vts.TestSuiteSpecificationMessage.branch', index=1,
number=11, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='target_product', full_name='android.vts.TestSuiteSpecificationMessage.target_product', index=2,
number=12, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_variant', full_name='android.vts.TestSuiteSpecificationMessage.build_variant', index=3,
number=13, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_id', full_name='android.vts.TestSuiteSpecificationMessage.build_id', index=4,
number=21, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -167,56 +167,56 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='corpus_file_name', full_name='android.vts.CorpusSpecificationMessage.corpus_file_name', index=1,
number=2, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_package_name', full_name='android.vts.CorpusSpecificationMessage.hal_package_name', index=2,
number=11, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_transport_type', full_name='android.vts.CorpusSpecificationMessage.hal_transport_type', index=3,
number=12, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_major_version', full_name='android.vts.CorpusSpecificationMessage.hal_major_version', index=4,
number=13, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_minor_version', full_name='android.vts.CorpusSpecificationMessage.hal_minor_version', index=5,
number=14, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_interface_name', full_name='android.vts.CorpusSpecificationMessage.hal_interface_name', index=6,
number=15, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -240,63 +240,63 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='result_type', full_name='android.vts.FuzzTaskUnitMessage.result_type', index=1,
number=2, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='log', full_name='android.vts.FuzzTaskUnitMessage.log', index=2,
number=3, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='creation_timestamp', full_name='android.vts.FuzzTaskUnitMessage.creation_timestamp', index=3,
number=11, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='status_change_timestamp', full_name='android.vts.FuzzTaskUnitMessage.status_change_timestamp', index=4,
number=12, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='device_info', full_name='android.vts.FuzzTaskUnitMessage.device_info', index=5,
number=21, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_info', full_name='android.vts.FuzzTaskUnitMessage.build_info', index=6,
number=22, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_suite_target', full_name='android.vts.FuzzTaskUnitMessage.test_suite_target', index=7,
number=23, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -320,35 +320,35 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='task_unit', full_name='android.vts.VtsFuzzTaskMessage.task_unit', index=1,
number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_module_name', full_name='android.vts.VtsFuzzTaskMessage.test_module_name', index=2,
number=11, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='corpus', full_name='android.vts.VtsFuzzTaskMessage.corpus', index=3,
number=21, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -373,36 +373,36 @@
DESCRIPTOR.message_types_by_name['VtsFuzzTaskMessage'] = _VTSFUZZTASKMESSAGE
DESCRIPTOR.enum_types_by_name['Status'] = _STATUS
DESCRIPTOR.enum_types_by_name['Result'] = _RESULT
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-TestSuiteSpecificationMessage = _reflection.GeneratedProtocolMessageType('TestSuiteSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _TESTSUITESPECIFICATIONMESSAGE,
- __module__ = 'VtsFuzzTaskMessage_pb2'
+TestSuiteSpecificationMessage = _reflection.GeneratedProtocolMessageType('TestSuiteSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _TESTSUITESPECIFICATIONMESSAGE,
+ '__module__' : 'VtsFuzzTaskMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.TestSuiteSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(TestSuiteSpecificationMessage)
-CorpusSpecificationMessage = _reflection.GeneratedProtocolMessageType('CorpusSpecificationMessage', (_message.Message,), dict(
- DESCRIPTOR = _CORPUSSPECIFICATIONMESSAGE,
- __module__ = 'VtsFuzzTaskMessage_pb2'
+CorpusSpecificationMessage = _reflection.GeneratedProtocolMessageType('CorpusSpecificationMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _CORPUSSPECIFICATIONMESSAGE,
+ '__module__' : 'VtsFuzzTaskMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.CorpusSpecificationMessage)
- ))
+ })
_sym_db.RegisterMessage(CorpusSpecificationMessage)
-FuzzTaskUnitMessage = _reflection.GeneratedProtocolMessageType('FuzzTaskUnitMessage', (_message.Message,), dict(
- DESCRIPTOR = _FUZZTASKUNITMESSAGE,
- __module__ = 'VtsFuzzTaskMessage_pb2'
+FuzzTaskUnitMessage = _reflection.GeneratedProtocolMessageType('FuzzTaskUnitMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _FUZZTASKUNITMESSAGE,
+ '__module__' : 'VtsFuzzTaskMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.FuzzTaskUnitMessage)
- ))
+ })
_sym_db.RegisterMessage(FuzzTaskUnitMessage)
-VtsFuzzTaskMessage = _reflection.GeneratedProtocolMessageType('VtsFuzzTaskMessage', (_message.Message,), dict(
- DESCRIPTOR = _VTSFUZZTASKMESSAGE,
- __module__ = 'VtsFuzzTaskMessage_pb2'
+VtsFuzzTaskMessage = _reflection.GeneratedProtocolMessageType('VtsFuzzTaskMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _VTSFUZZTASKMESSAGE,
+ '__module__' : 'VtsFuzzTaskMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.VtsFuzzTaskMessage)
- ))
+ })
_sym_db.RegisterMessage(VtsFuzzTaskMessage)
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.android.vts.protoB\027VtsFuzzTaskMessageClass'))
+DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
diff --git a/proto/VtsProfilingMessage_pb2.py b/proto/VtsProfilingMessage_pb2.py
index 850c059..27b18d9 100644
--- a/proto/VtsProfilingMessage_pb2.py
+++ b/proto/VtsProfilingMessage_pb2.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: VtsProfilingMessage.proto
@@ -8,7 +9,6 @@
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
@@ -21,10 +21,10 @@
name='VtsProfilingMessage.proto',
package='android.vts',
syntax='proto2',
+ serialized_options=_b('\n\025com.android.vts.protoB\030VtsProfilingMessageClass'),
serialized_pb=_b('\n\x19VtsProfilingMessage.proto\x12\x0b\x61ndroid.vts\x1a#ComponentSpecificationMessage.proto\"\x89\x02\n\x12VtsProfilingRecord\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x34\n\x05\x65vent\x18\x02 \x01(\x0e\x32%.android.vts.InstrumentationEventType\x12\x0f\n\x07package\x18\x03 \x01(\x0c\x12\x13\n\x07version\x18\x04 \x01(\x02\x42\x02\x18\x01\x12\x11\n\tinterface\x18\x05 \x01(\x0c\x12;\n\x08\x66unc_msg\x18\x06 \x01(\x0b\x32).android.vts.FunctionSpecificationMessage\x12\x19\n\rversion_major\x18\x07 \x01(\x05:\x02-1\x12\x19\n\rversion_minor\x18\x08 \x01(\x05:\x02-1\"G\n\x13VtsProfilingMessage\x12\x30\n\x07records\x18\x01 \x03(\x0b\x32\x1f.android.vts.VtsProfilingRecord*\x81\x02\n\x18InstrumentationEventType\x12\x14\n\x10SERVER_API_ENTRY\x10\x00\x12\x13\n\x0fSERVER_API_EXIT\x10\x01\x12\x14\n\x10\x43LIENT_API_ENTRY\x10\x02\x12\x13\n\x0f\x43LIENT_API_EXIT\x10\x03\x12\x17\n\x13SYNC_CALLBACK_ENTRY\x10\x04\x12\x16\n\x12SYNC_CALLBACK_EXIT\x10\x05\x12\x18\n\x14\x41SYNC_CALLBACK_ENTRY\x10\x06\x12\x17\n\x13\x41SYNC_CALLBACK_EXIT\x10\x07\x12\x15\n\x11PASSTHROUGH_ENTRY\x10\x08\x12\x14\n\x10PASSTHROUGH_EXIT\x10\tB1\n\x15\x63om.android.vts.protoB\x18VtsProfilingMessageClass')
,
dependencies=[ComponentSpecificationMessage__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_INSTRUMENTATIONEVENTTYPE = _descriptor.EnumDescriptor(
name='InstrumentationEventType',
@@ -34,47 +34,47 @@
values=[
_descriptor.EnumValueDescriptor(
name='SERVER_API_ENTRY', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SERVER_API_EXIT', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CLIENT_API_ENTRY', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='CLIENT_API_EXIT', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SYNC_CALLBACK_ENTRY', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='SYNC_CALLBACK_EXIT', index=5, number=5,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='ASYNC_CALLBACK_ENTRY', index=6, number=6,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='ASYNC_CALLBACK_EXIT', index=7, number=7,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='PASSTHROUGH_ENTRY', index=8, number=8,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='PASSTHROUGH_EXIT', index=9, number=9,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=421,
serialized_end=678,
)
@@ -107,63 +107,63 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='event', full_name='android.vts.VtsProfilingRecord.event', index=1,
number=2, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='package', full_name='android.vts.VtsProfilingRecord.package', index=2,
number=3, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='version', full_name='android.vts.VtsProfilingRecord.version', index=3,
number=4, type=2, cpp_type=6, label=1,
has_default_value=False, default_value=float(0),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='interface', full_name='android.vts.VtsProfilingRecord.interface', index=4,
number=5, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='func_msg', full_name='android.vts.VtsProfilingRecord.func_msg', index=5,
number=6, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='version_major', full_name='android.vts.VtsProfilingRecord.version_major', index=6,
number=7, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='version_minor', full_name='android.vts.VtsProfilingRecord.version_minor', index=7,
number=8, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -187,14 +187,14 @@
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -210,24 +210,23 @@
DESCRIPTOR.message_types_by_name['VtsProfilingRecord'] = _VTSPROFILINGRECORD
DESCRIPTOR.message_types_by_name['VtsProfilingMessage'] = _VTSPROFILINGMESSAGE
DESCRIPTOR.enum_types_by_name['InstrumentationEventType'] = _INSTRUMENTATIONEVENTTYPE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-VtsProfilingRecord = _reflection.GeneratedProtocolMessageType('VtsProfilingRecord', (_message.Message,), dict(
- DESCRIPTOR = _VTSPROFILINGRECORD,
- __module__ = 'VtsProfilingMessage_pb2'
+VtsProfilingRecord = _reflection.GeneratedProtocolMessageType('VtsProfilingRecord', (_message.Message,), {
+ 'DESCRIPTOR' : _VTSPROFILINGRECORD,
+ '__module__' : 'VtsProfilingMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.VtsProfilingRecord)
- ))
+ })
_sym_db.RegisterMessage(VtsProfilingRecord)
-VtsProfilingMessage = _reflection.GeneratedProtocolMessageType('VtsProfilingMessage', (_message.Message,), dict(
- DESCRIPTOR = _VTSPROFILINGMESSAGE,
- __module__ = 'VtsProfilingMessage_pb2'
+VtsProfilingMessage = _reflection.GeneratedProtocolMessageType('VtsProfilingMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _VTSPROFILINGMESSAGE,
+ '__module__' : 'VtsProfilingMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.VtsProfilingMessage)
- ))
+ })
_sym_db.RegisterMessage(VtsProfilingMessage)
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.android.vts.protoB\030VtsProfilingMessageClass'))
-_VTSPROFILINGRECORD.fields_by_name['version'].has_options = True
-_VTSPROFILINGRECORD.fields_by_name['version']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
+DESCRIPTOR._options = None
+_VTSPROFILINGRECORD.fields_by_name['version']._options = None
# @@protoc_insertion_point(module_scope)
diff --git a/proto/VtsReportMessage_pb2.py b/proto/VtsReportMessage_pb2.py
index 5da6b95..75177c2 100644
--- a/proto/VtsReportMessage_pb2.py
+++ b/proto/VtsReportMessage_pb2.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: VtsReportMessage.proto
@@ -8,7 +9,6 @@
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
@@ -20,9 +20,9 @@
name='VtsReportMessage.proto',
package='android.vts',
syntax='proto2',
+ serialized_options=_b('\n\025com.android.vts.protoB\020VtsReportMessageP\000'),
serialized_pb=_b('\n\x16VtsReportMessage.proto\x12\x0b\x61ndroid.vts\"\xe0\x01\n\x18\x41ndroidDeviceInfoMessage\x12\x14\n\x0cproduct_type\x18\x01 \x01(\x0c\x12\x17\n\x0fproduct_variant\x18\x02 \x01(\x0c\x12\x14\n\x0c\x62uild_flavor\x18\x0b \x01(\x0c\x12\x10\n\x08\x62uild_id\x18\x0c \x01(\x0c\x12\x0e\n\x06\x62ranch\x18\x15 \x01(\x0c\x12\x13\n\x0b\x62uild_alias\x18\x16 \x01(\x0c\x12\x11\n\tapi_level\x18\x1f \x01(\x0c\x12\x10\n\x08\x61\x62i_name\x18\x33 \x01(\x0c\x12\x13\n\x0b\x61\x62i_bitness\x18\x34 \x01(\x0c\x12\x0e\n\x06serial\x18\x65 \x01(\x0c\"g\n\x10\x41ndroidBuildInfo\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x0b \x01(\x0c\x12\x12\n\nbuild_type\x18\x0c \x01(\x0c\x12\x0e\n\x06\x62ranch\x18\r \x01(\x0c\x12\x15\n\rbuild_summary\x18\x15 \x01(\x0c\"\x1f\n\x0bVtsHostInfo\x12\x10\n\x08hostname\x18\x01 \x01(\x0c\"\xd5\x02\n\x15TestCaseReportMessage\x12\x0c\n\x04name\x18\x01 \x01(\x0c\x12\x30\n\x0btest_result\x18\x0b \x01(\x0e\x32\x1b.android.vts.TestCaseResult\x12\x17\n\x0fstart_timestamp\x18\x15 \x01(\x03\x12\x15\n\rend_timestamp\x18\x16 \x01(\x03\x12\x34\n\x08\x63overage\x18\x1f \x03(\x0b\x32\".android.vts.CoverageReportMessage\x12\x36\n\tprofiling\x18) \x03(\x0b\x32#.android.vts.ProfilingReportMessage\x12\x38\n\x08systrace\x18* \x03(\x0b\x32\".android.vts.SystraceReportMessageB\x02\x18\x01\x12$\n\x03log\x18\x65 \x03(\x0b\x32\x17.android.vts.LogMessage\"\xa0\x02\n\x16ProfilingReportMessage\x12\x0c\n\x04name\x18\x01 \x01(\x0c\x12+\n\x04type\x18\x02 \x01(\x0e\x32\x1d.android.vts.VtsProfilingType\x12@\n\x0fregression_mode\x18\x03 \x01(\x0e\x32\'.android.vts.VtsProfilingRegressionMode\x12\x17\n\x0fstart_timestamp\x18\x0b \x01(\x03\x12\x15\n\rend_timestamp\x18\x0c \x01(\x03\x12\r\n\x05label\x18\x15 \x03(\x0c\x12\r\n\x05value\x18\x16 \x03(\x03\x12\x14\n\x0cx_axis_label\x18\x1f \x01(\x0c\x12\x14\n\x0cy_axis_label\x18 \x01(\x0c\x12\x0f\n\x07options\x18) \x03(\x0c\"H\n\x15SystraceReportMessage\x12\x14\n\x0cprocess_name\x18\x01 \x01(\x0c\x12\x0c\n\x04html\x18\x0b \x03(\x0c\x12\x0b\n\x03url\x18\x15 \x03(\x0c\"\xe5\x01\n\x15\x43overageReportMessage\x12\x11\n\tfile_path\x18\x0b \x01(\x0c\x12\x14\n\x0cproject_name\x18\x0c \x01(\x0c\x12\x10\n\x08revision\x18\r \x01(\x0c\x12\x1c\n\x14line_coverage_vector\x18\x17 \x03(\x03\x12\x18\n\x10total_line_count\x18\x65 \x01(\x05\x12\x1a\n\x12\x63overed_line_count\x18\x66 \x01(\x05\x12\x14\n\x08\x64ir_path\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x15\n\tfile_name\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12\x10\n\x04html\x18\x03 \x01(\x0c\x42\x02\x18\x01\"\x9c\x01\n\x13HalInterfaceMessage\x12\x18\n\x10hal_package_name\x18\x01 \x01(\x0c\x12\x19\n\x11hal_version_major\x18\x02 \x01(\x05\x12\x19\n\x11hal_version_minor\x18\x03 \x01(\x05\x12\x1a\n\x12hal_interface_name\x18\x04 \x01(\x0c\x12\x19\n\x11hal_release_level\x18\x05 \x01(\x0c\"}\n\x18\x41piCoverageReportMessage\x12\x37\n\rhal_interface\x18\x01 \x01(\x0b\x32 .android.vts.HalInterfaceMessage\x12\x0f\n\x07hal_api\x18\x0b \x03(\x0c\x12\x17\n\x0f\x63overed_hal_api\x18\x0c \x03(\x0c\"8\n\nLogMessage\x12\x0b\n\x03url\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\"@\n\x12UrlResourceMessage\x12\x0b\n\x03url\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\"\xc8\x05\n\x11TestReportMessage\x12\x16\n\ntest_suite\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x0c\n\x04test\x18\x02 \x01(\x0c\x12+\n\ttest_type\x18\x03 \x01(\x0e\x32\x18.android.vts.VtsTestType\x12:\n\x0b\x64\x65vice_info\x18\x04 \x03(\x0b\x32%.android.vts.AndroidDeviceInfoMessage\x12\x31\n\nbuild_info\x18\x05 \x01(\x0b\x32\x1d.android.vts.AndroidBuildInfo\x12\x18\n\x10subscriber_email\x18\x06 \x03(\x0c\x12+\n\thost_info\x18\x07 \x01(\x0b\x32\x18.android.vts.VtsHostInfo\x12\x35\n\ttest_case\x18\x0b \x03(\x0b\x32\".android.vts.TestCaseReportMessage\x12\x36\n\tprofiling\x18\x15 \x03(\x0b\x32#.android.vts.ProfilingReportMessage\x12\x38\n\x08systrace\x18\x16 \x03(\x0b\x32\".android.vts.SystraceReportMessageB\x02\x18\x01\x12\x17\n\x0fstart_timestamp\x18\x65 \x01(\x03\x12\x15\n\rend_timestamp\x18\x66 \x01(\x03\x12\x34\n\x08\x63overage\x18g \x03(\x0b\x32\".android.vts.CoverageReportMessage\x12;\n\x0c\x61pi_coverage\x18h \x03(\x0b\x32%.android.vts.ApiCoverageReportMessage\x12%\n\x03log\x18\xe9\x07 \x03(\x0b\x32\x17.android.vts.LogMessage\x12\x37\n\rlink_resource\x18\xf3\x07 \x03(\x0b\x32\x1f.android.vts.UrlResourceMessage\"\xe6\x01\n\x15TestPlanReportMessage\x12\x18\n\x10test_module_name\x18\x0b \x03(\t\x12#\n\x1btest_module_start_timestamp\x18\x0c \x03(\x03\x12\x16\n\x0etest_plan_name\x18\x15 \x01(\t\x12\x37\n\x0epartner_report\x18\x1f \x03(\x0b\x32\x1f.android.vts.UrlResourceMessage\x12=\n\x0ehal_api_report\x18) \x03(\x0b\x32%.android.vts.ApiCoverageReportMessage\"\x9f\x01\n\x14\x44\x61shboardPostMessage\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\t\x12\x33\n\x0btest_report\x18\x02 \x03(\x0b\x32\x1e.android.vts.TestReportMessage\x12<\n\x10test_plan_report\x18\x03 \x03(\x0b\x32\".android.vts.TestPlanReportMessage*\xb3\x01\n\x0eTestCaseResult\x12\x12\n\x0eUNKNOWN_RESULT\x10\x00\x12\x19\n\x15TEST_CASE_RESULT_PASS\x10\x01\x12\x19\n\x15TEST_CASE_RESULT_FAIL\x10\x02\x12\x19\n\x15TEST_CASE_RESULT_SKIP\x10\x03\x12\x1e\n\x1aTEST_CASE_RESULT_EXCEPTION\x10\x04\x12\x1c\n\x18TEST_CASE_RESULT_TIMEOUT\x10\x05*\x9c\x01\n\x0bVtsTestType\x12\x18\n\x14UNKNOWN_VTS_TESTTYPE\x10\x00\x12\x1e\n\x1aVTS_HOST_DRIVEN_STRUCTURAL\x10\x01\x12\x1b\n\x17VTS_HOST_DRIVEN_FUZZING\x10\x02\x12\x19\n\x15VTS_TARGET_SIDE_GTEST\x10\x03\x12\x1b\n\x17VTS_TARGET_SIDE_FUZZING\x10\x04*\xa3\x01\n\x1aVtsProfilingRegressionMode\x12\x1b\n\x17UNKNOWN_REGRESSION_MODE\x10\x00\x12 \n\x1cVTS_REGRESSION_MODE_DISABLED\x10\x01\x12\"\n\x1eVTS_REGRESSION_MODE_INCREASING\x10\x02\x12\"\n\x1eVTS_REGRESSION_MODE_DECREASING\x10\x03*\xa4\x01\n\x10VtsProfilingType\x12\x1e\n\x1aUNKNOWN_VTS_PROFILING_TYPE\x10\x00\x12 \n\x1cVTS_PROFILING_TYPE_TIMESTAMP\x10\x01\x12%\n!VTS_PROFILING_TYPE_LABELED_VECTOR\x10\x02\x12\'\n#VTS_PROFILING_TYPE_UNLABELED_VECTOR\x10\x03\x42+\n\x15\x63om.android.vts.protoB\x10VtsReportMessageP\x00')
)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_TESTCASERESULT = _descriptor.EnumDescriptor(
name='TestCaseResult',
@@ -32,31 +32,31 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_RESULT', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TEST_CASE_RESULT_PASS', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TEST_CASE_RESULT_FAIL', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TEST_CASE_RESULT_SKIP', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TEST_CASE_RESULT_EXCEPTION', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='TEST_CASE_RESULT_TIMEOUT', index=5, number=5,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=2866,
serialized_end=3045,
)
@@ -71,27 +71,27 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_VTS_TESTTYPE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_HOST_DRIVEN_STRUCTURAL', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_HOST_DRIVEN_FUZZING', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_TARGET_SIDE_GTEST', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_TARGET_SIDE_FUZZING', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=3048,
serialized_end=3204,
)
@@ -106,23 +106,23 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_REGRESSION_MODE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_REGRESSION_MODE_DISABLED', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_REGRESSION_MODE_INCREASING', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_REGRESSION_MODE_DECREASING', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=3207,
serialized_end=3370,
)
@@ -137,23 +137,23 @@
values=[
_descriptor.EnumValueDescriptor(
name='UNKNOWN_VTS_PROFILING_TYPE', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_PROFILING_TYPE_TIMESTAMP', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_PROFILING_TYPE_LABELED_VECTOR', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='VTS_PROFILING_TYPE_UNLABELED_VECTOR', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=3373,
serialized_end=3537,
)
@@ -195,77 +195,77 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='product_variant', full_name='android.vts.AndroidDeviceInfoMessage.product_variant', index=1,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_flavor', full_name='android.vts.AndroidDeviceInfoMessage.build_flavor', index=2,
number=11, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_id', full_name='android.vts.AndroidDeviceInfoMessage.build_id', index=3,
number=12, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='branch', full_name='android.vts.AndroidDeviceInfoMessage.branch', index=4,
number=21, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_alias', full_name='android.vts.AndroidDeviceInfoMessage.build_alias', index=5,
number=22, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='api_level', full_name='android.vts.AndroidDeviceInfoMessage.api_level', index=6,
number=31, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='abi_name', full_name='android.vts.AndroidDeviceInfoMessage.abi_name', index=7,
number=51, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='abi_bitness', full_name='android.vts.AndroidDeviceInfoMessage.abi_bitness', index=8,
number=52, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='serial', full_name='android.vts.AndroidDeviceInfoMessage.serial', index=9,
number=101, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -289,42 +289,42 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='name', full_name='android.vts.AndroidBuildInfo.name', index=1,
number=11, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_type', full_name='android.vts.AndroidBuildInfo.build_type', index=2,
number=12, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='branch', full_name='android.vts.AndroidBuildInfo.branch', index=3,
number=13, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_summary', full_name='android.vts.AndroidBuildInfo.build_summary', index=4,
number=21, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -348,14 +348,14 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -379,63 +379,63 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_result', full_name='android.vts.TestCaseReportMessage.test_result', index=1,
number=11, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='start_timestamp', full_name='android.vts.TestCaseReportMessage.start_timestamp', index=2,
number=21, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='end_timestamp', full_name='android.vts.TestCaseReportMessage.end_timestamp', index=3,
number=22, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='coverage', full_name='android.vts.TestCaseReportMessage.coverage', index=4,
number=31, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='profiling', full_name='android.vts.TestCaseReportMessage.profiling', index=5,
number=41, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='systrace', full_name='android.vts.TestCaseReportMessage.systrace', index=6,
number=42, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='log', full_name='android.vts.TestCaseReportMessage.log', index=7,
number=101, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -459,77 +459,77 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='type', full_name='android.vts.ProfilingReportMessage.type', index=1,
number=2, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='regression_mode', full_name='android.vts.ProfilingReportMessage.regression_mode', index=2,
number=3, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='start_timestamp', full_name='android.vts.ProfilingReportMessage.start_timestamp', index=3,
number=11, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='end_timestamp', full_name='android.vts.ProfilingReportMessage.end_timestamp', index=4,
number=12, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='label', full_name='android.vts.ProfilingReportMessage.label', index=5,
number=21, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='value', full_name='android.vts.ProfilingReportMessage.value', index=6,
number=22, type=3, cpp_type=2, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='x_axis_label', full_name='android.vts.ProfilingReportMessage.x_axis_label', index=7,
number=31, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='y_axis_label', full_name='android.vts.ProfilingReportMessage.y_axis_label', index=8,
number=32, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='options', full_name='android.vts.ProfilingReportMessage.options', index=9,
number=41, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -553,28 +553,28 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='html', full_name='android.vts.SystraceReportMessage.html', index=1,
number=11, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='url', full_name='android.vts.SystraceReportMessage.url', index=2,
number=21, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -598,70 +598,70 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='project_name', full_name='android.vts.CoverageReportMessage.project_name', index=1,
number=12, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='revision', full_name='android.vts.CoverageReportMessage.revision', index=2,
number=13, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='line_coverage_vector', full_name='android.vts.CoverageReportMessage.line_coverage_vector', index=3,
number=23, type=3, cpp_type=2, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='total_line_count', full_name='android.vts.CoverageReportMessage.total_line_count', index=4,
number=101, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='covered_line_count', full_name='android.vts.CoverageReportMessage.covered_line_count', index=5,
number=102, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='dir_path', full_name='android.vts.CoverageReportMessage.dir_path', index=6,
number=1, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='file_name', full_name='android.vts.CoverageReportMessage.file_name', index=7,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='html', full_name='android.vts.CoverageReportMessage.html', index=8,
number=3, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -685,42 +685,42 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_version_major', full_name='android.vts.HalInterfaceMessage.hal_version_major', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_version_minor', full_name='android.vts.HalInterfaceMessage.hal_version_minor', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_interface_name', full_name='android.vts.HalInterfaceMessage.hal_interface_name', index=3,
number=4, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_release_level', full_name='android.vts.HalInterfaceMessage.hal_release_level', index=4,
number=5, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -744,28 +744,28 @@
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_api', full_name='android.vts.ApiCoverageReportMessage.hal_api', index=1,
number=11, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='covered_hal_api', full_name='android.vts.ApiCoverageReportMessage.covered_hal_api', index=2,
number=12, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -789,28 +789,28 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='name', full_name='android.vts.LogMessage.name', index=1,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='content', full_name='android.vts.LogMessage.content', index=2,
number=3, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -834,28 +834,28 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='name', full_name='android.vts.UrlResourceMessage.name', index=1,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='content', full_name='android.vts.UrlResourceMessage.content', index=2,
number=3, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -879,119 +879,119 @@
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test', full_name='android.vts.TestReportMessage.test', index=1,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_type', full_name='android.vts.TestReportMessage.test_type', index=2,
number=3, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='device_info', full_name='android.vts.TestReportMessage.device_info', index=3,
number=4, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='build_info', full_name='android.vts.TestReportMessage.build_info', index=4,
number=5, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='subscriber_email', full_name='android.vts.TestReportMessage.subscriber_email', index=5,
number=6, type=12, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='host_info', full_name='android.vts.TestReportMessage.host_info', index=6,
number=7, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_case', full_name='android.vts.TestReportMessage.test_case', index=7,
number=11, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='profiling', full_name='android.vts.TestReportMessage.profiling', index=8,
number=21, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='systrace', full_name='android.vts.TestReportMessage.systrace', index=9,
number=22, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))),
+ serialized_options=_b('\030\001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='start_timestamp', full_name='android.vts.TestReportMessage.start_timestamp', index=10,
number=101, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='end_timestamp', full_name='android.vts.TestReportMessage.end_timestamp', index=11,
number=102, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='coverage', full_name='android.vts.TestReportMessage.coverage', index=12,
number=103, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='api_coverage', full_name='android.vts.TestReportMessage.api_coverage', index=13,
number=104, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='log', full_name='android.vts.TestReportMessage.log', index=14,
number=1001, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='link_resource', full_name='android.vts.TestReportMessage.link_resource', index=15,
number=1011, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1015,42 +1015,42 @@
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_module_start_timestamp', full_name='android.vts.TestPlanReportMessage.test_module_start_timestamp', index=1,
number=12, type=3, cpp_type=2, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_plan_name', full_name='android.vts.TestPlanReportMessage.test_plan_name', index=2,
number=21, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='partner_report', full_name='android.vts.TestPlanReportMessage.partner_report', index=3,
number=31, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='hal_api_report', full_name='android.vts.TestPlanReportMessage.hal_api_report', index=4,
number=41, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1074,28 +1074,28 @@
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_report', full_name='android.vts.DashboardPostMessage.test_report', index=1,
number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='test_plan_report', full_name='android.vts.DashboardPostMessage.test_plan_report', index=2,
number=3, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -1146,118 +1146,112 @@
DESCRIPTOR.enum_types_by_name['VtsTestType'] = _VTSTESTTYPE
DESCRIPTOR.enum_types_by_name['VtsProfilingRegressionMode'] = _VTSPROFILINGREGRESSIONMODE
DESCRIPTOR.enum_types_by_name['VtsProfilingType'] = _VTSPROFILINGTYPE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-AndroidDeviceInfoMessage = _reflection.GeneratedProtocolMessageType('AndroidDeviceInfoMessage', (_message.Message,), dict(
- DESCRIPTOR = _ANDROIDDEVICEINFOMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+AndroidDeviceInfoMessage = _reflection.GeneratedProtocolMessageType('AndroidDeviceInfoMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _ANDROIDDEVICEINFOMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.AndroidDeviceInfoMessage)
- ))
+ })
_sym_db.RegisterMessage(AndroidDeviceInfoMessage)
-AndroidBuildInfo = _reflection.GeneratedProtocolMessageType('AndroidBuildInfo', (_message.Message,), dict(
- DESCRIPTOR = _ANDROIDBUILDINFO,
- __module__ = 'VtsReportMessage_pb2'
+AndroidBuildInfo = _reflection.GeneratedProtocolMessageType('AndroidBuildInfo', (_message.Message,), {
+ 'DESCRIPTOR' : _ANDROIDBUILDINFO,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.AndroidBuildInfo)
- ))
+ })
_sym_db.RegisterMessage(AndroidBuildInfo)
-VtsHostInfo = _reflection.GeneratedProtocolMessageType('VtsHostInfo', (_message.Message,), dict(
- DESCRIPTOR = _VTSHOSTINFO,
- __module__ = 'VtsReportMessage_pb2'
+VtsHostInfo = _reflection.GeneratedProtocolMessageType('VtsHostInfo', (_message.Message,), {
+ 'DESCRIPTOR' : _VTSHOSTINFO,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.VtsHostInfo)
- ))
+ })
_sym_db.RegisterMessage(VtsHostInfo)
-TestCaseReportMessage = _reflection.GeneratedProtocolMessageType('TestCaseReportMessage', (_message.Message,), dict(
- DESCRIPTOR = _TESTCASEREPORTMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+TestCaseReportMessage = _reflection.GeneratedProtocolMessageType('TestCaseReportMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _TESTCASEREPORTMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.TestCaseReportMessage)
- ))
+ })
_sym_db.RegisterMessage(TestCaseReportMessage)
-ProfilingReportMessage = _reflection.GeneratedProtocolMessageType('ProfilingReportMessage', (_message.Message,), dict(
- DESCRIPTOR = _PROFILINGREPORTMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+ProfilingReportMessage = _reflection.GeneratedProtocolMessageType('ProfilingReportMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _PROFILINGREPORTMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.ProfilingReportMessage)
- ))
+ })
_sym_db.RegisterMessage(ProfilingReportMessage)
-SystraceReportMessage = _reflection.GeneratedProtocolMessageType('SystraceReportMessage', (_message.Message,), dict(
- DESCRIPTOR = _SYSTRACEREPORTMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+SystraceReportMessage = _reflection.GeneratedProtocolMessageType('SystraceReportMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _SYSTRACEREPORTMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.SystraceReportMessage)
- ))
+ })
_sym_db.RegisterMessage(SystraceReportMessage)
-CoverageReportMessage = _reflection.GeneratedProtocolMessageType('CoverageReportMessage', (_message.Message,), dict(
- DESCRIPTOR = _COVERAGEREPORTMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+CoverageReportMessage = _reflection.GeneratedProtocolMessageType('CoverageReportMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _COVERAGEREPORTMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.CoverageReportMessage)
- ))
+ })
_sym_db.RegisterMessage(CoverageReportMessage)
-HalInterfaceMessage = _reflection.GeneratedProtocolMessageType('HalInterfaceMessage', (_message.Message,), dict(
- DESCRIPTOR = _HALINTERFACEMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+HalInterfaceMessage = _reflection.GeneratedProtocolMessageType('HalInterfaceMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _HALINTERFACEMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.HalInterfaceMessage)
- ))
+ })
_sym_db.RegisterMessage(HalInterfaceMessage)
-ApiCoverageReportMessage = _reflection.GeneratedProtocolMessageType('ApiCoverageReportMessage', (_message.Message,), dict(
- DESCRIPTOR = _APICOVERAGEREPORTMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+ApiCoverageReportMessage = _reflection.GeneratedProtocolMessageType('ApiCoverageReportMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _APICOVERAGEREPORTMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.ApiCoverageReportMessage)
- ))
+ })
_sym_db.RegisterMessage(ApiCoverageReportMessage)
-LogMessage = _reflection.GeneratedProtocolMessageType('LogMessage', (_message.Message,), dict(
- DESCRIPTOR = _LOGMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+LogMessage = _reflection.GeneratedProtocolMessageType('LogMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _LOGMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.LogMessage)
- ))
+ })
_sym_db.RegisterMessage(LogMessage)
-UrlResourceMessage = _reflection.GeneratedProtocolMessageType('UrlResourceMessage', (_message.Message,), dict(
- DESCRIPTOR = _URLRESOURCEMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+UrlResourceMessage = _reflection.GeneratedProtocolMessageType('UrlResourceMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _URLRESOURCEMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.UrlResourceMessage)
- ))
+ })
_sym_db.RegisterMessage(UrlResourceMessage)
-TestReportMessage = _reflection.GeneratedProtocolMessageType('TestReportMessage', (_message.Message,), dict(
- DESCRIPTOR = _TESTREPORTMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+TestReportMessage = _reflection.GeneratedProtocolMessageType('TestReportMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _TESTREPORTMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.TestReportMessage)
- ))
+ })
_sym_db.RegisterMessage(TestReportMessage)
-TestPlanReportMessage = _reflection.GeneratedProtocolMessageType('TestPlanReportMessage', (_message.Message,), dict(
- DESCRIPTOR = _TESTPLANREPORTMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+TestPlanReportMessage = _reflection.GeneratedProtocolMessageType('TestPlanReportMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _TESTPLANREPORTMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.TestPlanReportMessage)
- ))
+ })
_sym_db.RegisterMessage(TestPlanReportMessage)
-DashboardPostMessage = _reflection.GeneratedProtocolMessageType('DashboardPostMessage', (_message.Message,), dict(
- DESCRIPTOR = _DASHBOARDPOSTMESSAGE,
- __module__ = 'VtsReportMessage_pb2'
+DashboardPostMessage = _reflection.GeneratedProtocolMessageType('DashboardPostMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _DASHBOARDPOSTMESSAGE,
+ '__module__' : 'VtsReportMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.DashboardPostMessage)
- ))
+ })
_sym_db.RegisterMessage(DashboardPostMessage)
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.android.vts.protoB\020VtsReportMessageP\000'))
-_TESTCASEREPORTMESSAGE.fields_by_name['systrace'].has_options = True
-_TESTCASEREPORTMESSAGE.fields_by_name['systrace']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
-_COVERAGEREPORTMESSAGE.fields_by_name['dir_path'].has_options = True
-_COVERAGEREPORTMESSAGE.fields_by_name['dir_path']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
-_COVERAGEREPORTMESSAGE.fields_by_name['file_name'].has_options = True
-_COVERAGEREPORTMESSAGE.fields_by_name['file_name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
-_COVERAGEREPORTMESSAGE.fields_by_name['html'].has_options = True
-_COVERAGEREPORTMESSAGE.fields_by_name['html']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
-_TESTREPORTMESSAGE.fields_by_name['test_suite'].has_options = True
-_TESTREPORTMESSAGE.fields_by_name['test_suite']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
-_TESTREPORTMESSAGE.fields_by_name['systrace'].has_options = True
-_TESTREPORTMESSAGE.fields_by_name['systrace']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
+DESCRIPTOR._options = None
+_TESTCASEREPORTMESSAGE.fields_by_name['systrace']._options = None
+_COVERAGEREPORTMESSAGE.fields_by_name['dir_path']._options = None
+_COVERAGEREPORTMESSAGE.fields_by_name['file_name']._options = None
+_COVERAGEREPORTMESSAGE.fields_by_name['html']._options = None
+_TESTREPORTMESSAGE.fields_by_name['test_suite']._options = None
+_TESTREPORTMESSAGE.fields_by_name['systrace']._options = None
# @@protoc_insertion_point(module_scope)
diff --git a/proto/VtsResourceControllerMessage_pb2.py b/proto/VtsResourceControllerMessage_pb2.py
index 17b831a..d9acb3f 100644
--- a/proto/VtsResourceControllerMessage_pb2.py
+++ b/proto/VtsResourceControllerMessage_pb2.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: VtsResourceControllerMessage.proto
@@ -8,7 +9,6 @@
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
@@ -21,10 +21,10 @@
name='VtsResourceControllerMessage.proto',
package='android.vts',
syntax='proto2',
+ serialized_options=_b('\n\025com.android.vts.protoB\034VtsResourceControllerMessage'),
serialized_pb=_b('\n\"VtsResourceControllerMessage.proto\x12\x0b\x61ndroid.vts\x1a#ComponentSpecificationMessage.proto\"\xb7\x02\n\x11\x46mqRequestMessage\x12%\n\toperation\x18\x01 \x01(\x0e\x32\x12.android.vts.FmqOp\x12\x11\n\tdata_type\x18\x02 \x01(\x0c\x12\x0c\n\x04sync\x18\x03 \x01(\x08\x12\x14\n\x08queue_id\x18\x04 \x01(\x05:\x02-1\x12\x12\n\nqueue_size\x18\x05 \x01(\x04\x12\x10\n\x08\x62locking\x18\x06 \x01(\x08\x12\x16\n\x0ereset_pointers\x18\x07 \x01(\x08\x12=\n\nwrite_data\x18\x08 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x16\n\x0eread_data_size\x18\t \x01(\x04\x12\x16\n\x0etime_out_nanos\x18\n \x01(\x03\x12\x17\n\x0fqueue_desc_addr\x18\x0b \x01(\x04\"\x8f\x01\n\x12\x46mqResponseMessage\x12<\n\tread_data\x18\x01 \x03(\x0b\x32).android.vts.VariableSpecificationMessage\x12\x18\n\x10sizet_return_val\x18\x02 \x01(\x04\x12\x10\n\x08queue_id\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x08\"\xa1\x01\n\x18HidlMemoryRequestMessage\x12,\n\toperation\x18\x01 \x01(\x0e\x32\x19.android.vts.HidlMemoryOp\x12\x12\n\x06mem_id\x18\x02 \x01(\x05:\x02-1\x12\x10\n\x08mem_size\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\x04\x12\x12\n\nwrite_data\x18\x06 \x01(\x0c\"e\n\x19HidlMemoryResponseMessage\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x12\n\nnew_mem_id\x18\x02 \x01(\x05\x12\x10\n\x08mem_size\x18\x03 \x01(\x04\x12\x11\n\tread_data\x18\x04 \x01(\x0c\"\xc5\x01\n\x18HidlHandleRequestMessage\x12,\n\toperation\x18\x01 \x01(\x0e\x32\x19.android.vts.HidlHandleOp\x12\x15\n\thandle_id\x18\x02 \x01(\x05:\x02-1\x12\x38\n\x0bhandle_info\x18\x03 \x01(\x0b\x32#.android.vts.HandleDataValueMessage\x12\x16\n\x0eread_data_size\x18\x04 \x01(\x04\x12\x12\n\nwrite_data\x18\x05 \x01(\x0c\"o\n\x19HidlHandleResponseMessage\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x15\n\rnew_handle_id\x18\x02 \x01(\x05\x12\x11\n\tread_data\x18\x03 \x01(\x0c\x12\x17\n\x0fwrite_data_size\x18\x04 \x01(\x03*\xbc\x02\n\x05\x46mqOp\x12\x0f\n\x0b\x46MQ_UNKNOWN\x10\x00\x12\x0e\n\nFMQ_CREATE\x10\x01\x12\x0c\n\x08\x46MQ_READ\x10\x02\x12\x15\n\x11\x46MQ_READ_BLOCKING\x10\x03\x12\x1a\n\x16\x46MQ_READ_BLOCKING_LONG\x10\x04\x12\r\n\tFMQ_WRITE\x10\x05\x12\x16\n\x12\x46MQ_WRITE_BLOCKING\x10\x06\x12\x1b\n\x17\x46MQ_WRITE_BLOCKING_LONG\x10\x07\x12\x17\n\x13\x46MQ_AVAILABLE_WRITE\x10\x08\x12\x16\n\x12\x46MQ_AVAILABLE_READ\x10\t\x12\x18\n\x14\x46MQ_GET_QUANTUM_SIZE\x10\n\x12\x19\n\x15\x46MQ_GET_QUANTUM_COUNT\x10\x0b\x12\x10\n\x0c\x46MQ_IS_VALID\x10\x0c\x12\x15\n\x11\x46MQ_GET_DESC_ADDR\x10\r*\x99\x02\n\x0cHidlMemoryOp\x12\x15\n\x11MEM_PROTO_UNKNOWN\x10\x00\x12\x16\n\x12MEM_PROTO_ALLOCATE\x10\x01\x12\x18\n\x14MEM_PROTO_START_READ\x10\x02\x12\x1e\n\x1aMEM_PROTO_START_READ_RANGE\x10\x03\x12\x18\n\x14MEM_PROTO_READ_BYTES\x10\x04\x12\x1a\n\x16MEM_PROTO_START_UPDATE\x10\x05\x12 \n\x1cMEM_PROTO_START_UPDATE_RANGE\x10\x06\x12\x1a\n\x16MEM_PROTO_UPDATE_BYTES\x10\x07\x12\x14\n\x10MEM_PROTO_COMMIT\x10\x08\x12\x16\n\x12MEM_PROTO_GET_SIZE\x10\t*\x98\x01\n\x0cHidlHandleOp\x12\x18\n\x14HANDLE_PROTO_UNKNOWN\x10\x00\x12\x1c\n\x18HANDLE_PROTO_CREATE_FILE\x10\x01\x12\x1a\n\x16HANDLE_PROTO_READ_FILE\x10\x02\x12\x1b\n\x17HANDLE_PROTO_WRITE_FILE\x10\x03\x12\x17\n\x13HANDLE_PROTO_DELETE\x10\x04\x42\x35\n\x15\x63om.android.vts.protoB\x1cVtsResourceControllerMessage')
,
dependencies=[ComponentSpecificationMessage__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_FMQOP = _descriptor.EnumDescriptor(
name='FmqOp',
@@ -34,63 +34,63 @@
values=[
_descriptor.EnumValueDescriptor(
name='FMQ_UNKNOWN', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_CREATE', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_READ', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_READ_BLOCKING', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_READ_BLOCKING_LONG', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_WRITE', index=5, number=5,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_WRITE_BLOCKING', index=6, number=6,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_WRITE_BLOCKING_LONG', index=7, number=7,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_AVAILABLE_WRITE', index=8, number=8,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_AVAILABLE_READ', index=9, number=9,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_GET_QUANTUM_SIZE', index=10, number=10,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_GET_QUANTUM_COUNT', index=11, number=11,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_IS_VALID', index=12, number=12,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='FMQ_GET_DESC_ADDR', index=13, number=13,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=1129,
serialized_end=1445,
)
@@ -105,47 +105,47 @@
values=[
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_UNKNOWN', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_ALLOCATE', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_START_READ', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_START_READ_RANGE', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_READ_BYTES', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_START_UPDATE', index=5, number=5,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_START_UPDATE_RANGE', index=6, number=6,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_UPDATE_BYTES', index=7, number=7,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_COMMIT', index=8, number=8,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='MEM_PROTO_GET_SIZE', index=9, number=9,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=1448,
serialized_end=1729,
)
@@ -160,27 +160,27 @@
values=[
_descriptor.EnumValueDescriptor(
name='HANDLE_PROTO_UNKNOWN', index=0, number=0,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HANDLE_PROTO_CREATE_FILE', index=1, number=1,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HANDLE_PROTO_READ_FILE', index=2, number=2,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HANDLE_PROTO_WRITE_FILE', index=3, number=3,
- options=None,
+ serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='HANDLE_PROTO_DELETE', index=4, number=4,
- options=None,
+ serialized_options=None,
type=None),
],
containing_type=None,
- options=None,
+ serialized_options=None,
serialized_start=1732,
serialized_end=1884,
)
@@ -232,84 +232,84 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='data_type', full_name='android.vts.FmqRequestMessage.data_type', index=1,
number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sync', full_name='android.vts.FmqRequestMessage.sync', index=2,
number=3, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='queue_id', full_name='android.vts.FmqRequestMessage.queue_id', index=3,
number=4, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='queue_size', full_name='android.vts.FmqRequestMessage.queue_size', index=4,
number=5, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='blocking', full_name='android.vts.FmqRequestMessage.blocking', index=5,
number=6, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='reset_pointers', full_name='android.vts.FmqRequestMessage.reset_pointers', index=6,
number=7, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='write_data', full_name='android.vts.FmqRequestMessage.write_data', index=7,
number=8, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='read_data_size', full_name='android.vts.FmqRequestMessage.read_data_size', index=8,
number=9, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='time_out_nanos', full_name='android.vts.FmqRequestMessage.time_out_nanos', index=9,
number=10, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='queue_desc_addr', full_name='android.vts.FmqRequestMessage.queue_desc_addr', index=10,
number=11, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -333,35 +333,35 @@
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sizet_return_val', full_name='android.vts.FmqResponseMessage.sizet_return_val', index=1,
number=2, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='queue_id', full_name='android.vts.FmqResponseMessage.queue_id', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='success', full_name='android.vts.FmqResponseMessage.success', index=3,
number=4, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -385,49 +385,49 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='mem_id', full_name='android.vts.HidlMemoryRequestMessage.mem_id', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='mem_size', full_name='android.vts.HidlMemoryRequestMessage.mem_size', index=2,
number=3, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='start', full_name='android.vts.HidlMemoryRequestMessage.start', index=3,
number=4, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='length', full_name='android.vts.HidlMemoryRequestMessage.length', index=4,
number=5, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='write_data', full_name='android.vts.HidlMemoryRequestMessage.write_data', index=5,
number=6, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -451,35 +451,35 @@
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='new_mem_id', full_name='android.vts.HidlMemoryResponseMessage.new_mem_id', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='mem_size', full_name='android.vts.HidlMemoryResponseMessage.mem_size', index=2,
number=3, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='read_data', full_name='android.vts.HidlMemoryResponseMessage.read_data', index=3,
number=4, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -503,42 +503,42 @@
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='handle_id', full_name='android.vts.HidlHandleRequestMessage.handle_id', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=True, default_value=-1,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='handle_info', full_name='android.vts.HidlHandleRequestMessage.handle_info', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='read_data_size', full_name='android.vts.HidlHandleRequestMessage.read_data_size', index=3,
number=4, type=4, cpp_type=4, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='write_data', full_name='android.vts.HidlHandleRequestMessage.write_data', index=4,
number=5, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -562,35 +562,35 @@
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='new_handle_id', full_name='android.vts.HidlHandleResponseMessage.new_handle_id', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='read_data', full_name='android.vts.HidlHandleResponseMessage.read_data', index=2,
number=3, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='write_data_size', full_name='android.vts.HidlHandleResponseMessage.write_data_size', index=3,
number=4, type=3, cpp_type=2, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None),
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
- options=None,
+ serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
@@ -615,50 +615,50 @@
DESCRIPTOR.enum_types_by_name['FmqOp'] = _FMQOP
DESCRIPTOR.enum_types_by_name['HidlMemoryOp'] = _HIDLMEMORYOP
DESCRIPTOR.enum_types_by_name['HidlHandleOp'] = _HIDLHANDLEOP
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-FmqRequestMessage = _reflection.GeneratedProtocolMessageType('FmqRequestMessage', (_message.Message,), dict(
- DESCRIPTOR = _FMQREQUESTMESSAGE,
- __module__ = 'VtsResourceControllerMessage_pb2'
+FmqRequestMessage = _reflection.GeneratedProtocolMessageType('FmqRequestMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _FMQREQUESTMESSAGE,
+ '__module__' : 'VtsResourceControllerMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.FmqRequestMessage)
- ))
+ })
_sym_db.RegisterMessage(FmqRequestMessage)
-FmqResponseMessage = _reflection.GeneratedProtocolMessageType('FmqResponseMessage', (_message.Message,), dict(
- DESCRIPTOR = _FMQRESPONSEMESSAGE,
- __module__ = 'VtsResourceControllerMessage_pb2'
+FmqResponseMessage = _reflection.GeneratedProtocolMessageType('FmqResponseMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _FMQRESPONSEMESSAGE,
+ '__module__' : 'VtsResourceControllerMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.FmqResponseMessage)
- ))
+ })
_sym_db.RegisterMessage(FmqResponseMessage)
-HidlMemoryRequestMessage = _reflection.GeneratedProtocolMessageType('HidlMemoryRequestMessage', (_message.Message,), dict(
- DESCRIPTOR = _HIDLMEMORYREQUESTMESSAGE,
- __module__ = 'VtsResourceControllerMessage_pb2'
+HidlMemoryRequestMessage = _reflection.GeneratedProtocolMessageType('HidlMemoryRequestMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _HIDLMEMORYREQUESTMESSAGE,
+ '__module__' : 'VtsResourceControllerMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.HidlMemoryRequestMessage)
- ))
+ })
_sym_db.RegisterMessage(HidlMemoryRequestMessage)
-HidlMemoryResponseMessage = _reflection.GeneratedProtocolMessageType('HidlMemoryResponseMessage', (_message.Message,), dict(
- DESCRIPTOR = _HIDLMEMORYRESPONSEMESSAGE,
- __module__ = 'VtsResourceControllerMessage_pb2'
+HidlMemoryResponseMessage = _reflection.GeneratedProtocolMessageType('HidlMemoryResponseMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _HIDLMEMORYRESPONSEMESSAGE,
+ '__module__' : 'VtsResourceControllerMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.HidlMemoryResponseMessage)
- ))
+ })
_sym_db.RegisterMessage(HidlMemoryResponseMessage)
-HidlHandleRequestMessage = _reflection.GeneratedProtocolMessageType('HidlHandleRequestMessage', (_message.Message,), dict(
- DESCRIPTOR = _HIDLHANDLEREQUESTMESSAGE,
- __module__ = 'VtsResourceControllerMessage_pb2'
+HidlHandleRequestMessage = _reflection.GeneratedProtocolMessageType('HidlHandleRequestMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _HIDLHANDLEREQUESTMESSAGE,
+ '__module__' : 'VtsResourceControllerMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.HidlHandleRequestMessage)
- ))
+ })
_sym_db.RegisterMessage(HidlHandleRequestMessage)
-HidlHandleResponseMessage = _reflection.GeneratedProtocolMessageType('HidlHandleResponseMessage', (_message.Message,), dict(
- DESCRIPTOR = _HIDLHANDLERESPONSEMESSAGE,
- __module__ = 'VtsResourceControllerMessage_pb2'
+HidlHandleResponseMessage = _reflection.GeneratedProtocolMessageType('HidlHandleResponseMessage', (_message.Message,), {
+ 'DESCRIPTOR' : _HIDLHANDLERESPONSEMESSAGE,
+ '__module__' : 'VtsResourceControllerMessage_pb2'
# @@protoc_insertion_point(class_scope:android.vts.HidlHandleResponseMessage)
- ))
+ })
_sym_db.RegisterMessage(HidlHandleResponseMessage)
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.android.vts.protoB\034VtsResourceControllerMessage'))
+DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
diff --git a/runners/host/tcp_client/vts_tcp_client.py b/runners/host/tcp_client/vts_tcp_client.py
index bca568d..e00acfd 100755
--- a/runners/host/tcp_client/vts_tcp_client.py
+++ b/runners/host/tcp_client/vts_tcp_client.py
@@ -462,8 +462,8 @@
stderr = [self.FAIL_RESPONSE_MSG]
self.error = self.FAIL_RESPONSE_MSG
else:
- stdout = resp.stdout
- stderr = resp.stderr
+ stdout = resp.stdout_str
+ stderr = resp.stderr_str
exit_code = resp.exit_code
self.error = None
diff --git a/runners/target/vts_hal_hidl_target/Android.bp b/runners/target/vts_hal_hidl_target/Android.bp
index 363715a..c5d530f 100644
--- a/runners/target/vts_hal_hidl_target/Android.bp
+++ b/runners/target/vts_hal_hidl_target/Android.bp
@@ -25,6 +25,7 @@
"VtsCoreUtil.cpp",
],
+ vendor_available: true,
cflags: ["-Wall", "-Werror"],
shared_libs: [
diff --git a/specification/Android.bp b/specification/Android.bp
new file mode 100644
index 0000000..30e3772
--- /dev/null
+++ b/specification/Android.bp
@@ -0,0 +1,100 @@
+//
+// Copyright (C) 2016 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.
+//
+
+package {
+ // See: http://go/android-license-faq
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_library_shared {
+ // libvts_interfacespecification does not include or link any HIDL HAL driver.
+ // HIDL HAL drivers and profilers are defined as separated shared libraries
+ // in a respective hardware/interfaces/<hal name>/<version>/Android.bp file.
+ // libvts_interfacespecification is the driver for:
+ // legacy HALs,
+ // conventional HALs,
+ // shared libraries,
+ // and so on.
+ name: "libvts_interfacespecification",
+ generated_sources: ["libvts_interfacespecification_vts.driver_genc++"],
+ generated_headers: ["libvts_interfacespecification_vts.driver_genc++_headers"],
+ export_generated_headers: ["libvts_interfacespecification_vts.driver_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libcutils",
+ "liblog",
+ "libdl",
+ "libandroid_runtime",
+ "libcamera_metadata",
+ "libvts_datatype",
+ "libvts_common",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ ],
+ static_libs: [
+ "libbluetooth-types",
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-unused-parameter",
+ "-Wno-unused-value",
+ "-Wno-duplicate-decl-specifier",
+ ],
+ proto: {
+ type: "full",
+ },
+ compile_multilib: "both",
+}
+
+cc_genrule {
+ name: "libvts_interfacespecification_vts.driver_genc++",
+ srcs: [
+ "lib/**/*",
+ ],
+ tools: [
+ "vtsc",
+ ],
+ out: [
+ "vts/libcutilsV1.vts.cpp",
+ "vts/libcV1.vts.cpp",
+ "vts/libmV1.vts.cpp",
+ ],
+ cmd: "mkdir -p $(genDir)/vts && " +
+ "cp $(in) $(genDir)/vts/ && " +
+ "$(location vtsc) -mDRIVER -tSOURCE -b$(genDir) vts/ $(genDir)/vts/",
+}
+
+cc_genrule {
+ name: "libvts_interfacespecification_vts.driver_genc++_headers",
+ srcs: [
+ "lib/**/*",
+ ],
+ tools: [
+ "vtsc",
+ ],
+ out: [
+ "vts/libcutilsV1.vts.h",
+ "vts/libcV1.vts.h",
+ "vts/libmV1.vts.h",
+ ],
+ cmd: "mkdir -p $(genDir)/vts && " +
+ "cp $(in) $(genDir)/vts/ && " +
+ "$(location vtsc) -mDRIVER -tHEADER -b$(genDir) vts/ $(genDir)/vts/",
+}
diff --git a/specification/Android.mk b/specification/Android.mk
deleted file mode 100644
index eb84bfc..0000000
--- a/specification/Android.mk
+++ /dev/null
@@ -1,96 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-vtslib_interfacespec_srcfiles := \
- lib/ndk/bionic/1.0/libmV1.vts \
- lib/ndk/bionic/1.0/libcV1.vts \
- lib/ndk/bionic/1.0/libcutilsV1.vts \
-
-vtslib_interfacespec_includes := \
- $(LOCAL_PATH) \
- test/vts/drivers/hal \
- test/vts/drivers/hal/common \
- test/vts/drivers/hal/libdatatype \
- test/vts/drivers/hal/libmeasurement \
- bionic \
- system/extras \
- system/media/camera/include \
- external/protobuf/src \
- $(TARGET_OUT_HEADERS) \
-
-vtslib_interfacespec_shared_libraries := \
- libbase \
- libcutils \
- liblog \
- libdl \
- libandroid_runtime \
- libcamera_metadata \
- libvts_datatype \
- libvts_common \
- libvts_measurement \
- libvts_multidevice_proto \
- libprotobuf-cpp-full \
-
-vtslib_interfacespec_static_libraries := \
- libbluetooth-types
-
-include $(CLEAR_VARS)
-
-# libvts_interfacespecification does not include or link any HIDL HAL driver.
-# HIDL HAL drivers and profilers are defined as separated shared libraries
-# in a respective hardware/interfaces/<hal name>/<version>/Android.bp file.
-# libvts_interfacespecification is the driver for:
-# legacy HALs,
-# conventional HALs,
-# shared libraries,
-# and so on.
-
-LOCAL_MODULE := libvts_interfacespecification
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := \
- ${vtslib_interfacespec_srcfiles} \
-
-LOCAL_C_INCLUDES := \
- ${vtslib_interfacespec_includes} \
- system/libbase/include \
-
-LOCAL_SHARED_LIBRARIES := \
- ${vtslib_interfacespec_shared_libraries} \
-
-LOCAL_STATIC_LIBRARIES := \
- ${vtslib_interfacespec_static_libraries}
-
-LOCAL_CFLAGS := \
- -Wall \
- -Werror \
-
-# These warnings are in code generated with vtsc
-# b/31362043
-LOCAL_CFLAGS += \
- -Wno-unused-parameter \
- -Wno-unused-value \
- -Wno-duplicate-decl-specifier \
-
-LOCAL_PROTOC_OPTIMIZE_TYPE := full
-
-LOCAL_MULTILIB := both
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/testcases/host/fastboot_getvar/OWNERS b/testcases/host/fastboot_getvar/OWNERS
new file mode 100644
index 0000000..0427b50
--- /dev/null
+++ b/testcases/host/fastboot_getvar/OWNERS
@@ -0,0 +1,5 @@
+# Bug component: 30545
+dvander@google.com
+bowgotsai@google.com
+elsk@google.com
+smuckle@google.com
diff --git a/testcases/host/fastboot_getvar/src/com/android/tests/FastbootGetvarUserspaceTest.java b/testcases/host/fastboot_getvar/src/com/android/tests/FastbootGetvarUserspaceTest.java
index 1c4b709..806c27d 100644
--- a/testcases/host/fastboot_getvar/src/com/android/tests/FastbootGetvarUserspaceTest.java
+++ b/testcases/host/fastboot_getvar/src/com/android/tests/FastbootGetvarUserspaceTest.java
@@ -22,6 +22,7 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import android.platform.test.annotations.RequiresDevice;
import com.android.tradefed.device.DeviceProperties;
import com.android.tradefed.device.ITestDevice;
import com.android.tradefed.invoker.TestInformation;
@@ -44,6 +45,7 @@
import org.junit.runner.RunWith;
/* VTS test to verify userspace fastboot getvar information. */
+@RequiresDevice
@RunWith(DeviceJUnit4ClassRunner.class)
public class FastbootGetvarUserspaceTest extends BaseHostJUnit4Test {
private static final int PLATFORM_API_LEVEL_R = 30;
diff --git a/testcases/host/fastboot_test/OWNERS b/testcases/host/fastboot_test/OWNERS
new file mode 100644
index 0000000..d82cb64
--- /dev/null
+++ b/testcases/host/fastboot_test/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 30545
+dvander@google.com
+elsk@google.com
+smuckle@google.com
diff --git a/testcases/host/fastboot_test/src/com/android/tests/FastbootVerifyUserspaceTest.java b/testcases/host/fastboot_test/src/com/android/tests/FastbootVerifyUserspaceTest.java
index a6916c8..ce6415e 100644
--- a/testcases/host/fastboot_test/src/com/android/tests/FastbootVerifyUserspaceTest.java
+++ b/testcases/host/fastboot_test/src/com/android/tests/FastbootVerifyUserspaceTest.java
@@ -16,6 +16,7 @@
package com.android.tests.fastboot;
+import android.platform.test.annotations.RequiresDevice;
import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
import com.android.tradefed.device.IManagedTestDevice;
import com.android.tradefed.device.ITestDevice;
@@ -46,6 +47,7 @@
import org.junit.runners.JUnit4;
/* VTS test to verify userspace fastboot implementation. */
+@RequiresDevice
@RunWith(DeviceJUnit4ClassRunner.class)
public class FastbootVerifyUserspaceTest extends BaseHostJUnit4Test {
// Default maximum command run time is set to 90 seconds.
diff --git a/testcases/host/firmware_dtbo_test/OWNERS b/testcases/host/firmware_dtbo_test/OWNERS
new file mode 100644
index 0000000..57b1211
--- /dev/null
+++ b/testcases/host/firmware_dtbo_test/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 30545
+smuckle@google.com
diff --git a/testcases/host/firmware_dtbo_test/src/com/android/tests/firmwaredtbo/FirmwareDtboVerification.java b/testcases/host/firmware_dtbo_test/src/com/android/tests/firmwaredtbo/FirmwareDtboVerification.java
index 33acc78..76607f9 100644
--- a/testcases/host/firmware_dtbo_test/src/com/android/tests/firmwaredtbo/FirmwareDtboVerification.java
+++ b/testcases/host/firmware_dtbo_test/src/com/android/tests/firmwaredtbo/FirmwareDtboVerification.java
@@ -258,7 +258,8 @@
CommandStatus.SUCCESS);
ArrayList<String> overlayArg = new ArrayList<>();
for (String overlay_idx : overlay_idx_string.split(",")) {
- String overlayFileName = "dumped_dtbo." + overlay_idx.replaceAll("\\s+$", "");
+ String overlayFileName = "dumped_dtbo." +
+ overlay_idx.replaceAll("\\s+", "").replaceAll("\"", "");
File overlayFile = new File(mTemptFolder, overlayFileName);
// Push the dumped overlay dtbo files to the same direcly of ufdt_verify_overlay
File remoteOverLayFile = new File(ufdtVerifierParent, overlayFileName);
diff --git a/testcases/host/firmware_test/src/com/android/tests/firmware/FirmwareBootHeaderVerification.java b/testcases/host/firmware_test/src/com/android/tests/firmware/FirmwareBootHeaderVerification.java
index 3105fbc..dc6737d 100644
--- a/testcases/host/firmware_test/src/com/android/tests/firmware/FirmwareBootHeaderVerification.java
+++ b/testcases/host/firmware_test/src/com/android/tests/firmware/FirmwareBootHeaderVerification.java
@@ -30,6 +30,8 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.zip.GZIPInputStream;
import org.junit.AfterClass;
import org.junit.Assert;
@@ -86,7 +88,18 @@
return true;
}
- private void CheckImageHeader(String imagePath, boolean isRecovery) throws IOException {
+ private boolean isKernelVersionLessThan(int major, int minor)
+ throws DeviceNotAvailableException {
+ String output = mDevice.executeShellCommand("uname -r");
+ Pattern p = Pattern.compile("^(\\d+)\\.(\\d+)");
+ Matcher m1 = p.matcher(output);
+ Assert.assertTrue("Unable to parse kernel release version: %s".format(output), m1.find());
+ return Integer.parseInt(m1.group(1)) < major
+ || (Integer.parseInt(m1.group(1)) == major
+ && Integer.parseInt(m1.group(2)) < minor);
+ }
+
+ private void CheckImageHeader(String imagePath, boolean isRecovery) throws Exception {
BootImageInfo bootImgInfo = new BootImageInfo(imagePath);
// Check kernel size.
Assert.assertNotEquals(
@@ -95,9 +108,12 @@
// Check image version.
Assert.assertTrue("Device must at least have a boot image of version 2",
(bootImgInfo.getImgHeaderVer() >= 2));
- // Check ramdisk size.
- Assert.assertNotEquals(
- "boot.img must contain ramdisk", bootImgInfo.getRamdiskSize(), 0);
+ // Check ramdisk size for kernels < 5.10. Kernels with versions >= 5.10
+ // are verified by vts_generic_boot_image_test
+ if (isKernelVersionLessThan(5, 10)) {
+ Assert.assertNotEquals(
+ "boot.img must contain ramdisk", bootImgInfo.getRamdiskSize(), 0);
+ }
} else {
Assert.assertTrue("Device must at least have a boot image of version 1",
(bootImgInfo.getImgHeaderVer() >= 1));
diff --git a/testcases/host/kernel_proc_file_api_test/OWNERS b/testcases/host/kernel_proc_file_api_test/OWNERS
new file mode 100644
index 0000000..57b1211
--- /dev/null
+++ b/testcases/host/kernel_proc_file_api_test/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 30545
+smuckle@google.com
diff --git a/testcases/host/kernel_proc_file_api_test/proc_tests/ProcSimpleFileTests.py b/testcases/host/kernel_proc_file_api_test/proc_tests/ProcSimpleFileTests.py
index 2118262..fe247d6 100644
--- a/testcases/host/kernel_proc_file_api_test/proc_tests/ProcSimpleFileTests.py
+++ b/testcases/host/kernel_proc_file_api_test/proc_tests/ProcSimpleFileTests.py
@@ -267,24 +267,6 @@
return target_file_utils.IsReadWrite
-class ProcSchedLatencyNS(KernelProcFileTestBase.KernelProcFileTestBase):
- '''/proc/sys/kernel/sched_latency_ns is the maximum latency in nanoseconds a
- task may incur prior to being scheduled.
- '''
-
- def parse_contents(self, contents):
- return self.parse_line("{:d}\n", contents)[0]
-
- def result_correct(self, result):
- return result >= 100000 and result <= 1000000000
-
- def get_path(self):
- return "/proc/sys/kernel/sched_latency_ns"
-
- def get_permission_checker(self):
- return target_file_utils.IsReadWrite
-
-
class ProcSchedRTPeriodUS(KernelProcFileTestBase.KernelProcFileTestBase):
'''/proc/sys/kernel/sched_rt_period_us defines the period length used by the
system-wide RT execution limit in microseconds.
@@ -322,45 +304,6 @@
return target_file_utils.IsReadWrite
-class ProcSchedTunableScaling(KernelProcFileTestBase.KernelProcFileTestBase):
- '''/proc/sys/kernel/sched_tunable_scaling determines whether
- sched_latency_ns should be automatically adjusted by the scheduler based on
- the number of CPUs.
- '''
-
- def parse_contents(self, contents):
- return self.parse_line("{:d}\n", contents)[0]
-
- def result_correct(self, result):
- return result >= 0 and result <= 2
-
- def get_path(self):
- return "/proc/sys/kernel/sched_tunable_scaling"
-
- def get_permission_checker(self):
- return target_file_utils.IsReadWrite
-
-
-class ProcSchedWakeupGranularityNS(
- KernelProcFileTestBase.KernelProcFileTestBase):
- '''/proc/sys/kernel/sched_wakeup_granularity_ns defines how much more
- virtual runtime task A must have than task B in nanoseconds in order for
- task B to preempt it.
- '''
-
- def parse_contents(self, contents):
- return self.parse_line("{:d}\n", contents)[0]
-
- def result_correct(self, result):
- return result >= 0 and result <= 1000000000
-
- def get_path(self):
- return "/proc/sys/kernel/sched_wakeup_granularity_ns"
-
- def get_permission_checker(self):
- return target_file_utils.IsReadWrite
-
-
class ProcSysRqTest(KernelProcFileTestBase.KernelProcFileTestBase):
'''/proc/sys/kernel/sysrq controls the functions allowed to be invoked
via the SysRq key.'''
diff --git a/testcases/host/kernel_proc_file_api_test/vts_kernel_proc_file_api_test.py b/testcases/host/kernel_proc_file_api_test/vts_kernel_proc_file_api_test.py
index 8a75a1b..7e77164 100644
--- a/testcases/host/kernel_proc_file_api_test/vts_kernel_proc_file_api_test.py
+++ b/testcases/host/kernel_proc_file_api_test/vts_kernel_proc_file_api_test.py
@@ -89,11 +89,8 @@
ProcSimpleFileTests.ProcProtectedSymlinks(),
ProcSimpleFileTests.ProcRandomizeVaSpaceTest(),
ProcSimpleFileTests.ProcSchedChildRunsFirst(),
- ProcSimpleFileTests.ProcSchedLatencyNS(),
ProcSimpleFileTests.ProcSchedRTPeriodUS(),
ProcSimpleFileTests.ProcSchedRTRuntimeUS(),
- ProcSimpleFileTests.ProcSchedTunableScaling(),
- ProcSimpleFileTests.ProcSchedWakeupGranularityNS(),
ProcShowUidStatTest.ProcShowUidStatTest(),
ProcSimpleFileTests.ProcSuidDumpable(),
ProcSimpleFileTests.ProcSysKernelRandomBootId(),
diff --git a/testcases/host/selinux_test/OWNERS b/testcases/host/selinux_test/OWNERS
new file mode 100644
index 0000000..57b1211
--- /dev/null
+++ b/testcases/host/selinux_test/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 30545
+smuckle@google.com
diff --git a/testcases/target/hal_lights/Android.bp b/testcases/target/hal_lights/Android.bp
deleted file mode 100644
index 4d34b0a..0000000
--- a/testcases/target/hal_lights/Android.bp
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// Copyright (C) 2016 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.
-//
-
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
-cc_test {
- name: "VtsHalLightsTestCases",
- multilib: {
- lib32: {
- suffix: "32",
- },
- lib64: {
- suffix: "64",
- },
- },
-
- shared_libs: [
- "libdl",
- "libhardware",
- ],
-
- whole_static_libs: ["libVtsGtestMain"],
-
- static_libs: [
- "libbase",
- "libtinyxml2",
- "liblog",
- "libgtest",
- ],
-
- // Tag this module as a vts10 test artifact
- test_suites: [
- "vts10",
- ],
-
- cflags: [
- "-Wall",
- "-Wextra",
- "-Wunused",
- "-Werror",
- ],
- srcs: ["hal_lights_basic_test.cpp"],
-}
diff --git a/testcases/target/hal_lights/AndroidTest.xml b/testcases/target/hal_lights/AndroidTest.xml
deleted file mode 100644
index 4523f58..0000000
--- a/testcases/target/hal_lights/AndroidTest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 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.
--->
-<configuration description="Config for VTS HAL Lights test cases">
- <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="cleanup" value="true" />
- <option name="push" value="VtsHalLightsTestCases->/data/local/tmp/VtsHalLightsTestCases" />
- <option name="append-bitness" value="true" />
- </target_preparer>
- <test class="com.android.tradefed.testtype.GTest" >
- <option name="native-test-device-path" value="/data/local/tmp" />
- <option name="module-name" value="VtsHalLightsTestCases" />
- <option name="runtime-hint" value="35s" />
- </test>
-</configuration>
diff --git a/testcases/target/hal_lights/hal_lights_basic_test.cpp b/testcases/target/hal_lights/hal_lights_basic_test.cpp
deleted file mode 100644
index 100689f..0000000
--- a/testcases/target/hal_lights/hal_lights_basic_test.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2016 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.
- */
-
-#include <gtest/gtest.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <hardware/hardware.h>
-#include <hardware/lights.h>
-
-#include <iostream>
-
-using namespace std;
-
-namespace {
-
-// VTS structural testcase for HAL Lights basic functionalities.
-class VtsStructuralTestHalLightsBasicTest : public ::testing::Test {
- protected:
- VtsStructuralTestHalLightsBasicTest() {
- int rc = hw_get_module_by_class(LIGHTS_HARDWARE_MODULE_ID, NULL, &module_);
- if (rc || !module_) {
- cerr << "could not find any lights HAL module." << endl;
- module_ = NULL;
- return;
- }
-
- rc = module_->methods->open(
- module_, LIGHT_ID_NOTIFICATIONS,
- reinterpret_cast<struct hw_device_t**>(&device_));
- if (rc || !device_) {
- cerr << "could not open a lights HAL device." << endl;
- module_ = NULL;
- return;
- }
- }
-
- virtual ~VtsStructuralTestHalLightsBasicTest() {}
-
- virtual void SetUp() {
- // define operations to execute before running each testcase.
- }
-
- virtual void TearDown() {
- // define operations to execute after running each testcase.
- }
-
- // a light device which is open.
- struct light_device_t* device_;
-
- private:
- const struct hw_module_t* module_;
-};
-
-TEST_F(VtsStructuralTestHalLightsBasicTest, example) {
- ASSERT_TRUE(device_);
- struct light_state_t* arg =
- (struct light_state_t*)malloc(sizeof(struct light_state_t));
- arg->color = 0x80ff8000;
- arg->flashMode = LIGHT_FLASH_NONE;
- arg->flashOnMS = 0;
- arg->flashOffMS = 0;
- arg->brightnessMode = BRIGHTNESS_MODE_USER;
- EXPECT_EQ(0, device_->set_light(device_, arg));
-}
-
-} // namespace
diff --git a/testcases/target/hal_power/Android.bp b/testcases/target/hal_power/Android.bp
deleted file mode 100644
index 02dd16e..0000000
--- a/testcases/target/hal_power/Android.bp
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// Copyright (C) 2016 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.
-//
-
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
-cc_test {
- name: "VtsHalPowerTestCases",
- multilib: {
- lib32: {
- suffix: "32",
- },
- lib64: {
- suffix: "64",
- },
- },
-
- shared_libs: [
- "libdl",
- "libhardware",
- ],
-
- whole_static_libs: ["libVtsGtestMain"],
-
- static_libs: [
- "libbase",
- "libtinyxml2",
- "liblog",
- "libgtest",
- ],
-
- // Tag this module as a vts10 test artifact
- test_suites: [
- "vts10",
- ],
-
- srcs: ["hal_power_basic_test.cpp"],
-
- cflags: [
- "-Wall",
- "-Wextra",
- "-Wunused",
- "-Werror",
- ],
-}
diff --git a/testcases/target/hal_power/AndroidTest.xml b/testcases/target/hal_power/AndroidTest.xml
deleted file mode 100644
index 8b31176..0000000
--- a/testcases/target/hal_power/AndroidTest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 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.
--->
-<configuration description="Config for VTS HAL Power test cases">
- <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="cleanup" value="true" />
- <option name="push" value="VtsHalPowerTestCases->/data/local/tmp/VtsHalPowerTestCases" />
- <option name="append-bitness" value="true" />
- </target_preparer>
- <test class="com.android.tradefed.testtype.GTest" >
- <option name="native-test-device-path" value="/data/local/tmp" />
- <option name="module-name" value="VtsHalPowerTestCases" />
- <option name="runtime-hint" value="180s" />
- </test>
-</configuration>
diff --git a/testcases/target/hal_power/hal_power_basic_test.cpp b/testcases/target/hal_power/hal_power_basic_test.cpp
deleted file mode 100644
index c6eaeac..0000000
--- a/testcases/target/hal_power/hal_power_basic_test.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (C) 2016 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.
- */
-
-#include <gtest/gtest.h>
-
-#include <stdio.h>
-
-#include <hardware/hardware.h>
-#include <hardware/power.h>
-#include <log/log.h>
-
-#include <iostream>
-
-using namespace std;
-
-namespace {
-
-// VTS structural testcase for HAL Power basic functionalities.
-class VtsStructuralTestHalPowerTest : public ::testing::Test {
- protected:
- VtsStructuralTestHalPowerTest() {
- int rc =
- hw_get_module(POWER_HARDWARE_MODULE_ID, (hw_module_t const **)&module_);
- if (rc || !module_) {
- cerr << "could not find any power HAL module." << endl;
- module_ = NULL;
- return;
- }
- if (module_->init) module_->init(module_);
- }
-
- virtual ~VtsStructuralTestHalPowerTest() {}
-
- virtual void SetUp() {
- // define operations to execute before running each testcase.
- ASSERT_TRUE(module_->get_number_of_platform_modes)
- << "get_number_of_platform_modes is NULL";
- ASSERT_TRUE(module_->get_voter_list) << "get_voter_list is NULL";
- ASSERT_TRUE(module_->get_number_of_platform_modes)
- << "get_number_of_platform_modes is NULL";
- num_modes_ = module_->get_number_of_platform_modes(module_);
- ASSERT_GT(num_modes_, 0) << "num_modes_ should be at least 1";
- }
-
- virtual void TearDown() {
- // define operations to execute after running each testcase.
- }
-
- struct power_module *module_;
-
- int num_modes_;
-};
-
-// get_number_of_platform_modes should always return the same value
-// irrespective of how many times invoked.
-TEST_F(VtsStructuralTestHalPowerTest,
- get_number_of_platform_modes_returns_same_value) {
- // NOTE: We can repeat this for few more times in a loop if the test can
- // run longer.
- sleep(1);
- int rc2 = module_->get_number_of_platform_modes(module_);
- EXPECT_EQ(num_modes_, rc2)
- << "get_number_of_platform_modes returned unequal values";
-}
-
-// Check if residency duration and count decreases between successive
-// invocations.
-TEST_F(VtsStructuralTestHalPowerTest, check_if_the_values_decrease) {
- power_state_platform_sleep_state_t *list1 =
- (power_state_platform_sleep_state_t *)calloc(
- num_modes_, sizeof(power_state_platform_sleep_state_t));
- ASSERT_TRUE(list1) << "power_state_platform_sleep_state_t* alloc failed";
-
- power_state_platform_sleep_state_t *list2 =
- (power_state_platform_sleep_state_t *)calloc(
- num_modes_, sizeof(power_state_platform_sleep_state_t));
- ASSERT_TRUE(list2) << "power_state_platform_sleep_state_t* alloc failed";
-
- size_t *voter_list = (size_t *)calloc(num_modes_, sizeof(*voter_list));
- ASSERT_TRUE(voter_list) << "voter_list* alloc failed";
-
- module_->get_voter_list(module_, voter_list);
-
- for (int i = 0; i < num_modes_; i++) {
- list1[i].voters = (power_state_voter_t *)calloc(
- voter_list[i], sizeof(power_state_voter_t));
- ASSERT_TRUE(list1[i].voters) << "voter_t allocation failed";
-
- list2[i].voters = (power_state_voter_t *)calloc(
- voter_list[i], sizeof(power_state_voter_t));
-
- ASSERT_TRUE(list2[i].voters) << "voter_t allocation failed";
- }
-
- ASSERT_EQ(0, module_->get_platform_low_power_stats(module_, list1))
- << "get_platform_low_power_stats failed";
- sleep(2);
- ASSERT_EQ(0, module_->get_platform_low_power_stats(module_, list2))
- << "get_platform_low_power_stats failed";
-
- for (int i = 0; i < num_modes_; i++) {
- EXPECT_LE(list1[i].residency_in_msec_since_boot,
- list2[i].residency_in_msec_since_boot)
- << "residency_in_msec_since_boot decreased";
- EXPECT_LE(list1[i].total_transitions, list2[i].total_transitions)
- << "total_transitions decreased";
-
- for (unsigned int j = 0; j < list1[i].number_of_voters; j++) {
- EXPECT_LE(list1[i].voters[j].total_time_in_msec_voted_for_since_boot,
- list2[i].voters[j].total_time_in_msec_voted_for_since_boot)
- << "total_time_in_msec_voted_for_since_boot decreased";
- EXPECT_LE(list1[i].voters[j].total_number_of_times_voted_since_boot,
- list2[i].voters[j].total_number_of_times_voted_since_boot)
- << "total_number_of_times_voted_since_boot decreased";
- }
- }
- for (int i = 0; i < num_modes_; i++) {
- free(list1[i].voters);
- free(list2[i].voters);
- }
- free(list1);
- free(list2);
- free(voter_list);
-}
-
-// Check if get_platform_low_power_stats succeeds.
-TEST_F(VtsStructuralTestHalPowerTest,
- check_if_get_platform_low_power_stats_returns_success) {
- power_state_platform_sleep_state_t *list1 =
- (power_state_platform_sleep_state_t *)calloc(
- num_modes_, sizeof(power_state_platform_sleep_state_t));
- ASSERT_TRUE(list1) << "power_state_platform_sleep_state_t* alloc failed";
-
- size_t *voter_list = (size_t *)calloc(num_modes_, sizeof(*voter_list));
- ASSERT_TRUE(voter_list) << "voter_t allocation failed";
-
- module_->get_voter_list(module_, voter_list);
- for (int i = 0; i < num_modes_; i++) {
- list1[i].voters = (power_state_voter_t *)calloc(
- voter_list[i], sizeof(power_state_voter_t));
- ASSERT_TRUE(list1[i].voters) << "voter_t allocation failed";
- }
- EXPECT_EQ(0, module_->get_platform_low_power_stats(module_, list1))
- << "get_platform_low_power_stats failed";
- for (int i = 0; i < num_modes_; i++) {
- free(list1[i].voters);
- }
- free(list1);
- free(voter_list);
-}
-} // namespace
diff --git a/testcases/template/mobly/__init__.py b/testcases/template/mobly/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/testcases/template/mobly/__init__.py
+++ /dev/null
diff --git a/testcases/template/mobly/mobly_test.py b/testcases/template/mobly/mobly_test.py
deleted file mode 100644
index aabcbab..0000000
--- a/testcases/template/mobly/mobly_test.py
+++ /dev/null
@@ -1,285 +0,0 @@
-#
-# Copyright (C) 2017 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.
-#
-
-import importlib
-import json
-import logging
-import os
-import sys
-import time
-import yaml
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test
-from vts.runners.host import config_parser
-from vts.runners.host import keys
-from vts.runners.host import records
-from vts.runners.host import test_runner
-from vts.utils.python.io import capture_printout
-from vts.utils.python.io import file_util
-
-from mobly import test_runner as mobly_test_runner
-
-
-LIST_TEST_OUTPUT_START = '==========> '
-LIST_TEST_OUTPUT_END = ' <=========='
-# Temp directory inside python log path. The name is required to be
-# the set value for tradefed to skip reading contents as logs.
-TEMP_DIR_NAME = 'temp'
-CONFIG_FILE_NAME = 'test_config.yaml'
-MOBLY_RESULT_JSON_FILE_NAME = 'test_run_summary.json'
-MOBLY_RESULT_YAML_FILE_NAME = 'test_summary.yaml'
-
-
-MOBLY_CONFIG_TEXT = '''TestBeds:
- - Name: {module_name}
- Controllers:
- AndroidDevice:
- - serial: {serial1}
- - serial: {serial2}
-
-MoblyParams:
- LogPath: {log_path}
-'''
-
-#TODO(yuexima):
-# 1. make DEVICES_REQUIRED configurable
-# 2. add include filter function
-DEVICES_REQUIRED = 2
-
-RESULT_KEY_TYPE = 'Type'
-RESULT_TYPE_SUMMARY = 'Summary'
-RESULT_TYPE_RECORD = 'Record'
-RESULT_TYPE_TEST_NAME_LIST = 'TestNameList'
-RESULT_TYPE_CONTROLLER_INFO = 'ControllerInfo'
-
-
-class MoblyTest(base_test.BaseTestClass):
- '''Template class for running mobly test cases.
-
- Attributes:
- mobly_dir: string, mobly test temp directory for mobly runner
- mobly_config_file_path: string, mobly test config file path
- result_handlers: dict, map of result type and handler functions
- '''
- def setUpClass(self):
- asserts.assertEqual(
- len(self.android_devices), DEVICES_REQUIRED,
- 'Exactly %s devices are required for this test.' % DEVICES_REQUIRED
- )
-
- for ad in self.android_devices:
- logging.debug('Android device serial: %s' % ad.serial)
-
- logging.debug('Test cases: %s' % self.ListTestCases())
-
- self.mobly_dir = os.path.join(logging.log_path, TEMP_DIR_NAME,
- 'mobly', str(time.time()))
-
- file_util.Makedirs(self.mobly_dir)
-
- logging.debug('mobly log path: %s' % self.mobly_dir)
-
- self.result_handlers = {
- RESULT_TYPE_SUMMARY: self.HandleSimplePrint,
- RESULT_TYPE_RECORD: self.HandleRecord,
- RESULT_TYPE_TEST_NAME_LIST: self.HandleSimplePrint,
- RESULT_TYPE_CONTROLLER_INFO: self.HandleSimplePrint,
- }
-
- def tearDownClass(self):
- ''' Clear the mobly directory.'''
- file_util.Rmdirs(self.mobly_dir, ignore_errors=True)
-
- def PrepareConfigFile(self):
- '''Prepare mobly config file for running test.'''
- self.mobly_config_file_path = os.path.join(self.mobly_dir,
- CONFIG_FILE_NAME)
- config_text = MOBLY_CONFIG_TEXT.format(
- module_name=self.test_module_name,
- serial1=self.android_devices[0].serial,
- serial2=self.android_devices[1].serial,
- log_path=self.mobly_dir
- )
- with open(self.mobly_config_file_path, 'w') as f:
- f.write(config_text)
-
- def ListTestCases(self):
- '''List test cases.
-
- Returns:
- List of string, test names.
- '''
- classes = mobly_test_runner._find_test_class()
-
- with capture_printout.CaptureStdout() as output:
- mobly_test_runner._print_test_names(classes)
-
- test_names = []
-
- for line in output:
- if (not line.startswith(LIST_TEST_OUTPUT_START)
- and line.endswith(LIST_TEST_OUTPUT_END)):
- test_names.append(line)
- tr_record = records.TestResultRecord(line, self.test_module_name)
- self.results.requested.append(tr_record)
-
- return test_names
-
- def RunMoblyModule(self):
- '''Execute mobly test module.'''
- # Because mobly and vts uses a similar runner, both will modify
- # log_path from python logging. The following step is to preserve
- # log path after mobly test finishes.
-
- # An alternative way is to start a new python process through shell
- # command. In that case, test print out needs to be piped.
- # This will also help avoid log overlapping
-
- logger = logging.getLogger()
- logger_path = logger.log_path
- logging_path = logging.log_path
-
- try:
- mobly_test_runner.main(argv=['-c', self.mobly_config_file_path])
- finally:
- logger.log_path = logger_path
- logging.log_path = logging_path
-
- def GetMoblyResults(self):
- '''Get mobly module run results and put in vts results.'''
- file_handlers = (
- (MOBLY_RESULT_YAML_FILE_NAME, self.ParseYamlResults),
- (MOBLY_RESULT_JSON_FILE_NAME, self.ParseJsonResults),
- )
-
- for pair in file_handlers:
- file_path = file_util.FindFile(self.mobly_dir, pair[0])
-
- if file_path:
- logging.debug('Mobly test yaml result path: %s', file_path)
- pair[1](file_path)
- return
-
- asserts.fail('Mobly test result file not found.')
-
- def generateAllTests(self):
- '''Run the mobly test module and parse results.'''
- #TODO(yuexima): report test names
-
- self.PrepareConfigFile()
- self.RunMoblyModule()
- #TODO(yuexima): check whether DEBUG logs from mobly run are included
- self.GetMoblyResults()
-
- def ParseJsonResults(self, result_path):
- '''Parse mobly test json result.
-
- Args:
- result_path: string, result json file path.
- '''
- with open(path, 'r') as f:
- mobly_summary = json.load(f)
-
- mobly_results = mobly_summary['Results']
- for result in mobly_results:
- logging.debug('Adding result for %s' % result[records.TestResultEnums.RECORD_NAME])
- record = records.TestResultRecord(result[records.TestResultEnums.RECORD_NAME])
- record.test_class = result[records.TestResultEnums.RECORD_CLASS]
- record.begin_time = result[records.TestResultEnums.RECORD_BEGIN_TIME]
- record.end_time = result[records.TestResultEnums.RECORD_END_TIME]
- record.result = result[records.TestResultEnums.RECORD_RESULT]
- record.uid = result[records.TestResultEnums.RECORD_UID]
- record.extras = result[records.TestResultEnums.RECORD_EXTRAS]
- record.details = result[records.TestResultEnums.RECORD_DETAILS]
- record.extra_errors = result[records.TestResultEnums.RECORD_EXTRA_ERRORS]
-
- self.results.addRecord(record)
-
- def ParseYamlResults(self, result_path):
- '''Parse mobly test yaml result.
-
- Args:
- result_path: string, result yaml file path.
- '''
- with open(result_path, 'r') as stream:
- try:
- docs = yaml.load_all(stream)
- for doc in docs:
- type = doc.get(RESULT_KEY_TYPE)
- if type is None:
- logging.warn(
- 'Mobly result document type unrecognized: %s', doc)
- continue
-
- logging.debug('Parsing result type: %s', type)
-
- handler = self.result_handlers.get(type)
- if handler is None:
- logging.debug('Unknown result type: %s', type)
- handler = self.HandleSimplePrint
-
- handler(doc)
- except yaml.YAMLError as exc:
- print(exc)
-
- def HandleRecord(self, doc):
- '''Handle record result document type.
-
- Args:
- doc: dict, result document item
- '''
- logging.debug('Adding result for %s' % doc.get(records.TestResultEnums.RECORD_NAME))
- record = records.TestResultRecord(doc.get(records.TestResultEnums.RECORD_NAME))
- record.test_class = doc.get(records.TestResultEnums.RECORD_CLASS)
- record.begin_time = doc.get(records.TestResultEnums.RECORD_BEGIN_TIME)
- record.end_time = doc.get(records.TestResultEnums.RECORD_END_TIME)
- record.result = doc.get(records.TestResultEnums.RECORD_RESULT)
- record.uid = doc.get(records.TestResultEnums.RECORD_UID)
- record.extras = doc.get(records.TestResultEnums.RECORD_EXTRAS)
- record.details = doc.get(records.TestResultEnums.RECORD_DETAILS)
- record.extra_errors = doc.get(records.TestResultEnums.RECORD_EXTRA_ERRORS)
-
- # 'Stacktrace' in yaml result is ignored. 'Stacktrace' is a more
- # detailed version of record.details when exception is emitted.
-
- self.results.addRecord(record)
-
- def HandleSimplePrint(self, doc):
- '''Simply print result document to log.
-
- Args:
- doc: dict, result document item
- '''
- for k, v in doc.items():
- logging.debug(str(k) + ": " + str(v))
-
-def GetTestModuleNames():
- '''Returns a list of mobly test module specified in test configuration.'''
- configs = config_parser.load_test_config_file(sys.argv[1])
- reduce_func = lambda x, y: x + y.get(keys.ConfigKeys.MOBLY_TEST_MODULE, [])
- return reduce(reduce_func, configs, [])
-
-def ImportTestModules():
- '''Dynamically import mobly test modules.'''
- for module_name in GetTestModuleNames():
- module, cls = module_name.rsplit('.', 1)
- sys.modules['__main__'].__dict__[cls] = getattr(
- importlib.import_module(module), cls)
-
-if __name__ == "__main__":
- ImportTestModules()
- test_runner.main()
diff --git a/tools/vts-core-tradefed/Android.bp b/tools/vts-core-tradefed/Android.bp
index d8b0f9b..eaac48f 100644
--- a/tools/vts-core-tradefed/Android.bp
+++ b/tools/vts-core-tradefed/Android.bp
@@ -34,7 +34,7 @@
wrapper: "etc/vts-tradefed",
short_name: "VTS",
full_name: "Vendor Test Suite",
- version: "12.1_r11",
+ version: "13_r8",
static_libs: [
"cts-tradefed-harness",
"vts-core-tradefed-harness",
diff --git a/tools/vts-core-tradefed/res/config/vts-ccd.xml b/tools/vts-core-tradefed/res/config/vts-ccd.xml
index 5d9df75..3d394bb 100644
--- a/tools/vts-core-tradefed/res/config/vts-ccd.xml
+++ b/tools/vts-core-tradefed/res/config/vts-ccd.xml
@@ -19,7 +19,11 @@
<option name="plan" value="vts-ccd" />
<option name="test-tag" value="vts-ccd" />
- <option name="compatibility:skip-all-system-status-check" value="true" />
+ <system_checker class="com.android.tradefed.suite.checker.DeviceBaselineChecker">
+ <option name="enable-device-baseline-settings" value="true" />
+ <option name="enable-experimental-device-baseline-setters" value="keep_screen_on" />
+ <option name="enable-experimental-device-baseline-setters" value="disable_os_auto_update" />
+ </system_checker>
<target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsDeviceInfoCollector" />
<target_preparer class="com.android.compatibility.common.tradefed.targetprep.DeviceInfoCollector">
diff --git a/tools/vts-core-tradefed/res/config/vts-kernel.xml b/tools/vts-core-tradefed/res/config/vts-kernel.xml
index 6b6dc9b..a5b1567 100644
--- a/tools/vts-core-tradefed/res/config/vts-kernel.xml
+++ b/tools/vts-core-tradefed/res/config/vts-kernel.xml
@@ -23,6 +23,7 @@
<option name="compatibility:include-filter" value="binderLibTest" />
<option name="compatibility:include-filter" value="binderSafeInterfaceTest " />
<option name="compatibility:include-filter" value="bpf_module_test" />
+ <option name="compatibility:include-filter" value="drop_caches_test" />
<option name="compatibility:include-filter" value="ion-unit-tests" />
<option name="compatibility:include-filter" value="KernelApiSysfsTest" />
<option name="compatibility:include-filter" value="KernelDynamicPartitionsTest " />
diff --git a/utils/python/android/api.py b/utils/python/android/api.py
index ab51ed2..b3240d8 100644
--- a/utils/python/android/api.py
+++ b/utils/python/android/api.py
@@ -18,3 +18,5 @@
PLATFORM_API_LEVEL_P = 28
PLATFORM_API_LEVEL_Q = 29
PLATFORM_API_LEVEL_R = 30
+PLATFORM_API_LEVEL_S = 31
+PLATFORM_API_LEVEL_T = 33
diff --git a/utils/python/coverage/Android.mk b/utils/python/coverage/Android.mk
deleted file mode 100644
index a4eb9db..0000000
--- a/utils/python/coverage/Android.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2016 - 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.
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := vts_coverage_test
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_IS_HOST_MODULE := true
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-py_scripts := \
- $(LOCAL_PATH)/parser_test.py \
- $(LOCAL_PATH)/gcno_parser_test.py \
- $(LOCAL_PATH)/gcda_parser_test.py \
- $(LOCAL_PATH)/arc_summary_test.py \
- $(LOCAL_PATH)/function_summary_test.py \
- $(LOCAL_PATH)/coverage_report_test.py \
-
-test_dependencies := \
- $(LOCAL_PATH)/testdata/sample.gcno \
- $(LOCAL_PATH)/testdata/sample.gcda
-
-$(LOCAL_BUILT_MODULE): PRIVATE_PY_SCRIPTS := $(py_scripts)
-$(LOCAL_BUILT_MODULE): $(py_scripts) $(test_dependencies)
- @echo "Regression test (build time): $(PRIVATE_MODULE)"
- $(foreach py, $(PRIVATE_PY_SCRIPTS), (PYTHONPATH=$$PYTHONPATH:test python $(py)) &&) true
- $(hide) touch $@
diff --git a/utils/python/coverage/README.md b/utils/python/coverage/README.md
deleted file mode 100644
index 3c11a9b..0000000
--- a/utils/python/coverage/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# To run from another Python module
-
-Import the CoverageReport module by including the line:
-
- from vts.utils.python.coverage import CoverageReport
-
-Run the code by calling the parse function as follows:
- html_report = CoverageReport.GenerateCoverageReport(src_file_name, src_file_content, gcov_file_content,
- gcda_file_content)
-
-Args:
- src_file_name: string, the source file name.
- src_file_content: string, the C/C++ source file content.
- gcov_file_content: string, the raw gcov binary file content.
- gcda_file_content: string, the raw gcda binary file content.
-
-Returns:
- the coverage HTML produced for 'src_file_name'.
diff --git a/utils/python/coverage/__init__.py b/utils/python/coverage/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/utils/python/coverage/__init__.py
+++ /dev/null
diff --git a/utils/python/coverage/arc_summary.py b/utils/python/coverage/arc_summary.py
deleted file mode 100644
index ae9138f..0000000
--- a/utils/python/coverage/arc_summary.py
+++ /dev/null
@@ -1,90 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-
-class ArcSummary(object):
- """Summarizes an arc from a .gcno file.
-
- Attributes:
- src_block_index: integer index of the source basic block.
- dstBlockIndex: integer index of the destination basic block.
- on_tree: True iff arc has flag GCOV_ARC_ON_TREE.
- fake: True iff arc has flag GCOV_ARC_FAKE.
- fallthrough: True iff arc has flag GCOV_ARC_FALLTHROUGH.
- resolved: True iff the arc's count has been resolved.
- count: Integer number of times the arc was covered.
- """
-
- GCOV_ARC_ON_TREE = 1
- GCOV_ARC_FAKE = 1 << 1
- GCOV_ARC_FALLTHROUGH = 1 << 2
-
- def __init__(self, src_block, dst_block, flag):
- """Inits the arc summary with provided values.
-
- Stores the source and destination block indices and parses
- the arc flag.
-
- Args:
- src_block: BlockSummary of source block.
- dst_block: BlockSummary of destination block.
- flag: integer flag for the given arc.
- """
-
- self.src_block = src_block
- self.dst_block = dst_block
- self.on_tree = bool(flag & self.GCOV_ARC_ON_TREE)
- self.fake = bool(flag & self.GCOV_ARC_FAKE)
- self.fallthrough = bool(flag & self.GCOV_ARC_FALLTHROUGH)
- self.resolved = False
- self.count = 0
-
- def Resolve(self):
- """Resolves the arc count and returns True if successful.
-
- Uses the property that the sum of counts of arcs entering a
- node is equal to the sum of counts of arcs leaving a node. The
- exception to this rule is fake non-fallthrough nodes, which have
- no exit edges. In this case, remove the arc as an exit arc from
- the source so that the source can be resolved.
-
- Returns:
- True if the arc could be resolved and False otherwise.
- """
- if self.fake and not self.fallthrough:
- try:
- self.src_block.exit_arcs.remove(self)
- except ValueError:
- pass
- elif (len(self.src_block.entry_arcs) > 0 and
- all(a.resolved for a in self.src_block.entry_arcs) and
- all(a.resolved for a in self.src_block.exit_arcs if a != self)):
- in_flow = sum(a.count for a in self.src_block.entry_arcs)
- out_flow = sum(a.count for a in self.src_block.exit_arcs
- if a != self)
- self.count = in_flow - out_flow
- self.resolved = True
- elif (len(self.dst_block.exit_arcs) > 0 and
- all(a.resolved for a in self.dst_block.exit_arcs) and
- all(a.resolved for a in self.dst_block.entry_arcs if a != self)):
- out_flow = sum(a.count for a in self.dst_block.exit_arcs)
- in_flow = sum(a.count for a in self.dst_block.entry_arcs
- if a != self)
- self.count = out_flow - in_flow
- self.resolved = True
- else:
- return False
- return True
diff --git a/utils/python/coverage/arc_summary_test.py b/utils/python/coverage/arc_summary_test.py
deleted file mode 100644
index 6784be7..0000000
--- a/utils/python/coverage/arc_summary_test.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 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.
-#
-
-import os
-import unittest
-
-from vts.utils.python.coverage import arc_summary
-from vts.utils.python.coverage import block_summary
-
-
-class ArcSummaryTest(unittest.TestCase):
- """Tests for ArcSummary of vts.utils.python.coverage.
- """
-
- def testResolveRemove(self):
- """Verifies that fake, non-fallthrough arc are resolved correctly.
-
- The arc should be removed as an exit arc from the source.
- """
- src = block_summary.BlockSummary(0, 0)
- dst = block_summary.BlockSummary(1, 0)
- flag = arc_summary.ArcSummary.GCOV_ARC_FAKE
- arc = arc_summary.ArcSummary(src, dst, flag)
- src.exit_arcs.append(arc)
- dst.entry_arcs.append(arc)
- self.assertTrue(arc.Resolve())
- self.assertEqual(len(src.exit_arcs), 0)
-
- def testResolveFromSource(self):
- """Verifies that arcs can be resolved from the source.
-
- In the case when the source has fully-resolved entry arcs, the arc
- count should be resolved from the source. I.e. there is only one
- missing arc and it can be solved for from the source.
- """
- middle = block_summary.BlockSummary(-1, 0)
- n = 10
-
- # Create resolved arcs entering the middle block
- for ident in range(n):
- block = block_summary.BlockSummary(ident, 0)
- arc = arc_summary.ArcSummary(block, middle, 0)
- arc.resolved = True
- arc.count = 1
- block.exit_arcs.append(arc)
- middle.entry_arcs.append(arc)
-
- # Create resolved arcs exiting the middle block
- for ident in range(n, 2 * n - 1):
- block = block_summary.BlockSummary(ident, 0)
- arc = arc_summary.ArcSummary(middle, block, 0)
- arc.resolved = True
- arc.count = 1
- block.entry_arcs.append(arc)
- middle.exit_arcs.append(arc)
-
- # Create one unresolved arc exiting the middle
- last = block_summary.BlockSummary(2 * n - 1, 0)
- arc = arc_summary.ArcSummary(middle, last, 0)
- middle.exit_arcs.append(arc)
- last.entry_arcs.append(arc)
- self.assertTrue(arc.Resolve())
- self.assertTrue(arc.resolved)
- self.assertEqual(arc.count, 1)
-
- def testResolveFromDest(self):
- """Verifies that arcs can be resolved from the destination block.
-
- In the case when the source has fully-resolved exit arcs, the arc
- count should be resolved from the source. I.e. there is only one
- missing arc and it can be solved for from the destination.
- """
- middle = block_summary.BlockSummary(-1, 0)
- n = 10
-
- # Create resolved arcs exiting the middle block
- for ident in range(n):
- block = block_summary.BlockSummary(ident, 0)
- arc = arc_summary.ArcSummary(middle, block, 0)
- arc.resolved = True
- arc.count = 1
- block.entry_arcs.append(arc)
- middle.exit_arcs.append(arc)
-
- # Create resolved arcs entering the middle block
- for ident in range(n, 2 * n - 1):
- block = block_summary.BlockSummary(ident, 0)
- arc = arc_summary.ArcSummary(block, middle, 0)
- arc.resolved = True
- arc.count = 1
- block.exit_arcs.append(arc)
- middle.entry_arcs.append(arc)
-
- # Create one unresolved arc entering the middle
- block = block_summary.BlockSummary(2 * n - 1, 0)
- arc = arc_summary.ArcSummary(block, middle, 0)
- middle.entry_arcs.append(arc)
- block.exit_arcs.append(arc)
- self.assertTrue(arc.Resolve())
- self.assertTrue(arc.resolved)
- self.assertEqual(arc.count, 1)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/utils/python/coverage/block_summary.py b/utils/python/coverage/block_summary.py
deleted file mode 100644
index 794ea9b..0000000
--- a/utils/python/coverage/block_summary.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-
-class BlockSummary(object):
- """Summarizes a block of code from a .gcno file.
-
- Contains all the lines in the block and the entry/exit
- arcs from/to other basic blocks.
-
- Attributes:
- flag: integer flag value.
- entry_arcs: list of ArcSummary objects for each arc
- entering the code block.
- exit_arcs: list of ArcSummary objects for each arc exiting
- the code block.
- lines: list of line numbers represented by the basic block.
- """
-
- def __init__(self, index, flag):
- """Inits the block summary with provided values.
-
- Initializes entryArcs, exitArcs, and lines to the empty list.
- Stores the block flag in the flag attribute.
-
- Args:
- index: the basic block number
- flag: integer block flag.
- """
- self.index = index
- self.flag = flag
- self.entry_arcs = []
- self.exit_arcs = []
- self.count = 0
- self.lines = []
-
- def __str__(self):
- """Serializes the block summary as a string.
-
- Returns:
- String representation of the block.
- """
- output = '\tBlock: %i, Count: %i' % (self.index, self.count)
- if len(self.lines):
- output += ', Lines: ' + ', '.join(str(line) for line in self.lines)
- if len(self.entry_arcs):
- output += ('\r\n\t\t' + str(self.index) + ' <-- ' + ', '.join(
- str(a.src_block.index) for a in self.entry_arcs))
- if len(self.exit_arcs):
- output += ('\r\n\t\t' + str(self.index) + ' --> ' + ', '.join(
- str(a.dst_block.index) for a in self.exit_arcs))
- return output + '\r\n'
diff --git a/utils/python/coverage/coverage_report.py b/utils/python/coverage/coverage_report.py
deleted file mode 100644
index c176e5f..0000000
--- a/utils/python/coverage/coverage_report.py
+++ /dev/null
@@ -1,100 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-"""Generates coverage reports using outputs from GCC.
-
-The GenerateCoverageReport() function returns HTML to display the coverage
-at each line of code in a provided source file. Coverage information is
-parsed from .gcno and .gcda file contents and combined with the source file
-to reconstruct a coverage report. GenerateLineCoverageVector() is a helper
-function that produces a vector of line counts and GenerateCoverageHTML()
-uses the vector and source to produce the HTML coverage report.
-"""
-
-import cgi
-import io
-import logging
-import os
-from vts.utils.python.coverage import gcda_parser
-from vts.utils.python.coverage import gcno_parser
-
-GEN_TAG = "/gen/"
-
-def GenerateLineCoverageVector(gcno_file_summary, exclude_paths, coverage_dict):
- """Process the gcno_file_summary and update the coverage dictionary.
-
- Create a coverage vector for each source file contained in gcno_file_summary
- and update the corresponding item in coverage_dict.
-
- Args:
- gcno_file_summary: FileSummary object after gcno and gcda files have
- been parsed.
- exclude_paths: a list of paths should be ignored in the coverage report.
- coverage_dict: a dictionary for each source file and its corresponding
- coverage vector.
- """
- for ident in gcno_file_summary.functions:
- func = gcno_file_summary.functions[ident]
- file_name = func.src_file_name
- if GEN_TAG in file_name:
- logging.debug("Skip generated source file %s.", file_name)
- continue
- skip_file = False
- for path in exclude_paths:
- if file_name.startswith(path):
- skip_file = True
- break
- if skip_file:
- logging.debug("Skip excluded source file %s.", file_name)
- continue
-
- src_lines_counts = coverage_dict[file_name] if file_name in coverage_dict else []
- for block in func.blocks:
- for line in block.lines:
- if line > len(src_lines_counts):
- src_lines_counts.extend([-1] *
- (line - len(src_lines_counts)))
- if src_lines_counts[line - 1] < 0:
- src_lines_counts[line - 1] = 0
- src_lines_counts[line - 1] += block.count
- coverage_dict[file_name] = src_lines_counts
-
-
-def GetCoverageStats(src_lines_counts):
- """Returns the coverage stats.
-
- Args:
- src_lines_counts: A list of non-negative integers or -1 representing
- the number of times the i-th line was executed.
- -1 indicates a line that is not executable.
-
- Returns:
- integer, the number of lines instrumented for coverage measurement
- integer, the number of executed or covered lines
- """
- total = 0
- covered = 0
- if not src_lines_counts or not isinstance(src_lines_counts, list):
- logging.error("GetCoverageStats: input invalid.")
- return total, covered
-
- for line in src_lines_counts:
- if line < 0:
- continue
- total += 1
- if line > 0:
- covered += 1
- return total, covered
-
diff --git a/utils/python/coverage/coverage_report_test.py b/utils/python/coverage/coverage_report_test.py
deleted file mode 100644
index 049d84c..0000000
--- a/utils/python/coverage/coverage_report_test.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 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.
-#
-
-import os
-import unittest
-
-from vts.utils.python.coverage import gcno_parser
-from vts.utils.python.coverage import gcda_parser
-from vts.utils.python.coverage import coverage_report
-
-
-class CoverageReportTest(unittest.TestCase):
- """Unit tests for CoverageReport of vts.utils.python.coverage.
- """
-
- GOLDEN_GCNO_PATH = 'testdata/sample.gcno'
- GOLDEN_GCDA_PATH = 'testdata/sample.gcda'
-
- @classmethod
- def setUpClass(cls):
- dir_path = os.path.dirname(os.path.realpath(__file__))
- gcno_path = os.path.join(dir_path, cls.GOLDEN_GCNO_PATH)
- with open(gcno_path, 'rb') as file:
- gcno_summary = gcno_parser.GCNOParser(file).Parse()
- gcda_path = os.path.join(dir_path, cls.GOLDEN_GCDA_PATH)
- with open(gcda_path, 'rb') as file:
- parser = gcda_parser.GCDAParser(file)
- parser.Parse(gcno_summary)
- cls.gcno_summary = gcno_summary
-
- def testGenerateLineCoverageVector(self):
- """Tests that coverage vector is correctly generated.
-
- Runs GenerateLineCoverageVector on sample file and checks
- result.
- """
- coverage_dict = dict()
- exclude_paths = []
- src_lines_counts = coverage_report.GenerateLineCoverageVector(
- self.gcno_summary, exclude_paths, coverage_dict)
- expected = {'sample.c': [-1, -1, -1, -1, 2, -1, -1, -1, -1, -1, 2,
- 2, 2, -1, 2, -1, 2, 0, -1, 2, -1, -1, 2, 2, 502,
- 500, -1, -1, 2, -1, 2, -1, -1, -1, 2, -1,
- -1, -1, -1, 2, 2, 2]}
- self.assertEqual(coverage_dict, expected)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/utils/python/coverage/coverage_utils.py b/utils/python/coverage/coverage_utils.py
deleted file mode 100644
index 217b028..0000000
--- a/utils/python/coverage/coverage_utils.py
+++ /dev/null
@@ -1,771 +0,0 @@
-#
-# Copyright (C) 2016 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.
-import argparse
-import io
-import json
-import logging
-import os
-import shutil
-import sys
-import time
-import zipfile
-
-from vts.proto import VtsReportMessage_pb2 as ReportMsg
-from vts.runners.host import keys
-from vts.utils.python.archive import archive_parser
-from vts.utils.python.common import cmd_utils
-from vts.utils.python.controllers.adb import AdbError
-from vts.utils.python.coverage import coverage_report
-from vts.utils.python.coverage import gcda_parser
-from vts.utils.python.coverage import gcno_parser
-from vts.utils.python.coverage.parser import FileFormatError
-from vts.utils.python.os import path_utils
-from vts.utils.python.web import feature_utils
-
-FLUSH_PATH_VAR = "GCOV_PREFIX" # environment variable for gcov flush path
-TARGET_COVERAGE_PATH = "/data/misc/trace/" # location to flush coverage
-LOCAL_COVERAGE_PATH = "/tmp/vts-test-coverage" # location to pull coverage to host
-
-# Environment for test process
-COVERAGE_TEST_ENV = "GCOV_PREFIX_OVERRIDE=true GCOV_PREFIX=/data/misc/trace/self"
-
-GCNO_SUFFIX = ".gcno"
-GCDA_SUFFIX = ".gcda"
-COVERAGE_SUFFIX = ".gcnodir"
-GIT_PROJECT = "git_project"
-MODULE_NAME = "module_name"
-NAME = "name"
-PATH = "path"
-GEN_TAG = "/gen/"
-
-_BUILD_INFO = "BUILD_INFO" # name of build info artifact
-_GCOV_ZIP = "gcov.zip" # name of gcov artifact zip
-_REPO_DICT = "repo-dict" # name of dictionary from project to revision in BUILD_INFO
-
-_CLEAN_TRACE_COMMAND = "rm -rf /data/misc/trace/*"
-_FLUSH_COMMAND = (
- "GCOV_PREFIX_OVERRIDE=true GCOV_PREFIX=/data/local/tmp/flusher "
- "/data/local/tmp/vts_coverage_configure flush")
-_SP_COVERAGE_PATH = "self" # relative location where same-process coverage is dumped.
-
-_CHECKSUM_GCNO_DICT = "checksum_gcno_dict"
-_COVERAGE_ZIP = "coverage_zip"
-_REVISION_DICT = "revision_dict"
-
-
-class CoverageFeature(feature_utils.Feature):
- """Feature object for coverage functionality.
-
- Attributes:
- enabled: boolean, True if coverage is enabled, False otherwise
- web: (optional) WebFeature, object storing web feature util for test run
- local_coverage_path: path to store the coverage files.
- _device_resource_dict: a map from device serial number to host resources directory.
- _hal_names: the list of hal names for which to process coverage.
- _coverage_report_file_prefix: prefix of the output coverage report file.
- """
-
- _TOGGLE_PARAM = keys.ConfigKeys.IKEY_ENABLE_COVERAGE
- _REQUIRED_PARAMS = [keys.ConfigKeys.IKEY_ANDROID_DEVICE]
- _OPTIONAL_PARAMS = [
- keys.ConfigKeys.IKEY_MODULES,
- keys.ConfigKeys.IKEY_OUTPUT_COVERAGE_REPORT,
- keys.ConfigKeys.IKEY_GLOBAL_COVERAGE,
- keys.ConfigKeys.IKEY_EXCLUDE_COVERAGE_PATH,
- keys.ConfigKeys.IKEY_COVERAGE_REPORT_PATH,
- ]
-
- _DEFAULT_EXCLUDE_PATHS = [
- "bionic", "external/libcxx", "system/core", "system/libhidl",
- "system/libfmq"
- ]
-
- def __init__(self, user_params, web=None):
- """Initializes the coverage feature.
-
- Args:
- user_params: A dictionary from parameter name (String) to parameter value.
- web: (optional) WebFeature, object storing web feature util for test run
- local_coverage_path: (optional) path to store the .gcda files and coverage reports.
- """
- self.ParseParameters(self._TOGGLE_PARAM, self._REQUIRED_PARAMS,
- self._OPTIONAL_PARAMS, user_params)
- self.web = web
- self._device_resource_dict = {}
- self._hal_names = None
-
- timestamp_seconds = str(int(time.time() * 1000000))
- self.local_coverage_path = os.path.join(LOCAL_COVERAGE_PATH,
- timestamp_seconds)
- if os.path.exists(self.local_coverage_path):
- logging.debug("removing existing coverage path: %s",
- self.local_coverage_path)
- shutil.rmtree(self.local_coverage_path)
- os.makedirs(self.local_coverage_path)
-
- self._coverage_report_dir = getattr(
- self, keys.ConfigKeys.IKEY_COVERAGE_REPORT_PATH, None)
-
- self._coverage_report_file_prefix = ""
-
- self.global_coverage = getattr(
- self, keys.ConfigKeys.IKEY_GLOBAL_COVERAGE, True)
- if self.enabled:
- android_devices = getattr(self,
- keys.ConfigKeys.IKEY_ANDROID_DEVICE)
- if not isinstance(android_devices, list):
- logging.warn("Android device information not available.")
- self.enabled = False
- for device in android_devices:
- serial = device.get(keys.ConfigKeys.IKEY_SERIAL)
- coverage_resource_path = device.get(
- keys.ConfigKeys.IKEY_GCOV_RESOURCES_PATH)
- if not serial:
- logging.error("Missing serial information in device: %s",
- device)
- continue
- if not coverage_resource_path:
- logging.error(
- "Missing coverage resource path in device: %s", device)
- continue
- self._device_resource_dict[str(serial)] = str(
- coverage_resource_path)
-
- if self.enabled:
- logging.info("Coverage is enabled")
- else:
- logging.debug("Coverage is disabled.")
-
- def _FindGcnoSummary(self, gcda_file_path, gcno_file_parsers):
- """Find the corresponding gcno summary for given gcda file.
-
- Identify the corresponding gcno summary for given gcda file from a list
- of gcno files with the same checksum as the gcda file by matching
- the the gcda file path.
- Note: if none of the gcno summary contains the source file same as the
- given gcda_file_path (e.g. when the corresponding source file does not
- contain any executable codes), just return the last gcno summary in the
- list as a fall back solution.
-
- Args:
- gcda_file_path: the path of gcda file (without extensions).
- gcno_file_parsers: a list of gcno file parser that has the same
- chechsum.
-
- Returns:
- The corresponding gcno summary for given gcda file.
- """
- gcno_summary = None
- # For each gcno files with the matched checksum, compare the
- # gcda_file_path to find the corresponding gcno summary.
- for gcno_file_parser in gcno_file_parsers:
- try:
- gcno_summary = gcno_file_parser.Parse()
- except FileFormatError:
- logging.error("Error parsing gcno for gcda %s", gcda_file_path)
- break
- legacy_build = "soong/.intermediates" not in gcda_file_path
- for key in gcno_summary.functions:
- src_file_path = gcno_summary.functions[key].src_file_name
- src_file_name = src_file_path.rsplit(".", 1)[0]
- # If build with legacy compile system, compare only the base
- # source file name. Otherwise, compare the full source file name
- # (with path info).
- if legacy_build:
- base_src_file_name = os.path.basename(src_file_name)
- if gcda_file_path.endswith(base_src_file_name):
- return gcno_summary
- else:
- if gcda_file_path.endswith(src_file_name):
- return gcno_summary
- # If no gcno file matched with the gcda_file_name, return the last
- # gcno summary as a fall back solution.
- return gcno_summary
-
- def _GetChecksumGcnoDict(self, cov_zip):
- """Generates a dictionary from gcno checksum to GCNOParser object.
-
- Processes the gcnodir files in the zip file to produce a mapping from gcno
- checksum to the GCNOParser object wrapping the gcno content.
- Note there might be multiple gcno files corresponds to the same checksum.
-
- Args:
- cov_zip: the zip file containing gcnodir files from the device build
-
- Returns:
- the dictionary of gcno checksums to GCNOParser objects
- """
- checksum_gcno_dict = dict()
- fnames = cov_zip.namelist()
- instrumented_modules = [
- f for f in fnames if f.endswith(COVERAGE_SUFFIX)
- ]
- for instrumented_module in instrumented_modules:
- # Read the gcnodir file
- archive = archive_parser.Archive(
- cov_zip.open(instrumented_module).read())
- try:
- archive.Parse()
- except ValueError:
- logging.error("Archive could not be parsed: %s", name)
- continue
-
- for gcno_file_path in archive.files:
- gcno_stream = io.BytesIO(archive.files[gcno_file_path])
- gcno_file_parser = gcno_parser.GCNOParser(gcno_stream)
- if gcno_file_parser.checksum in checksum_gcno_dict:
- checksum_gcno_dict[gcno_file_parser.checksum].append(
- gcno_file_parser)
- else:
- checksum_gcno_dict[gcno_file_parser.checksum] = [
- gcno_file_parser
- ]
- return checksum_gcno_dict
-
- def _ClearTargetGcov(self, dut, serial, path_suffix=None):
- """Removes gcov data from the device.
-
- Finds and removes all gcda files relative to TARGET_COVERAGE_PATH.
- Args:
- dut: the device under test.
- path_suffix: optional string path suffix.
- """
- path = TARGET_COVERAGE_PATH
- if path_suffix:
- path = path_utils.JoinTargetPath(path, path_suffix)
- self._ExecuteOneAdbShellCommand(dut, serial, _CLEAN_TRACE_COMMAND)
-
- def _GetHalPids(self, dut, hal_names):
- """Get the process id for the given hal names.
-
- Args:
- dut: the device under test.
- hal_names: list of strings for targeting hal names.
-
- Returns:
- list of strings for the corresponding pids.
- """
- logging.debug("hal_names: %s", str(hal_names))
- searchString = "|".join(hal_names)
- entries = []
- try:
- dut.rootAdb()
- entries = dut.adb.shell(
- "lshal -itp 2> /dev/null | grep -E \"{0}\"".format(
- searchString)).splitlines()
- except AdbError as e:
- logging.error("failed to get pid entries")
-
- pids = set(pid.strip()
- for pid in map(lambda entry: entry.split()[-1], entries)
- if pid.isdigit())
- return pids
-
- def InitializeDeviceCoverage(self, dut=None, serial=None):
- """Initializes the device for coverage before tests run.
-
- Flushes, then finds and removes all gcda files under
- TARGET_COVERAGE_PATH before tests run.
-
- Args:
- dut: the device under test.
- """
- self._ExecuteOneAdbShellCommand(dut, serial, "setenforce 0")
- self._ExecuteOneAdbShellCommand(dut, serial, _FLUSH_COMMAND)
- logging.debug("Removing existing gcda files.")
- self._ClearTargetGcov(dut, serial)
-
- # restart HALs to include coverage for initialization code.
- if self._hal_names:
- pids = self._GetHalPids(dut, self._hal_names)
- for pid in pids:
- cmd = "kill -9 " + pid
- self._ExecuteOneAdbShellCommand(dut, serial, cmd)
-
- def _GetGcdaDict(self, dut, serial):
- """Retrieves GCDA files from device and creates a dictionary of files.
-
- Find all GCDA files on the target device, copy them to the host using
- adb, then return a dictionary mapping from the gcda basename to the
- temp location on the host.
-
- Args:
- dut: the device under test.
-
- Returns:
- A dictionary with gcda basenames as keys and contents as the values.
- """
- logging.debug("Creating gcda dictionary")
- gcda_dict = {}
- logging.debug("Storing gcda tmp files to: %s",
- self.local_coverage_path)
-
- self._ExecuteOneAdbShellCommand(dut, serial, _FLUSH_COMMAND)
-
- gcda_files = set()
- if self._hal_names:
- pids = self._GetHalPids(dut, self._hal_names)
- pids.add(_SP_COVERAGE_PATH)
- for pid in pids:
- path = path_utils.JoinTargetPath(TARGET_COVERAGE_PATH, pid)
- try:
- files = dut.adb.shell("find %s -name \"*.gcda\"" % path)
- gcda_files.update(files.split("\n"))
- except AdbError as e:
- logging.info("No gcda files found in path: \"%s\"", path)
- else:
- cmd = ("find %s -name \"*.gcda\"" % TARGET_COVERAGE_PATH)
- result = self._ExecuteOneAdbShellCommand(dut, serial, cmd)
- if result:
- gcda_files.update(result.split("\n"))
-
- for gcda in gcda_files:
- if gcda:
- basename = os.path.basename(gcda.strip())
- file_name = os.path.join(self.local_coverage_path, basename)
- if dut is None:
- results = cmd_utils.ExecuteShellCommand(
- "adb -s %s pull %s %s " % (serial, gcda, file_name))
- if (results[cmd_utils.EXIT_CODE][0]):
- logging.error(
- "Fail to execute command: %s. error: %s" %
- (cmd, str(results[cmd_utils.STDERR][0])))
- else:
- dut.adb.pull("%s %s" % (gcda, file_name))
- gcda_content = open(file_name, "rb").read()
- gcda_dict[gcda.strip()] = gcda_content
- self._ClearTargetGcov(dut, serial)
- return gcda_dict
-
- def _OutputCoverageReport(self, isGlobal, coverage_report_msg=None):
- logging.info("Outputing coverage data")
- timestamp_seconds = str(int(time.time() * 1000000))
- coverage_report_file_name = "coverage_report_" + timestamp_seconds + ".txt"
- if self._coverage_report_file_prefix:
- coverage_report_file_name = "coverage_report_" + self._coverage_report_file_prefix + ".txt"
-
- coverage_report_file = None
- if (self._coverage_report_dir):
- if not os.path.exists(self._coverage_report_dir):
- os.makedirs(self._coverage_report_dir)
- coverage_report_file = os.path.join(self._coverage_report_dir,
- coverage_report_file_name)
- else:
- coverage_report_file = os.path.join(self.local_coverage_path,
- coverage_report_file_name)
-
- logging.info("Storing coverage report to: %s", coverage_report_file)
- if self.web and self.web.enabled:
- coverage_report_msg = ReportMsg.TestReportMessage()
- if isGlobal:
- for c in self.web.report_msg.coverage:
- coverage = coverage_report_msg.coverage.add()
- coverage.CopyFrom(c)
- else:
- for c in self.web.current_test_report_msg.coverage:
- coverage = coverage_report_msg.coverage.add()
- coverage.CopyFrom(c)
- if coverage_report_msg is not None:
- with open(coverage_report_file, "w+") as f:
- f.write(str(coverage_report_msg))
-
- def _AutoProcess(self, cov_zip, revision_dict, gcda_dict, isGlobal):
- """Process coverage data and appends coverage reports to the report message.
-
- Matches gcno files with gcda files and processes them into a coverage report
- with references to the original source code used to build the system image.
- Coverage information is appended as a CoverageReportMessage to the provided
- report message.
-
- Git project information is automatically extracted from the build info and
- the source file name enclosed in each gcno file. Git project names must
- resemble paths and may differ from the paths to their project root by at
- most one. If no match is found, then coverage information will not be
- be processed.
-
- e.g. if the project path is test/vts, then its project name may be
- test/vts or <some folder>/test/vts in order to be recognized.
-
- Args:
- cov_zip: the ZipFile object containing the gcno coverage artifacts.
- revision_dict: the dictionary from project name to project version.
- gcda_dict: the dictionary of gcda basenames to gcda content (binary string)
- isGlobal: boolean, True if the coverage data is for the entire test, False if only for
- the current test case.
- """
- checksum_gcno_dict = self._GetChecksumGcnoDict(cov_zip)
- output_coverage_report = getattr(
- self, keys.ConfigKeys.IKEY_OUTPUT_COVERAGE_REPORT, False)
- exclude_coverage_path = getattr(
- self, keys.ConfigKeys.IKEY_EXCLUDE_COVERAGE_PATH, [])
- for idx, path in enumerate(exclude_coverage_path):
- base_name = os.path.basename(path)
- if base_name and "." not in base_name:
- path = path if path.endswith("/") else path + "/"
- exclude_coverage_path[idx] = path
- exclude_coverage_path.extend(self._DEFAULT_EXCLUDE_PATHS)
-
- coverage_dict = dict()
- coverage_report_message = ReportMsg.TestReportMessage()
-
- for gcda_name in gcda_dict:
- if GEN_TAG in gcda_name:
- # skip coverage measurement for intermediate code.
- logging.warn("Skip for gcda file: %s", gcda_name)
- continue
-
- gcda_stream = io.BytesIO(gcda_dict[gcda_name])
- gcda_file_parser = gcda_parser.GCDAParser(gcda_stream)
- file_name = gcda_name.rsplit(".", 1)[0]
-
- if not gcda_file_parser.checksum in checksum_gcno_dict:
- logging.info("No matching gcno file for gcda: %s", gcda_name)
- continue
- gcno_file_parsers = checksum_gcno_dict[gcda_file_parser.checksum]
- gcno_summary = self._FindGcnoSummary(file_name, gcno_file_parsers)
- if gcno_summary is None:
- logging.error("No gcno file found for gcda %s.", gcda_name)
- continue
-
- # Process and merge gcno/gcda data
- try:
- gcda_file_parser.Parse(gcno_summary)
- except FileFormatError:
- logging.error("Error parsing gcda file %s", gcda_name)
- continue
-
- coverage_report.GenerateLineCoverageVector(
- gcno_summary, exclude_coverage_path, coverage_dict)
-
- for src_file_path in coverage_dict:
- # Get the git project information
- # Assumes that the project name and path to the project root are similar
- revision = None
- for project_name in revision_dict:
- # Matches cases when source file root and project name are the same
- if src_file_path.startswith(str(project_name)):
- git_project_name = str(project_name)
- git_project_path = str(project_name)
- revision = str(revision_dict[project_name])
- logging.debug("Source file '%s' matched with project '%s'",
- src_file_path, git_project_name)
- break
-
- parts = os.path.normpath(str(project_name)).split(os.sep, 1)
- # Matches when project name has an additional prefix before the
- # project path root.
- if len(parts) > 1 and src_file_path.startswith(parts[-1]):
- git_project_name = str(project_name)
- git_project_path = parts[-1]
- revision = str(revision_dict[project_name])
- logging.debug("Source file '%s' matched with project '%s'",
- src_file_path, git_project_name)
- break
-
- if not revision:
- logging.info("Could not find git info for %s", src_file_path)
- continue
-
- coverage_vec = coverage_dict[src_file_path]
- total_count, covered_count = coverage_report.GetCoverageStats(
- coverage_vec)
- if self.web and self.web.enabled:
- self.web.AddCoverageReport(coverage_vec, src_file_path,
- git_project_name, git_project_path,
- revision, covered_count,
- total_count, isGlobal)
- else:
- coverage = coverage_report_message.coverage.add()
- coverage.total_line_count = total_count
- coverage.covered_line_count = covered_count
- coverage.line_coverage_vector.extend(coverage_vec)
-
- src_file_path = os.path.relpath(src_file_path,
- git_project_path)
- coverage.file_path = src_file_path
- coverage.revision = revision
- coverage.project_name = git_project_name
-
- if output_coverage_report:
- self._OutputCoverageReport(isGlobal, coverage_report_message)
-
- # TODO: consider to deprecate the manual process.
- def _ManualProcess(self, cov_zip, revision_dict, gcda_dict, isGlobal):
- """Process coverage data and appends coverage reports to the report message.
-
- Opens the gcno files in the cov_zip for the specified modules and matches
- gcno/gcda files. Then, coverage vectors are generated for each set of matching
- gcno/gcda files and appended as a CoverageReportMessage to the provided
- report message. Unlike AutoProcess, coverage information is only processed
- for the modules explicitly defined in 'modules'.
-
- Args:
- cov_zip: the ZipFile object containing the gcno coverage artifacts.
- revision_dict: the dictionary from project name to project version.
- gcda_dict: the dictionary of gcda basenames to gcda content (binary string)
- isGlobal: boolean, True if the coverage data is for the entire test, False if only for
- the current test case.
- """
- output_coverage_report = getattr(
- self, keys.ConfigKeys.IKEY_OUTPUT_COVERAGE_REPORT, True)
- modules = getattr(self, keys.ConfigKeys.IKEY_MODULES, None)
- covered_modules = set(cov_zip.namelist())
- for module in modules:
- if MODULE_NAME not in module or GIT_PROJECT not in module:
- logging.error(
- "Coverage module must specify name and git project: %s",
- module)
- continue
- project = module[GIT_PROJECT]
- if PATH not in project or NAME not in project:
- logging.error("Project name and path not specified: %s",
- project)
- continue
-
- name = str(module[MODULE_NAME]) + COVERAGE_SUFFIX
- git_project = str(project[NAME])
- git_project_path = str(project[PATH])
-
- if name not in covered_modules:
- logging.error("No coverage information for module %s", name)
- continue
- if git_project not in revision_dict:
- logging.error(
- "Git project not present in device revision dict: %s",
- git_project)
- continue
-
- revision = str(revision_dict[git_project])
- archive = archive_parser.Archive(cov_zip.open(name).read())
- try:
- archive.Parse()
- except ValueError:
- logging.error("Archive could not be parsed: %s", name)
- continue
-
- for gcno_file_path in archive.files:
- file_name_path = gcno_file_path.rsplit(".", 1)[0]
- file_name = os.path.basename(file_name_path)
- gcno_content = archive.files[gcno_file_path]
- gcno_stream = io.BytesIO(gcno_content)
- try:
- gcno_summary = gcno_parser.GCNOParser(gcno_stream).Parse()
- except FileFormatError:
- logging.error("Error parsing gcno file %s", gcno_file_path)
- continue
- src_file_path = None
-
- # Match gcno file with gcda file
- gcda_name = file_name + GCDA_SUFFIX
- if gcda_name not in gcda_dict:
- logging.error("No gcda file found %s.", gcda_name)
- continue
-
- src_file_path = self._ExtractSourceName(
- gcno_summary, file_name)
-
- if not src_file_path:
- logging.error("No source file found for %s.",
- gcno_file_path)
- continue
-
- # Process and merge gcno/gcda data
- gcda_content = gcda_dict[gcda_name]
- gcda_stream = io.BytesIO(gcda_content)
- try:
- gcda_parser.GCDAParser(gcda_stream).Parse(gcno_summary)
- except FileFormatError:
- logging.error("Error parsing gcda file %s", gcda_content)
- continue
-
- if self.web and self.web.enabled:
- coverage_vec = coverage_report.GenerateLineCoverageVector(
- src_file_path, gcno_summary)
- total_count, covered_count = coverage_report.GetCoverageStats(
- coverage_vec)
- self.web.AddCoverageReport(coverage_vec, src_file_path,
- git_project, git_project_path,
- revision, covered_count,
- total_count, isGlobal)
-
- if output_coverage_report:
- self._OutputCoverageReport(isGlobal)
-
- def SetCoverageData(self, dut=None, serial=None, isGlobal=False):
- """Sets and processes coverage data.
-
- Organizes coverage data and processes it into a coverage report in the
- current test case
-
- Requires feature to be enabled; no-op otherwise.
-
- Args:
- dut: the device object for which to pull coverage data
- isGlobal: True if the coverage data is for the entire test, False if
- if the coverage data is just for the current test case.
- """
- if not self.enabled:
- return
-
- if serial is None:
- serial = "default" if dut is None else dut.adb.shell(
- "getprop ro.serialno").strip()
-
- if not serial in self._device_resource_dict:
- logging.error("Invalid device provided: %s", serial)
- return
-
- resource_path = self._device_resource_dict[serial]
- if not resource_path:
- logging.error("Coverage resource path not found.")
- return
-
- gcda_dict = self._GetGcdaDict(dut, serial)
- logging.debug("Coverage file paths %s", str([fp for fp in gcda_dict]))
-
- cov_zip = zipfile.ZipFile(os.path.join(resource_path, _GCOV_ZIP))
-
- revision_dict = json.load(
- open(os.path.join(resource_path, _BUILD_INFO)))[_REPO_DICT]
-
- if not hasattr(self, keys.ConfigKeys.IKEY_MODULES):
- # auto-process coverage data
- self._AutoProcess(cov_zip, revision_dict, gcda_dict, isGlobal)
- else:
- # explicitly process coverage data for the specified modules
- self._ManualProcess(cov_zip, revision_dict, gcda_dict, isGlobal)
-
- # cleanup the downloaded gcda files.
- logging.debug("Cleaning up gcda files.")
- files = os.listdir(self.local_coverage_path)
- for item in files:
- if item.endswith(".gcda"):
- os.remove(os.path.join(self.local_coverage_path, item))
-
- def SetHalNames(self, names=[]):
- """Sets the HAL names for which to process coverage.
-
- Args:
- names: list of strings, names of hal (e.g. android.hardware.light@2.0)
- """
- self._hal_names = list(names)
-
- def SetCoverageReportFilePrefix(self, prefix):
- """Sets the prefix for outputting the coverage report file.
-
- Args:
- prefix: strings, prefix of the coverage report file.
- """
- self._coverage_report_file_prefix = prefix
-
- def SetCoverageReportDirectory(self, corverage_report_dir):
- """Sets the path for storing the coverage report file.
-
- Args:
- corverage_report_dir: strings, dir to store the coverage report file.
- """
- self._coverage_report_dir = corverage_report_dir
-
- def _ExecuteOneAdbShellCommand(self, dut, serial, cmd):
- """Helper method to execute a shell command and return results.
-
- Args:
- dut: the device under test.
- cmd: string, command to execute.
- Returns:
- stdout result of the command, None if command fails.
- """
- if dut is None:
- results = cmd_utils.ExecuteShellCommand("adb -s %s shell %s" %
- (serial, cmd))
- if (results[cmd_utils.EXIT_CODE][0]):
- logging.error("Fail to execute command: %s. error: %s" %
- (cmd, str(results[cmd_utils.STDERR][0])))
- return None
- else:
- return results[cmd_utils.STDOUT][0]
- else:
- try:
- return dut.adb.shell(cmd)
- except AdbError as e:
- logging.warn("Fail to execute command: %s. error: %s" %
- (cmd, str(e)))
- return None
-
-
-if __name__ == '__main__':
- """ Tools to process coverage data.
-
- Usage:
- python coverage_utils.py operation [--serial=device_serial_number]
- [--report_prefix=prefix_of_coverage_report]
-
- Example:
- python coverage_utils.py init_coverage
- python coverage_utils.py get_coverage --serial HT7821A00243
- python coverage_utils.py get_coverage --serial HT7821A00243 --report_prefix=test
- """
- logging.basicConfig(level=logging.INFO)
- parser = argparse.ArgumentParser(description="Coverage process tool.")
- parser.add_argument(
- "--report_prefix",
- dest="report_prefix",
- required=False,
- help="Prefix of the coverage report.")
- parser.add_argument(
- "--report_path",
- dest="report_path",
- required=False,
- help="directory to store the coverage reports.")
- parser.add_argument(
- "--serial", dest="serial", required=True, help="Device serial number.")
- parser.add_argument(
- "--gcov_rescource_path",
- dest="gcov_rescource_path",
- required=True,
- help="Directory that stores gcov resource files.")
- parser.add_argument(
- "operation",
- help=
- "Operation for processing coverage data, e.g. 'init_coverage', get_coverage'"
- )
- args = parser.parse_args()
-
- if args.operation != "init_coverage" and args.operation != "get_coverage":
- print "Unsupported operation. Exiting..."
- sys.exit(1)
- user_params = {
- keys.ConfigKeys.IKEY_ENABLE_COVERAGE:
- True,
- keys.ConfigKeys.IKEY_ANDROID_DEVICE: [{
- keys.ConfigKeys.IKEY_SERIAL:
- args.serial,
- keys.ConfigKeys.IKEY_GCOV_RESOURCES_PATH:
- args.gcov_rescource_path,
- }],
- keys.ConfigKeys.IKEY_OUTPUT_COVERAGE_REPORT:
- True,
- keys.ConfigKeys.IKEY_GLOBAL_COVERAGE:
- True
- }
- coverage = CoverageFeature(user_params)
- if args.operation == "init_coverage":
- coverage.InitializeDeviceCoverage(serial=args.serial)
- elif args.operation == "get_coverage":
- if args.report_prefix:
- coverage.SetCoverageReportFilePrefix(args.report_prefix)
- if args.report_path:
- coverage.SetCoverageReportDirectory(args.report_path)
- coverage.SetCoverageData(serial=args.serial, isGlobal=True)
diff --git a/utils/python/coverage/file_summary.py b/utils/python/coverage/file_summary.py
deleted file mode 100644
index 211188a..0000000
--- a/utils/python/coverage/file_summary.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-
-class FileSummary(object):
- """Summarizes structure and coverage information from GCC output.
-
- Represents the data in .gcno and .gcda files.
-
- Attributes:
- functions: Dictionary of FunctionSummary objects for each function described
- in a GCNO file (key: integer ident, value: FunctionSummary object)
- """
-
- def __init__(self):
- """Inits the object with an empty list in its functions attribute.
- """
- self.functions = {}
-
- def __str__(self):
- """Serializes the summary as a string.
-
- Returns:
- String representation of the functions, blocks, arcs, and lines.
- """
- output = 'Coverage Summary:\r\n'
- for ident in self.functions:
- output += str(self.functions[ident])
- return output
diff --git a/utils/python/coverage/function_summary.py b/utils/python/coverage/function_summary.py
deleted file mode 100644
index 3cf89ea..0000000
--- a/utils/python/coverage/function_summary.py
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-
-class FunctionSummary(object):
- """Summarizes a function and its blocks from .gcno file.
-
- Attributes:
- blocks: list of BlockSummary objects for each block in the function.
- ident: integer function identifier.
- name: function name.
- src_file_name: name of source file containing the function.
- first_line_number: integer line number at which the function begins in
- srcFile.
- """
-
- def __init__(self, ident, name, src_file_name, first_line_number):
- """Inits the function summary with provided values.
-
- Stores the identification string, name, source file name, and
- first line number in the object attributes. Initializes the block
- attribute to the empty list.
-
- Args:
- ident: integer function identifier.
- name: function name.
- src_file_name: name of source file containing the function.
- first_line_number: integer line number at which the function begins in
- the source file.
- """
- self.blocks = []
- self.ident = ident
- self.name = name
- self.src_file_name = src_file_name
- self.first_line_number = first_line_number
-
- def Resolve(self):
- """Resolves the block and arc counts.
-
- Using the edges that were resolved by the GCDA file,
- counts are resolved in the unresolved arcs. Then, block
- counts are resolved by summing the counts along arcs entering
- the block.
-
- Returns:
- True if the counts could be resolved and False otherwise.
- """
-
- unresolved_arcs = []
- for block in self.blocks:
- for arc in block.exit_arcs:
- if not arc.resolved:
- unresolved_arcs.append(arc)
-
- index = 0
- prev_length = len(unresolved_arcs) + 1
- # Resolve the arc counts
- while len(unresolved_arcs) > 0:
- index = index % len(unresolved_arcs)
- if index == 0 and len(unresolved_arcs) == prev_length:
- return False
- else:
- prev_length = len(unresolved_arcs)
- arc = unresolved_arcs[index]
- if arc.Resolve():
- unresolved_arcs.remove(arc)
- else:
- index = index + 1
-
- # Resolve the block counts
- for block in self.blocks:
- if len(block.entry_arcs):
- block.count = sum(arc.count for arc in block.entry_arcs)
- else:
- block.count = sum(arc.count for arc in block.exit_arcs)
-
- return True
-
- def __str__(self):
- """Serializes the function summary as a string.
-
- Returns:
- String representation of the functions and its blocks.
- """
- output = ('Function: %s : %s\r\n\tFirst Line Number:%i\r\n' %
- (self.src_file_name, self.name, self.first_line_number))
- for b in self.blocks:
- output += str(b)
- return output
diff --git a/utils/python/coverage/function_summary_test.py b/utils/python/coverage/function_summary_test.py
deleted file mode 100644
index 16ea4db..0000000
--- a/utils/python/coverage/function_summary_test.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 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.
-#
-
-import os
-import unittest
-
-from vts.utils.python.coverage import arc_summary
-from vts.utils.python.coverage import block_summary
-from vts.utils.python.coverage import function_summary
-
-
-class FunctionSummaryTest(unittest.TestCase):
- """Tests for FunctionSummary of vts.utils.python.coverage.
- """
-
- def setUp(self):
- """Creates a function summary and a chain of blocks.
-
- Creates an arc between adjacent blocks. All arcs are left with default
- values (unresolved, count of 0).
- """
- self.n = 10
- self.count = 5
- self.function_summary = function_summary.FunctionSummary(0, 'test',
- 'test.c', 0)
- self.function_summary.blocks = [block_summary.BlockSummary(i, 0)
- for i in range(self.n)]
- self.arcs = []
- for i in range(1, self.n):
- arc = arc_summary.ArcSummary(self.function_summary.blocks[i - 1],
- self.function_summary.blocks[i], 0)
- self.function_summary.blocks[i - 1].exit_arcs.append(arc)
- self.function_summary.blocks[i].entry_arcs.append(arc)
- self.arcs.append(arc)
-
- def testResolveChainStart(self):
- """Tests for correct resolution in a long chain.
-
- Test resolution for the case when there is a chain of unresolved arcs
- after a resolved arc.
- """
- self.arcs[0].resolved = True
- self.arcs[0].count = self.count
-
- self.function_summary.Resolve()
- for arc in self.arcs:
- self.assertTrue(arc.resolved)
- self.assertEqual(self.count, arc.count)
- self.assertEqual(self.count, arc.src_block.count)
- self.assertEqual(self.count, arc.dst_block.count)
-
- def testResolveChainEnd(self):
- """Tests for correct resolution in a long chain.
-
- Test resolution for the case when there is a chain of unresolved arcs
- before a resolved arc.
- """
- self.arcs[-1].resolved = True
- self.arcs[-1].count = self.count
-
- self.function_summary.Resolve()
- for arc in self.arcs:
- self.assertTrue(arc.resolved)
- self.assertEqual(self.count, arc.count)
- self.assertEqual(self.count, arc.src_block.count)
- self.assertEqual(self.count, arc.dst_block.count)
-
- def testResolveFailure(self):
- """Tests for failure when no progress can be made.
-
- Test that Resolve() returns False when there is not enough information
- to resolve any arcs.
- """
- self.assertFalse(self.function_summary.Resolve())
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/utils/python/coverage/gcda_parser.py b/utils/python/coverage/gcda_parser.py
deleted file mode 100644
index b2dbc3c..0000000
--- a/utils/python/coverage/gcda_parser.py
+++ /dev/null
@@ -1,192 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-"""Parses the contents of a GCDA file generated by the GCC compiler.
-
-The parse() function updates a summary object, which was created by
-the GCNO parser, and includes coverage information along arcs and at
-code blocks.
-
-
- Typical usage example:
-
- parse(file_name, file_summary)
-"""
-
-import struct
-import sys
-
-from vts.utils.python.coverage import parser
-from vts.utils.python.coverage import gcno_parser
-
-class GCDAParser(parser.GcovStreamParserUtil):
- """Parser object class stores stateful information for parsing GCDA files.
-
- Stores the file stream and a FileSummary object as it is updated.
-
- Attributes:
- checksum: The checksum (int) of the file
- file_summary: The FileSummary object describing the source file
- format: Character denoting the endianness of the file
- stream: File stream object for a GCDA file
- """
-
- MAGIC = 0x67636461
- TAG_FUNCTION = 0x01000000
- TAG_COUNTER = 0x01a10000
- TAG_OBJECT = 0xa1000000
- TAG_PROGRAM = 0xa3000000
-
- def __init__(self, stream):
- """Inits the parser with the input stream and default values.
-
- The byte order is set by default to little endian and the summary file
- must be provided from the output of the GCNOparser.
-
- Args:
- stream: An input binary file stream to a .gcno file
- """
- self._file_summary = None
- super(GCDAParser, self).__init__(stream, self.MAGIC)
-
- @property
- def file_summary(self):
- """Gets the FileSummary object where coverage data is stored.
-
- Returns:
- A FileSummary object.
- """
- return self._file_summary
-
- @file_summary.setter
- def file_summary(self, file_summary):
- """Sets the FileSummary object in which to store coverage data.
-
- Args:
- file_summary: A FileSummary object from a processed gcno file
- """
- self._file_summary = file_summary
-
- def Parse(self, file_summary):
- """Runs the parser on the file opened in the stream attribute.
-
- Reads coverage information from the GCDA file stream and resolves
- block and edge weights.
-
- Returns:
- FileSummary object representing the coverage for functions, blocks,
- arcs, and lines in the opened GCNO file.
-
- Raises:
- parser.FileFormatError: invalid file format or invalid counts.
- """
- self.file_summary = file_summary
- func = None
-
- while True:
- tag = str()
-
- try:
- while True:
- tag = self.ReadInt()
- if (tag == self.TAG_FUNCTION or tag == self.TAG_COUNTER or
- tag == self.TAG_OBJECT or tag == self.TAG_PROGRAM):
- break
- length = self.ReadInt()
- except parser.FileFormatError:
- return self.file_summary # end of file reached
-
- if tag == self.TAG_FUNCTION:
- func = self.ReadFunction(length)
- elif tag == self.TAG_COUNTER:
- self.ReadCounts(func)
- if not func.Resolve():
- raise parser.FileFormatError(
- "Corrupt file: Counts could not be resolved.")
- elif tag == self.TAG_OBJECT:
- pass
- elif tag == self.TAG_PROGRAM:
- self.ReadInt() # checksum
- for i in range(length - 1):
- self.ReadInt()
-
- def ReadFunction(self, length):
- """Reads a function header from the stream.
-
- Reads information about a function from the gcda file stream and
- returns the function.
-
- Args:
- func: the function for which coverage information will be read.
-
- Raises:
- parser.FileFormatError: Corrupt file.
- """
- ident = self.ReadInt()
- func = self.file_summary.functions[ident]
- checksum = self.ReadInt()
- words_read = 3
- if int(self.version[1]) > 4:
- self.ReadInt()
- words_read = 4
-
- if words_read < length:
- gcda_name = self.ReadString()
-
- return func
-
- def ReadCounts(self, func):
- """Reads arc counts from the stream.
-
- Reads counts from the gcda file stream for arcs that are not
- fake and are not in the tree. Updates their counts and marks them
- as having resolved counts.
-
- Args:
- func: FunctionSummary for which arc counts will be read.
- """
- for block in func.blocks:
- for arc in block.exit_arcs:
- if not arc.fake and not arc.on_tree:
- count = self.ReadInt64()
- arc.count = count
- arc.resolved = True
-
-
-def ParseGcdaFile(file_name, file_summary):
- """Parses the .gcno file specified by the input.
-
- Reads the .gcno file specified and parses the information describing
- basic blocks, functions, and arcs.
-
- Args:
- file_name: A string file path to a .gcno file
- file_summary: The summary from a parsed gcno file
-
- Returns:
- A summary object containing information about the coverage for each
- block in each function.
- """
-
- with open(file_name, 'rb') as stream:
- return GCDAParser(stream).Parse(file_summary)
-
-
-if __name__ == '__main__':
- if len(sys.argv) != 2:
- print('usage: gcda_parser.py [gcda file name] [gcno file name]')
- else:
- file_summary = gcno_parser.ParseGcnoFile(sys.argv[2])
- print(str(ParseGcdaFile(sys.argv[1], file_summary)))
diff --git a/utils/python/coverage/gcda_parser_test.py b/utils/python/coverage/gcda_parser_test.py
deleted file mode 100644
index df1b4b0..0000000
--- a/utils/python/coverage/gcda_parser_test.py
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 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.
-#
-import os
-import unittest
-
-from vts.utils.python.coverage import arc_summary
-from vts.utils.python.coverage import block_summary
-from vts.utils.python.coverage import file_summary
-from vts.utils.python.coverage import function_summary
-from vts.utils.python.coverage import gcda_parser
-from vts.utils.python.coverage import gcno_parser
-from vts.utils.python.coverage.parser_test import MockStream
-
-
-class GCDAParserTest(unittest.TestCase):
- """Tests for GCDA parser of vts.utils.python.coverage.
- """
-
- GOLDEN_GCNO_PATH = 'testdata/sample.gcno'
- GOLDEN_GCDA_PATH = 'testdata/sample.gcda'
-
- def setUp(self):
- """Creates a stream for each test.
- """
- self.stream = MockStream(gcda_parser.GCDAParser.MAGIC)
-
- def testReadFunction(self):
- """Verifies that the correct function is read and returned.
- """
- ident = 100
- checksum = 0
- fs = file_summary.FileSummary()
- func = function_summary.FunctionSummary(ident, 'test', 'test.c', 0)
- fs.functions[ident] = func
- self.stream = MockStream.concat_int(self.stream, ident)
- self.stream = MockStream.concat_int(self.stream, 0)
- self.stream = MockStream.concat_int(self.stream, 0)
- self.stream = MockStream.concat_string(self.stream, 'test')
- length = 5
- parser = gcda_parser.GCDAParser(self.stream)
- parser.file_summary = fs
- func = parser.ReadFunction(5)
- assert (func.ident == ident)
-
- def testReadCountsNormal(self):
- """Verifies that counts are read correctly.
-
- Verifies that arcs are marked as resolved and count is correct.
- """
- n = 5
- fs = file_summary.FileSummary()
- func = function_summary.FunctionSummary(0, 'test', 'test.c', 0)
- blocks = [block_summary.BlockSummary(i, 0) for i in range(n)]
- func.blocks = blocks
- fs.functions[func.ident] = func
- for i in range(1, n):
- arc = arc_summary.ArcSummary(blocks[0], blocks[i], 0)
- blocks[0].exit_arcs.append(arc)
- blocks[i].entry_arcs.append(arc)
- self.stream = MockStream.concat_int64(self.stream, i)
- parser = gcda_parser.GCDAParser(self.stream)
- parser.file_summary = fs
- parser.ReadCounts(func)
- for i, arc in zip(range(1, n), blocks[0].exit_arcs):
- self.assertEqual(i, arc.count)
- self.assertTrue(arc.resolved)
-
- def testReadCountsFakeOrOnTree(self):
- """Verifies that counts are read correctly when there are skipped arcs.
-
- Verifies that the fake arc and the arc on the tree are skipped while other
- arcs are read and resolved correctly.
- """
- n = 10
- fs = file_summary.FileSummary()
- func = function_summary.FunctionSummary(0, 'test', 'test.c', 0)
- blocks = [block_summary.BlockSummary(i, 0) for i in range(n)]
- func.blocks = blocks
- fs.functions[func.ident] = func
-
- arc = arc_summary.ArcSummary(blocks[0], blocks[1],
- arc_summary.ArcSummary.GCOV_ARC_FAKE)
- blocks[0].exit_arcs.append(arc)
- blocks[1].entry_arcs.append(arc)
-
- arc = arc_summary.ArcSummary(blocks[0], blocks[2],
- arc_summary.ArcSummary.GCOV_ARC_ON_TREE)
- blocks[0].exit_arcs.append(arc)
- blocks[2].entry_arcs.append(arc)
-
- for i in range(3, n):
- arc = arc_summary.ArcSummary(blocks[0], blocks[i], 0)
- blocks[0].exit_arcs.append(arc)
- blocks[i].entry_arcs.append(arc)
- self.stream = MockStream.concat_int64(self.stream, i)
-
- parser = gcda_parser.GCDAParser(self.stream)
- parser.file_summary = fs
- parser.ReadCounts(func)
- self.assertFalse(blocks[0].exit_arcs[0].resolved)
- self.assertFalse(blocks[0].exit_arcs[1].resolved)
- for i, arc in zip(range(3, n), blocks[0].exit_arcs[2:]):
- self.assertEqual(i, arc.count)
- self.assertTrue(arc.resolved)
-
- def testSampleFile(self):
- """Asserts correct parsing of sample GCDA file.
-
- Verifies the block coverage counts for each function.
- """
- dir_path = os.path.dirname(os.path.realpath(__file__))
- gcno_path = os.path.join(dir_path, self.GOLDEN_GCNO_PATH)
- gcda_path = os.path.join(dir_path, self.GOLDEN_GCDA_PATH)
- summary = gcno_parser.ParseGcnoFile(gcno_path)
- gcda_parser.ParseGcdaFile(gcda_path, summary)
- # Function: main
- expected_list = [2, 0, 2, 2, 2, 0, 2, 2, 500, 502, 2, 2]
- for index, expected in zip(range(len(expected_list)), expected_list):
- self.assertEqual(summary.functions[3].blocks[index].count,
- expected)
-
- # Function: testFunctionName
- expected_list = [2, 2, 2, 2, 2]
- for index, expected in zip(range(len(expected_list)), expected_list):
- self.assertEqual(summary.functions[4].blocks[index].count,
- expected)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/utils/python/coverage/gcno_parser.py b/utils/python/coverage/gcno_parser.py
deleted file mode 100644
index 62bafd9..0000000
--- a/utils/python/coverage/gcno_parser.py
+++ /dev/null
@@ -1,242 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-"""Parses the contents of a GCNO file generated by the GCC compiler.
-
-The parse() function returns a FileSummary object, which
-contains descriptions of all functions in the parsed .gcno file. Each
-FunctionSummary object describes the code blocks within each function,
-the line numbers associated within each block, and the arcs exiting/entering
-each block.
-
-
- Typical usage example:
-
- summary = parse(file_name)
-"""
-
-import math
-import struct
-import sys
-
-from vts.utils.python.coverage import arc_summary
-from vts.utils.python.coverage import block_summary
-from vts.utils.python.coverage import file_summary
-from vts.utils.python.coverage import function_summary
-from vts.utils.python.coverage import parser
-
-
-class GCNOParser(parser.GcovStreamParserUtil):
- """Parser object class stores stateful information for parsing GCNO file.
-
- Stores the file stream and summary object as it is updated.
-
- Attributes:
- checksum: The checksum (int) of the file
- file_summary: The FileSummary object describing the GCNO file
- format: Character denoting the endianness of the file
- parsed: True if the content has been parsed, False otherwise
- stream: File stream object for a GCNO file
- version: The (integer) version of the GCNO file
- """
-
- MAGIC = 0x67636e6f
- TAG_FUNCTION = 0x01000000
- TAG_BLOCKS = 0x01410000
- TAG_ARCS = 0x01430000
- TAG_LINES = 0x01450000
- BYTES_IN_WORD = 4
- HEADER_LENGTH = 3 # number of words in a section header
-
- def __init__(self, stream):
- """Inits the parser with the input stream and default values.
-
- The byte order is set by default to little endian and the summary file
- is instantiated with an empty FileSummary object.
-
- Args:
- stream: An input binary file stream to a .gcno file
- """
- super(GCNOParser, self).__init__(stream, self.MAGIC)
- self.file_summary = file_summary.FileSummary()
- self.parsed = False
-
- def Parse(self):
- """Runs the parser on the file opened in the stream attribute.
-
- Reads the binary file and extracts functions, blocks, arcs, and
- lines. Information is stored the summary attribute.
-
- Returns:
- FileSummary object representing the functions, blocks, arcs,
- and lines in the opened GCNO file.
-
- Raises:
- parser.FileFormatError: invalid file format.
- """
- if self.parsed:
- return self.file_summary
-
- func = None
-
- while True:
- tag = str()
-
- try:
- while True:
- tag = self.ReadInt()
- if (tag == self.TAG_FUNCTION or tag == self.TAG_BLOCKS or
- tag == self.TAG_ARCS or tag == self.TAG_LINES):
- break
- length = self.ReadInt()
- except parser.FileFormatError:
- if not func:
- raise parser.FileFormatError("Invalid file.")
- self.file_summary.functions[func.ident] = func
- self.parsed = True
- return self.file_summary # end of file reached
-
- if tag == self.TAG_FUNCTION:
- if func:
- self.file_summary.functions[func.ident] = func
- func = self.ReadFunction()
-
- elif tag == self.TAG_BLOCKS:
- self.ReadBlocks(length, func)
-
- elif tag == self.TAG_ARCS:
- self.ReadArcs(length, func)
-
- elif tag == self.TAG_LINES:
- self.ReadLines(length, func)
-
- def ReadFunction(self):
- """Reads and returns a function from the stream.
-
- Reads information about a function from the gcno file stream and
- returns a summary object.
-
- Returns:
- FunctionSummary object containing the function name, source file,
- and first line number.
-
- Raises:
- parser.FileFormatError: Function could not be read.
- """
- ident = self.ReadInt()
- self.ReadInt() # line number checksum
- if int(self.version[1]) > 4:
- self.ReadInt() # configuration checksum
- name = self.ReadString()
- source_file_name = self.ReadString()
- first_line_number = self.ReadInt()
- return function_summary.FunctionSummary(ident, name, source_file_name,
- first_line_number)
-
- def ReadBlocks(self, length, func):
- """Reads the basic block information from the stream.
-
- Reads information about the basic blocks from the gcno file
- stream and updates the specified function.
-
- Args:
- length: number of blocks to read
- func: FunctionSummary object for the blocks' parent function
-
- Raises:
- parser.FileFormatError: Blocks could not be read. Corrupt file.
- """
-
- blocks = []
- for _ in range(length):
- block_flag = self.ReadInt()
- block = block_summary.BlockSummary(len(blocks), block_flag)
- blocks.append(block)
- func.blocks.extend(blocks)
-
- def ReadArcs(self, length, func):
- """Reads the arcs from the stream.
-
- Parses the arcs from the gcno file and updates the input
- function summary with arc information.
-
- Args:
- length: represents the number of bytes to read
- func: FunctionSummary object for the arcs' parent fuction
-
- Raises:
- parser.FileFormatError: Arcs could not be read. Corrupt file.
- """
-
- src_block_index = self.ReadInt()
- src_block = func.blocks[src_block_index]
- n_arcs = (length - 1) / 2
- arcs = []
- for _ in range(n_arcs):
- dst_block_index = self.ReadInt()
- dst_block = func.blocks[dst_block_index]
- flag = self.ReadInt()
- arc = arc_summary.ArcSummary(src_block, dst_block, flag)
- src_block.exit_arcs.append(arc)
- dst_block.entry_arcs.append(arc)
-
- def ReadLines(self, length, func):
- """Reads the line information from the stream.
-
- Parses the lines from the gcno file and updates the input
- function summary with line information.
-
- Args:
- length: represents the number of bytes to read
- func: FunctionSummary object for the lines' parent fuction
-
- Raises:
- parser.FileFormatError: Lines could not be read. Corrupt file.
- """
-
- block_number = self.ReadInt()
- self.ReadInt()
- lines = []
- src = self.ReadString() # source file name
- src_length = int(math.ceil(len(src) * 1.0 / self.BYTES_IN_WORD)) + 1
- for i in range(length - src_length - self.HEADER_LENGTH):
- line = self.ReadInt()
- if line:
- lines.append(line)
- func.blocks[block_number].lines = lines
-
-
-def ParseGcnoFile(file_name):
- """Parses the .gcno file specified by the input.
-
- Reads the .gcno file specified and parses the information describing
- basic blocks, functions, and arcs.
-
- Args:
- file_name: A string file path to a .gcno file
-
- Returns:
- A FileSummary object containing information about all of the
- fuctions, blocks, and arcs in the .gcno file.
- """
-
- with open(file_name, 'rb') as stream:
- return GCNOParser(stream).Parse()
-
-if __name__ == '__main__':
- if len(sys.argv) < 3 or sys.argv[1] != '-f':
- print('usage: gcno_parser.py -f [file name]')
- else:
- print(str(ParseGcnoFile(sys.argv[2])))
diff --git a/utils/python/coverage/gcno_parser_test.py b/utils/python/coverage/gcno_parser_test.py
deleted file mode 100644
index 9918817..0000000
--- a/utils/python/coverage/gcno_parser_test.py
+++ /dev/null
@@ -1,219 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 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.
-#
-
-import math
-import os
-import struct
-import unittest
-
-from vts.utils.python.coverage import arc_summary
-from vts.utils.python.coverage import block_summary
-from vts.utils.python.coverage import function_summary
-from vts.utils.python.coverage import gcno_parser
-from vts.utils.python.coverage.parser_test import MockStream
-
-
-class GCNOParserTest(unittest.TestCase):
- """Tests for GCNO parser of vts.utils.python.coverage.
-
- Ensures error handling, byte order detection, and correct
- parsing of functions, blocks, arcs, and lines.
- """
-
- GOLDEN_GCNO_PATH = 'testdata/sample.gcno'
-
- def setUp(self):
- """Creates a stream for each test.
- """
- self.stream = MockStream()
-
- def testReadFunction(self):
- """Asserts that the function is read correctly.
-
- Verifies that ident, name, source file name,
- and first line number are all read correctly.
- """
- ident = 102010
- self.stream = MockStream.concat_int(self.stream, ident)
- self.stream = MockStream.concat_int(self.stream, 0)
- self.stream = MockStream.concat_int(self.stream, 0)
- name = "TestFunction"
- src_file_name = "TestSouceFile.c"
- first_line_number = 102
- self.stream = MockStream.concat_string(self.stream, name)
- self.stream = MockStream.concat_string(self.stream, src_file_name)
- self.stream = MockStream.concat_int(self.stream, first_line_number)
- parser = gcno_parser.GCNOParser(self.stream)
- summary = parser.ReadFunction()
- self.assertEqual(name, summary.name)
- self.assertEqual(ident, summary.ident)
- self.assertEqual(src_file_name, summary.src_file_name)
- self.assertEqual(first_line_number, summary.first_line_number)
-
- def testReadBlocks(self):
- """Asserts that blocks are correctly read from the stream.
-
- Tests correct values for flag and index.
- """
- n_blocks = 10
- func = function_summary.FunctionSummary(0, "func", "src.c", 1)
- for i in range(n_blocks):
- self.stream = MockStream.concat_int(self.stream, 3 * i)
- parser = gcno_parser.GCNOParser(self.stream)
- parser.ReadBlocks(n_blocks, func)
- self.assertEqual(len(func.blocks), n_blocks)
- for i in range(n_blocks):
- self.assertEqual(func.blocks[i].flag, 3 * i)
- self.assertEqual(func.blocks[i].index, i)
-
- def testReadArcsNormal(self):
- """Asserts that arcs are correctly read from the stream.
-
- Does not test the use of flags. Validates that arcs are
- created in both blocks and the source/destination are
- correct for each.
- """
- n_blocks = 50
- func = function_summary.FunctionSummary(0, "func", "src.c", 1)
- func.blocks = [block_summary.BlockSummary(i, 3 * i)
- for i in range(n_blocks)]
- src_block_index = 0
- skip = 2
- self.stream = MockStream.concat_int(self.stream, src_block_index)
- for i in range(src_block_index + 1, n_blocks, skip):
- self.stream = MockStream.concat_int(self.stream, i)
- self.stream = MockStream.concat_int(
- self.stream, 0) # no flag applied to the arc
- parser = gcno_parser.GCNOParser(self.stream)
- n_arcs = len(range(src_block_index + 1, n_blocks, skip))
- parser.ReadArcs(n_arcs * 2 + 1, func)
- j = 0
- for i in range(src_block_index + 1, n_blocks, skip):
- self.assertEqual(
- func.blocks[src_block_index].exit_arcs[j].src_block.index,
- src_block_index)
- self.assertEqual(
- func.blocks[src_block_index].exit_arcs[j].dst_block.index, i)
- self.assertEqual(func.blocks[i].entry_arcs[0].src_block.index,
- src_block_index)
- self.assertEqual(func.blocks[i].entry_arcs[0].dst_block.index, i)
- j += 1
-
- def testReadArcFlags(self):
- """Asserts that arc flags are correctly interpreted.
- """
- n_blocks = 5
- func = function_summary.FunctionSummary(0, "func", "src.c", 1)
- func.blocks = [block_summary.BlockSummary(i, 3 * i)
- for i in range(n_blocks)]
- self.stream = MockStream.concat_int(self.stream,
- 0) # source block index
-
- self.stream = MockStream.concat_int(self.stream, 1) # normal arc
- self.stream = MockStream.concat_int(self.stream, 0)
-
- self.stream = MockStream.concat_int(self.stream, 2) # on-tree arc
- self.stream = MockStream.concat_int(
- self.stream, arc_summary.ArcSummary.GCOV_ARC_ON_TREE)
-
- self.stream = MockStream.concat_int(self.stream, 3) # fake arc
- self.stream = MockStream.concat_int(
- self.stream, arc_summary.ArcSummary.GCOV_ARC_FAKE)
-
- self.stream = MockStream.concat_int(self.stream, 4) # fallthrough arc
- self.stream = MockStream.concat_int(
- self.stream, arc_summary.ArcSummary.GCOV_ARC_FALLTHROUGH)
-
- parser = gcno_parser.GCNOParser(self.stream)
- parser.ReadArcs(4 * 2 + 1, func)
-
- self.assertFalse(func.blocks[0].exit_arcs[0].on_tree)
- self.assertFalse(func.blocks[0].exit_arcs[0].fake)
- self.assertFalse(func.blocks[0].exit_arcs[0].fallthrough)
-
- self.assertTrue(func.blocks[0].exit_arcs[1].on_tree)
- self.assertFalse(func.blocks[0].exit_arcs[1].fake)
- self.assertFalse(func.blocks[0].exit_arcs[1].fallthrough)
-
- self.assertFalse(func.blocks[0].exit_arcs[2].on_tree)
- self.assertTrue(func.blocks[0].exit_arcs[2].fake)
- self.assertFalse(func.blocks[0].exit_arcs[2].fallthrough)
-
- self.assertFalse(func.blocks[0].exit_arcs[3].on_tree)
- self.assertFalse(func.blocks[0].exit_arcs[3].fake)
- self.assertTrue(func.blocks[0].exit_arcs[3].fallthrough)
-
- def testReadLines(self):
- """Asserts that lines are read correctly.
-
- Blocks must have correct references to the lines contained
- in the block.
- """
- self.stream = MockStream.concat_int(self.stream, 2) # block number
- self.stream = MockStream.concat_int(self.stream, 0) # dummy
- name = "src.c"
- name_length = int(
- math.ceil(1.0 * len(name) / MockStream.BYTES_PER_WORD)) + 1
- self.stream = MockStream.concat_string(self.stream, name)
- n_arcs = 5
- for i in range(1, n_arcs + 1):
- self.stream = MockStream.concat_int(self.stream, i)
-
- n_blocks = 5
- func = function_summary.FunctionSummary(0, "func", name, 1)
- func.blocks = [block_summary.BlockSummary(i, 3 * i)
- for i in range(n_blocks)]
- parser = gcno_parser.GCNOParser(self.stream)
- parser.ReadLines(n_arcs + name_length + 3, func)
- self.assertEqual(len(func.blocks[2].lines), 5)
- self.assertEqual(func.blocks[2].lines, range(1, 6))
-
- def testSampleFile(self):
- """Asserts correct parsing of sample GCNO file.
-
- Verifies the blocks and lines for each function in
- the file.
- """
- dir_path = os.path.dirname(os.path.realpath(__file__))
- file_path = os.path.join(dir_path, self.GOLDEN_GCNO_PATH)
- summary = gcno_parser.ParseGcnoFile(file_path)
- self.assertEqual(len(summary.functions), 2)
-
- # Check function: testFunctionName
- func = summary.functions[4]
- self.assertEqual(func.name, 'testFunctionName')
- self.assertEqual(func.src_file_name, 'sample.c')
- self.assertEqual(func.first_line_number, 35)
- self.assertEqual(len(func.blocks), 5)
- expected_list = [[], [], [35, 40, 41], [42], []]
- for index, expected in zip(range(5), expected_list):
- self.assertEqual(func.blocks[index].lines, expected)
-
- # Check function: main
- func = summary.functions[3]
- self.assertEqual(func.name, 'main')
- self.assertEqual(func.first_line_number, 5)
- self.assertEqual(len(func.blocks), 12)
- self.assertEqual(func.blocks[0].lines, [])
- expected_list = [[], [], [5, 11, 12, 13], [15], [17], [18], [20],
- [23, 24, 25], [26, 25], [], [29], [31]]
- for index, expected in zip(range(12), expected_list):
- self.assertEqual(func.blocks[index].lines, expected)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/utils/python/coverage/parser.py b/utils/python/coverage/parser.py
deleted file mode 100644
index fbee873..0000000
--- a/utils/python/coverage/parser.py
+++ /dev/null
@@ -1,116 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-"""Generic parser class for reading GCNO and GCDA files.
-
-Implements read functions for strings, 32-bit integers, and
-64-bit integers.
-"""
-
-import struct
-
-
-class FileFormatError(Exception):
- """Exception for invalid file format.
-
- Thrown when an unexpected value type is read from the file stream
- or when the end of file is reached unexpectedly."""
-
- pass
-
-
-class GcovStreamParserUtil(object):
- """Parser object for storing the stream and format information.
-
- Attributes:
- stream: File stream object for a GCNO file
- format: Character denoting the endianness of the file
- checksum: The checksum (int) of the file
- """
-
- def __init__(self, stream, magic):
- """Inits the parser with the input stream.
-
- The byte order is set by default to little endian and the summary file
- is instantiated with an empty GCNOSummary object.
-
- Args:
- stream: An input binary file stream to a .gcno file
- gcno_summary: The summary from a parsed gcno file
- """
- self.stream = stream
- self.format = '<'
-
- tag = self.ReadInt()
- self.version = ''.join(
- struct.unpack(self.format + 'ssss', self.stream.read(4)))
- self.checksum = self.ReadInt()
-
- if tag != magic:
- tag = struct.unpack('>I', struct.pack('<I', tag))[0]
- if tag == magic: # switch endianness
- self.format = '>'
- else:
- raise FileFormatError('Invalid file format.')
-
- def ReadInt(self):
- """Reads and returns an integer from the stream.
-
- Returns:
- A 4-byte integer from the stream attribute.
-
- Raises:
- FileFormatError: Corrupt file.
- """
- try:
- return struct.unpack(self.format + 'I', self.stream.read(4))[0]
- except (TypeError, ValueError, struct.error) as error:
- raise FileFormatError('Corrupt file.')
-
- def ReadInt64(self):
- """Reads and returns a 64-bit integer from the stream.
-
- Returns:
- An 8-byte integer from the stream attribute.
-
- Raises:
- FileFormatError: Corrupt file.
- """
- lo = self.ReadInt()
- hi = self.ReadInt()
- return (hi << 32) | lo
-
- def ReadString(self):
- """Reads and returns a string from the stream.
-
- First reads an integer denoting the number of words to read,
- then reads and returns the string with trailing padding characters
- stripped.
-
- Returns:
- A string from the stream attribute.
-
- Raises:
- FileFormatError: End of file reached.
- """
- length = self.ReadInt() << 2
- if length > 0:
- try:
- return ''.join(
- struct.unpack(self.format + 's' * length, self.stream.read(
- length))).rstrip('\x00')
- except (TypeError, ValueError, struct.error):
- raise FileFormatError('Corrupt file.')
- return str()
diff --git a/utils/python/coverage/parser_test.py b/utils/python/coverage/parser_test.py
deleted file mode 100644
index 0916f9a..0000000
--- a/utils/python/coverage/parser_test.py
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 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.
-#
-
-import math
-import os
-import struct
-import unittest
-
-from vts.utils.python.coverage import parser
-
-MAGIC = 0x67636e6f
-
-
-class MockStream(object):
- """MockStream object allows for mocking file reading behavior.
-
- Allows for adding integers and strings to the file stream in a
- specified byte format and then reads them as if from a file.
-
- Attributes:
- content: the byte list representing a file stream
- cursor: the index into the content such that everything before it
- has been read already.
- """
- BYTES_PER_WORD = 4
-
- def __init__(self, magic=MAGIC, format='<'):
- self.format = format
- self.magic = magic
- version = struct.unpack(format + 'I', '*802')[0]
- self.content = struct.pack(format + 'III', magic, version, 0)
- self.cursor = 0
-
- @classmethod
- def concat_int(cls, stream, integer):
- """Returns the stream with a binary formatted integer concatenated.
-
- Args:
- stream: the stream to which the integer will be concatenated.
- integer: the integer to be concatenated to the content stream.
- format: the string format decorator to apply to the integer.
-
- Returns:
- The content with the binary-formatted integer concatenated.
- """
- new_content = stream.content + struct.pack(stream.format + 'I',
- integer)
- s = MockStream(stream.magic, stream.format)
- s.content = new_content
- s.cursor = stream.cursor
- return s
-
- @classmethod
- def concat_int64(cls, stream, integer):
- """Returns the stream with a binary formatted int64 concatenated.
-
- Args:
- stream: the stream to which the integer will be concatenated.
- integer: the 8-byte int to be concatenated to the content stream.
- format: the string format decorator to apply to the long.
-
- Returns:
- The content with the binary-formatted int64 concatenated.
- """
- lo = ((1 << 32) - 1) & integer
- hi = (integer - lo) >> 32
- new_content = stream.content + struct.pack(stream.format + 'II', lo,
- hi)
- s = MockStream(stream.magic, stream.format)
- s.content = new_content
- s.cursor = stream.cursor
- return s
-
- @classmethod
- def concat_string(cls, stream, string):
- """Returns the stream with a binary formatted string concatenated.
-
- Preceeds the string with an integer representing the number of
- words in the string. Pads the string so that it is word-aligned.
-
- Args:
- stream: the stream to which the string will be concatenated.
- string: the string to be concatenated to the content stream.
- format: the string format decorator to apply to the integer.
-
- Returns:
- The content with the formatted binary string concatenated.
- """
- byte_count = len(string)
- word_count = int(
- math.ceil(byte_count * 1.0 / MockStream.BYTES_PER_WORD))
- padding = '\x00' * (
- MockStream.BYTES_PER_WORD * word_count - byte_count)
- new_content = stream.content + struct.pack(
- stream.format + 'I', word_count) + bytes(string + padding)
- s = MockStream(stream.magic, stream.format)
- s.content = new_content
- s.cursor = stream.cursor
- return s
-
- def read(self, n_bytes):
- """Reads the specified number of bytes from the content stream.
-
- Args:
- n_bytes: integer number of bytes to read.
-
- Returns:
- The string of length n_bytes beginning at the cursor location
- in the content stream.
- """
- content = self.content[self.cursor:self.cursor + n_bytes]
- self.cursor += n_bytes
- return content
-
-
-class ParserTest(unittest.TestCase):
- """Tests for stream parser of vts.utils.python.coverage.
-
- Ensures error handling, byte order detection, and correct
- parsing of integers and strings.
- """
-
- def setUp(self):
- """Creates a stream for each test.
- """
- self.stream = MockStream()
-
- def testLittleEndiannessInitialization(self):
- """Tests parser init with little-endian byte order.
-
- Verifies that the byte-order is correctly detected.
- """
- p = parser.GcovStreamParserUtil(self.stream, MAGIC)
- self.assertEqual(p.format, '<')
-
- def testBigEndiannessInitialization(self):
- """Tests parser init with big-endian byte order.
-
- Verifies that the byte-order is correctly detected.
- """
- self.stream = MockStream(format='>')
- p = parser.GcovStreamParserUtil(self.stream, MAGIC)
- self.assertEqual(p.format, '>')
-
- def testReadIntNormal(self):
- """Asserts that integers are correctly read from the stream.
-
- Tests the normal case--when the value is actually an integer.
- """
- integer = 2016
- self.stream = MockStream.concat_int(self.stream, integer)
- p = parser.GcovStreamParserUtil(self.stream, MAGIC)
- self.assertEqual(p.ReadInt(), integer)
-
- def testReadIntEof(self):
- """Asserts that an error is thrown when the EOF is reached.
- """
- p = parser.GcovStreamParserUtil(self.stream, MAGIC)
- self.assertRaises(parser.FileFormatError, p.ReadInt)
-
- def testReadInt64(self):
- """Asserts that longs are read correctly.
- """
- number = 68719476836
- self.stream = MockStream.concat_int64(self.stream, number)
- p = parser.GcovStreamParserUtil(self.stream, MAGIC)
- self.assertEqual(number, p.ReadInt64())
-
- self.stream = MockStream(format='>')
- self.stream = MockStream.concat_int64(self.stream, number)
- p = parser.GcovStreamParserUtil(self.stream, MAGIC)
- self.assertEqual(number, p.ReadInt64())
-
- def testReadStringNormal(self):
- """Asserts that strings are correctly read from the stream.
-
- Tests the normal case--when the string is correctly formatted.
- """
- test_string = "This is a test."
- self.stream = MockStream.concat_string(self.stream, test_string)
- p = parser.GcovStreamParserUtil(self.stream, MAGIC)
- self.assertEqual(p.ReadString(), test_string)
-
- def testReadStringError(self):
- """Asserts that invalid string format raises error.
-
- Tests when the string length is too short and EOF is reached.
- """
- test_string = "This is a test."
- byte_count = len(test_string)
- word_count = int(round(byte_count / 4.0))
- padding = '\x00' * (4 * word_count - byte_count)
- test_string_padded = test_string + padding
- content = struct.pack('<I', word_count + 1) # will cause EOF error
- content += bytes(test_string_padded)
- self.stream.content += content
- p = parser.GcovStreamParserUtil(self.stream, MAGIC)
- self.assertRaises(parser.FileFormatError, p.ReadString)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/utils/python/coverage/sancov_parser.py b/utils/python/coverage/sancov_parser.py
deleted file mode 100644
index b74f943..0000000
--- a/utils/python/coverage/sancov_parser.py
+++ /dev/null
@@ -1,105 +0,0 @@
-#
-# Copyright (C) 2017 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.
-#
-"""Parses the contents of a sancov file generated by LLVM Sanitizer Coverage.
-
-
- Typical usage example:
-
- ParseSancovFile(file_name)
-"""
-
-import struct
-import parser
-
-
-MAGIC32 = 0xC0BFFFFFFFFFFF32
-MAGIC64 = 0xC0BFFFFFFFFFFF64
-
-
-class SancovParser(object):
- """Sancov parser object to represent *.sancov files.
-
- Attributes:
- _sancov_file: the stream-like file handle to a sancov file
- _bitness: the bitness of the offsets (32/64)
- _entry_type: the type of each offset (32bit->Integer, 64bit->Long)
- """
-
- def __init__(self, sancov_file):
- """Inits the parser with the input stream and default values.
-
- Args:
- sancov_file: An input binary file stream to a .sancov file
- """
- self._sancov_file = sancov_file
- self._bitness = -1
- self._entry_type = None
- self._size = 0
-
- def Parse(self):
- """Runs the parser to generate the unpacked binary offsets in the file.
-
- Returns:
- A tuple of offsets into the original binary.
-
- Raises:
- parser.FileFormatError: invalid file format or invalid counts.
- """
- self.GetBitness()
- return struct.unpack_from(
- self._entry_type * (self._size * 8 / self._bitness),
- self._sancov_file.read(self._size))
-
- def GetBitness(self):
- """Parses the magic header to determine the bitness.
-
- Returns:
- The sancov file bitness.
-
- Raises:
- parser.FileFormatError: invalid file format or invalid counts.
- """
- if self._bitness > 0:
- return self._bitness
- self._sancov_file.seek(0, 2)
- self._size = self._sancov_file.tell() - 8
- self._sancov_file.seek(0, 0)
- if self._size < 0:
- raise parser.FileFormatError('Empty file.')
- magic = struct.unpack('L', self._sancov_file.read(8))[0];
- if magic == MAGIC64:
- self._entry_type = 'L'
- self._bitness = 64
- elif magic == MAGIC32:
- self._entry_type = 'I'
- self._bitness = 32
- else:
- raise parser.FileFormatError('Invalid magic.')
- return self._bitness
-
-def ParseSancovFile(file_name):
- """Parses the .sancov file specified by the input.
-
- Args:
- file_name: A string file path to a .sancov file
-
- Returns:
- A tuple of bitness, and the unpacked offsets into the original binary.
- """
- with open(file_name, 'rb') as stream:
- p = SancovParser(stream)
- offsets = p.Parse()
- return (p._bitness, offsets)
diff --git a/utils/python/coverage/sancov_parser_test.py b/utils/python/coverage/sancov_parser_test.py
deleted file mode 100644
index 852f2f2..0000000
--- a/utils/python/coverage/sancov_parser_test.py
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2017 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.
-#
-
-import io
-import struct
-import unittest
-import sys
-import os
-
-import parser
-import sancov_parser
-
-
-class SancovParserTest(unittest.TestCase):
- """Tests for sancov_parser in package vts.utils.python.coverage.
-
- Ensures error handling, bitness detection, and correct
- parsing of offsets in the file..
- """
-
- GOLDEN_SANCOV_PATH = os.path.join(sys.path[0], 'testdata/sample.sancov')
- GOLDEN_EXPECTED_BITNESS = 64
- GOLDEN_EXPECTED_OFFSETS = (
- 12115, 12219, 12463, 12527, 17123, 17311, 17507, 17771, 17975, 17987, 18107, 18167,
- 18299, 18503, 18571, 18743, 18755, 18791, 18903, 19127, 19715, 21027, 21123, 21223,
- 21335, 21407, 21455, 21611, 21643, 21683, 23227, 23303, 23343, 23503, 23767, 23779,
- 23791, 23819, 23867, 24615, 24651, 24743, 24775)
-
- def testInvalidMagic(self):
- """Asserts that an exception is raised when the magic is invalid.
- """
- stream = io.BytesIO(struct.pack('L', 0xC0BFFFFFFFFFFF10))
- p = sancov_parser.SancovParser(stream)
- with self.assertRaises(parser.FileFormatError) as context:
- p.Parse()
- self.assertTrue('Invalid magic' in str(context.exception))
-
- def testMagic32(self):
- """Asserts that values are correctly read in 32-bit sancov files.
- """
- stream = io.BytesIO(struct.pack('L', sancov_parser.MAGIC32))
- stream.seek(8)
- values = (1, 2, 3)
- stream.write(struct.pack('III', *values))
- stream.seek(0)
- p = sancov_parser.SancovParser(stream)
- s = p.Parse()
- self.assertEqual(32, p._bitness)
- self.assertEqual(values, s)
-
- def testMagic64(self):
- """Asserts that values are correctly read in 64-bit sancov files.
- """
- stream = io.BytesIO(struct.pack('L', sancov_parser.MAGIC64))
- stream.seek(8)
- values = (4, 5, 6)
- stream.write(struct.pack('LLL', *values))
- stream.seek(0)
- p = sancov_parser.SancovParser(stream)
- s = p.Parse()
- self.assertEqual(64, p._bitness)
- self.assertEqual(values, s)
-
- def testGetBitness32(self):
- """Asserts that bitness is correctly determined from a 32-bit sancov file.
- """
- stream = io.BytesIO(struct.pack('L', sancov_parser.MAGIC32))
- p = sancov_parser.SancovParser(stream)
- self.assertEqual(32, p.GetBitness())
-
- def testGetBitness64(self):
- """Asserts that bitness is correctly determined from a 64-bit sancov file.
- """
- stream = io.BytesIO(struct.pack('L', sancov_parser.MAGIC64))
- p = sancov_parser.SancovParser(stream)
- self.assertEqual(64, p.GetBitness())
-
- def testGolden(self):
- """Asserts that offsets are correctly parsed from the golden file.
- """
- bitness, offsets = sancov_parser.ParseSancovFile(self.GOLDEN_SANCOV_PATH)
- self.assertEqual(self.GOLDEN_EXPECTED_BITNESS, bitness)
- self.assertEqual(self.GOLDEN_EXPECTED_OFFSETS, offsets)
-
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/utils/python/coverage/sancov_utils.py b/utils/python/coverage/sancov_utils.py
deleted file mode 100644
index 17b0954..0000000
--- a/utils/python/coverage/sancov_utils.py
+++ /dev/null
@@ -1,346 +0,0 @@
-#
-# Copyright (C) 2017 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.
-import json
-import logging
-import os
-import shutil
-import subprocess
-import tempfile
-import zipfile
-
-from vts.runners.host import keys
-from vts.utils.python.web import feature_utils
-from vts.utils.python.controllers.adb import AdbError
-from vts.utils.python.coverage import sancov_parser
-
-
-class SancovFeature(feature_utils.Feature):
- """Feature object for sanitizer coverage functionality.
-
- Attributes:
- enabled: boolean, True if sancov is enabled, False otherwise
- web: (optional) WebFeature, object storing web feature util for test run
- """
- _DEFAULT_EXCLUDE_PATHS = [
- 'bionic', 'external/libcxx', 'system/core', 'system/libhidl'
- ]
- _TOGGLE_PARAM = keys.ConfigKeys.IKEY_ENABLE_SANCOV
- _REQUIRED_PARAMS = [keys.ConfigKeys.IKEY_ANDROID_DEVICE]
-
- _PROCESS_INIT_COMMAND = (
- '\"echo coverage=1 > /data/asan/system/asan.options.{0} && '
- 'echo coverage_dir={1}/{2} >> /data/asan/system/asan.options.{0} && '
- 'rm -rf {1}/{2} &&'
- 'mkdir {1}/{2} && '
- 'killall {0}\"')
- _FLUSH_COMMAND = '/data/local/tmp/vts_coverage_configure flush {0}'
- _TARGET_SANCOV_PATH = '/data/misc/trace'
- _SEARCH_PATHS = [(os.path.join('data', 'asan', 'vendor', 'bin'),
- None), (os.path.join('vendor', 'bin'), None),
- (os.path.join('data', 'asan', 'vendor', 'lib'),
- 32), (os.path.join('vendor', 'lib'), 32), (os.path.join(
- 'data', 'asan', 'vendor',
- 'lib64'), 64), (os.path.join('vendor', 'lib64'), 64)]
-
- _BUILD_INFO = 'BUILD_INFO'
- _REPO_DICT = 'repo-dict'
- _SYMBOLS_ZIP = 'symbols.zip'
-
- def __init__(self,
- user_params,
- web=None,
- exclude_paths=_DEFAULT_EXCLUDE_PATHS):
- """Initializes the sanitizer coverage feature.
-
- Args:
- user_params: A dictionary from parameter name (String) to parameter value.
- web: (optional) WebFeature, object storing web feature util for test run.
- exclude_paths: (optional) list of strings, paths to exclude for coverage.
- """
- self.ParseParameters(
- self._TOGGLE_PARAM, self._REQUIRED_PARAMS, user_params=user_params)
- self.web = web
- self._device_resource_dict = {}
- self._file_vectors = {}
- self._exclude_paths = exclude_paths
- if self.enabled:
- android_devices = getattr(self,
- keys.ConfigKeys.IKEY_ANDROID_DEVICE)
- if not isinstance(android_devices, list):
- logging.warn('Android device information not available')
- self.enabled = False
- for device in android_devices:
- serial = str(device.get(keys.ConfigKeys.IKEY_SERIAL))
- sancov_resource_path = str(
- device.get(keys.ConfigKeys.IKEY_SANCOV_RESOURCES_PATH))
- if not serial or not sancov_resource_path:
- logging.warn('Missing sancov information in device: %s',
- device)
- continue
- self._device_resource_dict[serial] = sancov_resource_path
- if self.enabled:
- logging.info('Sancov is enabled.')
- else:
- logging.debug('Sancov is disabled.')
-
- def InitializeDeviceCoverage(self, dut, hals):
- """Initializes the sanitizer coverage on the device for the provided HAL.
-
- Args:
- dut: The device under test.
- hals: A list of the HAL name and version (string) for which to
- measure coverage (e.g. ['android.hardware.light@2.0'])
- """
- serial = dut.adb.shell('getprop ro.serialno').strip()
- if serial not in self._device_resource_dict:
- logging.error("Invalid device provided: %s", serial)
- return
-
- for hal in hals:
- entries = dut.adb.shell(
- 'lshal -itp 2> /dev/null | grep {0}'.format(hal)).splitlines()
- pids = set([
- pid.strip()
- for pid in map(lambda entry: entry.split()[-1], entries)
- if pid.isdigit()
- ])
-
- if len(pids) == 0:
- logging.warn('No matching processes IDs found for HAL %s', hal)
- return
- processes = dut.adb.shell('ps -p {0} -o comm='.format(
- ' '.join(pids))).splitlines()
- process_names = set([
- name.strip() for name in processes
- if name.strip() and not name.endswith(' (deleted)')
- ])
-
- if len(process_names) == 0:
- logging.warn('No matching processes names found for HAL %s',
- hal)
- return
-
- for process_name in process_names:
- cmd = self._PROCESS_INIT_COMMAND.format(
- process_name, self._TARGET_SANCOV_PATH, hal)
- try:
- dut.adb.shell(cmd.format(process_name))
- except AdbError as e:
- logging.error('Command failed: \"%s\"', cmd)
- continue
-
- def FlushDeviceCoverage(self, dut, hals):
- """Flushes the sanitizer coverage on the device for the provided HAL.
-
- Args:
- dut: The device under test.
- hals: A list of HAL name and version (string) for which to flush
- coverage (e.g. ['android.hardware.light@2.0-service'])
- """
- serial = dut.adb.shell('getprop ro.serialno').strip()
- if serial not in self._device_resource_dict:
- logging.error('Invalid device provided: %s', serial)
- return
- for hal in hals:
- dut.adb.shell(self._FLUSH_COMMAND.format(hal))
-
- def _InitializeFileVectors(self, serial, binary_path):
- """Parse the binary and read the debugging information.
-
- Parse the debugging information in the binary to determine executable lines
- of code for all of the files included in the binary.
-
- Args:
- serial: The serial of the device under test.
- binary_path: The path to the unstripped binary on the host.
- """
- file_vectors = self._file_vectors[serial]
- args = ['readelf', '--debug-dump=decodedline', binary_path]
- with tempfile.TemporaryFile('w+b') as tmp:
- subprocess.call(args, stdout=tmp)
- tmp.seek(0)
- file = None
- for entry in tmp:
- entry_parts = entry.split()
- if len(entry_parts) == 0:
- continue
- elif len(entry_parts) < 3 and entry_parts[-1].endswith(':'):
- file = entry_parts[-1].rsplit(':')[0]
- for path in self._exclude_paths:
- if file.startswith(path):
- file = None
- break
- continue
- elif len(entry_parts) == 3 and file is not None:
- line_no_string = entry_parts[1]
- try:
- line = int(line_no_string)
- except ValueError:
- continue
- if file not in file_vectors:
- file_vectors[file] = [-1] * line
- if line > len(file_vectors[file]):
- file_vectors[file].extend(
- [-2] * (line - len(file_vectors[file])))
- file_vectors[file][line - 1] = 0
-
- def _UpdateLineCounts(self, serial, lines):
- """Update the line counts with the symbolized output lines.
-
- Increment the line counts using the symbolized line information.
-
- Args:
- serial: The serial of the device under test.
- lines: A list of strings in the format returned by addr2line (e.g. <file>:<line no>).
- """
- file_vectors = self._file_vectors[serial]
- for line in lines:
- file, line_no_string = line.rsplit(':', 1)
- if file == '??': # some lines cannot be symbolized and will report as '??'
- continue
- try:
- line_no = int(line_no_string)
- except ValueError:
- continue # some lines cannot be symbolized and will report as '??'
- if not file in file_vectors: # file is excluded
- continue
- if line_no > len(file_vectors[file]):
- file_vectors[file].extend([-1] *
- (line_no - len(file_vectors[file])))
- if file_vectors[file][line_no - 1] < 0:
- file_vectors[file][line_no - 1] = 0
- file_vectors[file][line_no - 1] += 1
-
- def Upload(self):
- """Append the coverage information to the web proto report.
- """
- if not self.web or not self.web.enabled:
- return
-
- for device_serial in self._device_resource_dict:
- resource_path = self._device_resource_dict[device_serial]
- rev_map = json.load(
- open(os.path.join(resource_path,
- self._BUILD_INFO)))[self._REPO_DICT]
-
- for file in self._file_vectors[device_serial]:
-
- # Get the git project information
- # Assumes that the project name and path to the project root are similar
- revision = None
- for project_name in rev_map:
- # Matches when source file root and project name are the same
- if file.startswith(str(project_name)):
- git_project_name = str(project_name)
- git_project_path = str(project_name)
- revision = str(rev_map[project_name])
- break
-
- parts = os.path.normpath(str(project_name)).split(
- os.sep, 1)
- # Matches when project name has an additional prefix before the project path root.
- if len(parts) > 1 and file.startswith(parts[-1]):
- git_project_name = str(project_name)
- git_project_path = parts[-1]
- revision = str(rev_map[project_name])
- break
-
- if not revision:
- logging.info("Could not find git info for %s", file)
- continue
-
- covered_count = sum(
- map(lambda count: 1 if count > 0 else 0,
- self._file_vectors[device_serial][file]))
- total_count = sum(
- map(lambda count: 1 if count >= 0 else 0,
- self._file_vectors[device_serial][file]))
- self.web.AddCoverageReport(
- self._file_vectors[device_serial][file], file,
- git_project_name, git_project_path, revision,
- covered_count, total_count, True)
-
- def ProcessDeviceCoverage(self, dut, hals):
- """Process device coverage.
-
- Fetch sancov files from the target, parse the sancov files, symbolize the output,
- and update the line counters.
-
- Args:
- dut: The device under test.
- hals: A list of HAL name and version (string) for which to process
- coverage (e.g. ['android.hardware.light@2.0'])
- """
- serial = dut.adb.shell('getprop ro.serialno').strip()
- product = dut.adb.shell('getprop ro.build.product').strip()
-
- if not serial in self._device_resource_dict:
- logging.error('Invalid device provided: %s', serial)
- return
-
- if serial not in self._file_vectors:
- self._file_vectors[serial] = {}
-
- symbols_zip = zipfile.ZipFile(
- os.path.join(self._device_resource_dict[serial],
- self._SYMBOLS_ZIP))
-
- sancov_files = []
- for hal in hals:
- sancov_files.extend(
- dut.adb.shell('find {0}/{1} -name \"*.sancov\"'.format(
- self._TARGET_SANCOV_PATH, hal)).splitlines())
- temp_dir = tempfile.mkdtemp()
-
- binary_to_sancov = {}
- for file in sancov_files:
- dut.adb.pull(file, temp_dir)
- binary, pid, _ = os.path.basename(file).rsplit('.', 2)
- bitness, offsets = sancov_parser.ParseSancovFile(
- os.path.join(temp_dir, os.path.basename(file)))
- binary_to_sancov[binary] = (bitness, offsets)
-
- for hal in hals:
- dut.adb.shell('rm -rf {0}/{1}'.format(self._TARGET_SANCOV_PATH,
- hal))
-
- search_root = os.path.join('out', 'target', 'product', product,
- 'symbols')
- for path, bitness in self._SEARCH_PATHS:
- for name in [
- f for f in symbols_zip.namelist()
- if f.startswith(os.path.join(search_root, path))
- ]:
- basename = os.path.basename(name)
- if basename in binary_to_sancov and (
- bitness is None
- or binary_to_sancov[basename][0] == bitness):
- with symbols_zip.open(
- name) as source, tempfile.NamedTemporaryFile(
- 'w+b') as target:
- shutil.copyfileobj(source, target)
- target.seek(0)
- self._InitializeFileVectors(serial, target.name)
- addrs = map(lambda addr: '{0:#x}'.format(addr),
- binary_to_sancov[basename][1])
- args = ['addr2line', '-pe', target.name]
- args.extend(addrs)
- with tempfile.TemporaryFile('w+b') as tmp:
- subprocess.call(args, stdout=tmp)
- tmp.seek(0)
- c = tmp.read().split()
- self._UpdateLineCounts(serial, c)
- del binary_to_sancov[basename]
- shutil.rmtree(temp_dir)
diff --git a/utils/python/coverage/testdata/sample.c b/utils/python/coverage/testdata/sample.c
deleted file mode 100644
index 39d245a..0000000
--- a/utils/python/coverage/testdata/sample.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-
-
-int main(argc, argv)
-int argc;
-char **argv;
-
-{
- int x, y;
- x = 100;
- y = 250;
- testFunctionName(x + y);
-
- printf("The value of x is %d. \n", x);
-
- if (x > y) {
- printf("X is bigger.");
- } else {
- printf("Y is bigger.");
- }
-
- int z = 0;
- int i = 0;
- for (; i < y; i++) {
- z = -z + 2*i;
- }
-
- printf("The value of z is %d.\n", z);
-
- exit(0);
-
-}
-
-int testFunctionName(a)
-int a;
-
-{
- int b;
- b = a << 2;
- printf("%i times 4 = %i\n", a, b);
- return b;
-}
\ No newline at end of file
diff --git a/utils/python/coverage/testdata/sample.gcda b/utils/python/coverage/testdata/sample.gcda
deleted file mode 100644
index 144d91d..0000000
--- a/utils/python/coverage/testdata/sample.gcda
+++ /dev/null
Binary files differ
diff --git a/utils/python/coverage/testdata/sample.gcno b/utils/python/coverage/testdata/sample.gcno
deleted file mode 100644
index 2f99907..0000000
--- a/utils/python/coverage/testdata/sample.gcno
+++ /dev/null
Binary files differ
diff --git a/utils/python/coverage/testdata/sample.sancov b/utils/python/coverage/testdata/sample.sancov
deleted file mode 100644
index b65650b..0000000
--- a/utils/python/coverage/testdata/sample.sancov
+++ /dev/null
Binary files differ