• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto2";
16
17package longevity.profile;
18
19option java_package = "android.platform.test.longevity.proto";
20option java_multiple_files = true;
21
22message Configuration {
23    // Schedule used to run the profile.
24    enum Schedule {
25        TIMESTAMPED = 1;
26        INDEXED = 2;
27        SEQUENTIAL = 3;
28    }
29    optional Schedule schedule = 1 [default = TIMESTAMPED];
30
31    // Information for each scenario.
32    message Scenario {
33        oneof schedule {
34            string at = 1; // A timestamp (HH:MM:SS) for when to run the scenario.
35            int32 index = 2; // An index for the relative order of the scenario.
36        }
37        // Reference to the CUJ (<package>.<class>).
38        optional string journey = 3;
39        // Extra arguments to pass to the CUJ.
40        message ExtraArg {
41            optional string key = 1;
42            optional string value = 2;
43        }
44        repeated ExtraArg extras = 4;
45        // For app-based scenarios, whether to stay in the app after the tested action is performed.
46        enum AfterTest {
47            STAY_IN_APP = 1;
48            EXIT = 2;
49        }
50        optional AfterTest after_test = 5 [default = EXIT];
51    }
52    repeated Scenario scenarios = 2;
53}
54