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