Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/build/build/soong/docs/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 7 kB image not shown  

Quelle  stress_test.proto   Sprache: unbekannt

 
Spracherkennung für: .proto vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

/*
 * Copyright 2020 Google LLC
 *
 * 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 = "proto3";

package stress_test;

option optimize_for = CODE_SIZE;

message LoggingEventConfig {
  // The process name that this event can be found on, or LOGCAT to come from
  // 'adb logcat'.
  string source = 1;
  // The name of the event to trigger.
  string name = 2;
  // A list of regexes that can be used to detect the specified event.
  repeated string regex = 3;
}

message TimeStampConfig {
  enum TimeStampType {
    UNKNOWN = 0;
    DATE = 1;
    MONOTONIC = 2;
  }
  // If the type is DATE, then we assume it can be parsed by a python datetime.
  // MONOTONIC sources are from the device's boot time.
  TimeStampType type = 3;
  // The regex to extract the string containing the timestamp.
  string regex = 4;
  // The format string to pass to the python datetime constructor for the
  // matched regex.
  string date_format = 5;
  // The multiplier used on the parsed monotonic time to convert it to seconds.
  double monotonic_to_seconds_multiplier = 6;
}

message FileConfig {
  // The file that should be cat-ed on device to get information. Will be used
  // by LoggingEventConfigs.
  string source = 1;
  // The filepath to save the output of this file on the local machine. If
  // blank, will be discarded.
  string destination = 2;
  // The information needed to extract timestamps from the config.
  TimeStampConfig time_stamp = 3;
  // True if the file spits out a bit of the buffer that it did previously when
  // reopened (like the logcat does).
  bool repeats_output_on_open = 4;
}

message ProcessConfig {
  // The command to run to produce logging output.
  string command = 1;
  // The name of the process to be used in LoggingEventConfigs.
  string name = 2;
  // The filepath to save the output of this process on the local machine. If
  // blank, will be discarded.
  string destination = 3;
  // The information needed to extract timestamps from the config.
  TimeStampConfig time_stamp = 4;
  // Restart the process if it crashes randomly.
  bool restart = 5;
  // True if the file spits out a bit of the buffer that it did previously when
  // reopened (like the logcat does).
  bool repeats_output_on_open = 6;
}

message DeviceConfig {
  // Commands to run once at the beginning of the test for the device.
  repeated string setup_command = 1;
  // Files that should have their contents monitored for events.
  repeated FileConfig file_to_watch = 2;
  // Files that should be moved to the local machine after every iteration of
  // the stress test.
  repeated FileConfig file_to_move = 3;
  // All events that can be triggered by this device.
  repeated LoggingEventConfig event = 5;
  // Any processes that should be monitored for events.
  repeated ProcessConfig daemon_process = 6;
  // Include any other device definitions before processing the contents of this
  // one. Note that if duplicate entries exist for the repeated elements (based
  // on the name), only the "latest" in the include chain will be used.
  repeated string include = 7;
  // A list of tags that should be squelched from the logcat - useful for super
  // spammy irrelevant logcat tags.
  repeated string tag_to_suppress = 8;
  // Either a TestEventConfig without a condition (but a name) that allows extra
  // actions to take place when a specific test event occurs, or a standard test
  // event that will be invoked regardless of which test is running.
  repeated TestEventConfig test_event = 9;
}

message TestStep {
  // Path to raw audio file to play during this test step.
  string audio_file = 1;
  // Sample rate of audio file.
  int32 audio_file_sample_rate = 2;
  // Number of channels in audio file.
  int32 audio_file_num_channels = 3;
  // The sox format of the audio file.
  string audio_file_format = 4;
  // Command to run on this test step.
  string command = 5;
  // How many seconds to wait before executing the command/playing the sound in
  // this step.
  float delay_before = 6;
  // How many seconds to wait after executing the command/playing the sound in
  // this step.
  float delay_after = 7;
}

message ExpectedResult {
  int32 aohd_hotword_detected = 1;
  int32 assistant_started = 2;
  int32 dsp_false_accept = 3;
  int32 logcat_iteration = 4;
  int32 software_hotword = 5;
  int32 speaker_id_rejected = 6;
  int32 vis_software_hotword = 7;
}

message TestEventConfig {
  // The name of the event. (Used for readability/allowing devices to add custom
  // actions when an event of a specific name occurs).
  string name = 1;
  // An eval condition that should only be true when the actions in this event
  // should be executed.
  string condition = 2;
  // List of actions to take when the condition is satisfied. BUGREPORT, NOTIFY,
  // REMOVE_DEVICE and ABORT are all special values that take a bugreport, send
  // an email, remove the device from the test or stops stress testing
  // respectively.
  repeated string action = 3;
}

message StressTestConfig {
  // Description of what the test does.
  string description = 1;
  // List of steps to take in sequence repeatedly to do the stress test.
  repeated TestStep step = 2;
  // Events that trigger special actions on the device when the condition is
  // satisfied.
  repeated TestEventConfig event = 3;
  // Commands that should be run at the beginning of the test to setup the
  // device.
  repeated string setup_command = 4;
  // Definition of Expected test result
  repeated ExpectedResult expected_result = 5;
}

message EventLogDetails {
  int32 iteration = 1;
  string name = 2;
}

message EventLog {
  repeated EventLogDetails event = 1;
}

message DeviceIdentifier {
  string device_type = 1;
  string serial_number = 2;
}

message StressTestInfo {
  // Metadata info describing the devices involved in the stress test, and a bit
  // about what test was actually run.
  string test_name = 1;
  string test_description = 2;
  string uuid = 3;
  repeated DeviceIdentifier device = 4;
}

[Dauer der Verarbeitung: 0.13 Sekunden, vorverarbeitet 2026-06-27]