// Copyright 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. syntax = "proto2"; package android.vts; option java_package = "com.android.vts.proto"; option java_outer_classname = "VtsFuzzTaskMessageClass"; import "test/vts/proto/ComponentSpecificationMessage.proto"; import "test/vts/proto/VtsReportMessage.proto"; // To specify status of a FuzzTaskUnitMessage enum Status { // task not processed yet READY = 0; // task in process LOCKED = 1; // task fully processed PROCESSED = 2; } // To specify result of fuzz task enum Result { // task not processed yet NOT_PROCESSED = 0; // duplicate crash CRASH_DUPLICATE = 1; // new crash CRASH_NEW = 2; // fuzz test passed with no crash PASS = 3; } // To specify details of the test suite target message TestSuiteSpecificationMessage { // target product (e.g., VTS) optional bytes test_suite = 1; // branch name (e.g., master, oc-dev) optional bytes branch = 11; // target product (e.g., aosp_arm64) optional bytes target_product = 12; // build variant (e.g., userdebug) optional bytes build_variant = 13; // build ID optional bytes build_id = 21; } // To specify details of a corpus message CorpusSpecificationMessage { // Component class (e.g., HIDL HAL or Conventional HAL) optional ComponentClass component_class = 1; // Corpus file names repeated bytes corpus_file_name = 2; // HAL package name (e.g., android.hardware.audio) optional bytes hal_package_name = 11; // HAL transport type (e.g., hwbinder, passthrough) optional bytes hal_transport_type = 12; // HAL major version (e.g., 2 of 2.0) optional int32 hal_major_version = 13; // HAL minor version (e.g., 0 of 2.0) optional int32 hal_minor_version = 14; // HAL interface name (e.g., IDevicesFactory) optional bytes hal_interface_name = 15; } // To specify details of a fuzz task per target message FuzzTaskUnitMessage { // status of fuzz task optional Status status = 1; // result of fuzz task optional Result result_type = 2; // log files (host or device) repeated UrlResourceMessage log = 3; // tracks when the fuzz task unit was created optional int64 creation_timestamp = 11; // tracks when most recent status change occurred optional int64 status_change_timestamp = 12; // specification of fuzz task device target optional AndroidDeviceInfoMessage device_info = 21; // specification of fuzz task device build info optional AndroidBuildInfo build_info = 22; // specification of test suite (e.g., VTS) build target optional TestSuiteSpecificationMessage test_suite_target = 23; } // To specify a fuzz task message VtsFuzzTaskMessage { // numeric Task ID optional int32 task_id = 1; // specification of fuzz task per target repeated FuzzTaskUnitMessage task_unit = 2; // VTS test module name optional bytes test_module_name = 11; // specification of corpus optional CorpusSpecificationMessage corpus = 21; }