Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

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.14 Sekunden, vorverarbeitet 2026-06-27]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik