• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python3
2# Copyright (C) 2023 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License a
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16from python.generators.diff_tests.testing import Path, DataPath, Metric
17from python.generators.diff_tests.testing import Csv, Json, TextProto
18from python.generators.diff_tests.testing import DiffTestBlueprint
19from python.generators.diff_tests.testing import TestSuite
20
21
22class SmokeSchedEvents(TestSuite):
23  # Contains smoke tests which test the most fundamentally important features
24  # trace processor  Note: new tests here should only be added by the Perfetto
25  # Sched events
26  def test_android_sched_and_ps_smoke(self):
27    return DiffTestBlueprint(
28        trace=DataPath('android_sched_and_ps.pb'),
29        query="""
30        SELECT
31          ts,
32          cpu,
33          dur,
34          end_state,
35          priority,
36          tid
37        FROM sched
38        JOIN thread USING(utid)
39        ORDER BY ts
40        LIMIT 10;
41        """,
42        out=Csv("""
43        "ts","cpu","dur","end_state","priority","tid"
44        81473010031230,2,78021,"S",120,26204
45        81473010109251,2,12500,"R",120,0
46        81473010121751,2,58021,"S",120,26205
47        81473010179772,2,24114,"R",120,0
48        81473010203886,2,30834,"S",120,26206
49        81473010234720,2,43802,"R",120,0
50        81473010278522,2,29948,"S",120,26207
51        81473010308470,2,44322,"R",120,0
52        81473010341386,1,158854,"S",116,23912
53        81473010352792,2,32917,"S",120,26208
54        """))
55
56  # Sched events from sythetic trace
57  def test_synth_1_smoke(self):
58    return DiffTestBlueprint(
59        trace=Path('../common/synth_1.py'),
60        query="""
61        SELECT
62          ts,
63          cpu,
64          dur,
65          end_state,
66          priority,
67          tid
68        FROM sched
69        JOIN thread USING(utid)
70        ORDER BY ts
71        LIMIT 10;
72        """,
73        out=Csv("""
74        "ts","cpu","dur","end_state","priority","tid"
75        1,0,99,"R",0,3
76        50,1,70,"R",0,1
77        100,0,15,"R",0,2
78        115,0,-1,"[NULL]",0,3
79        120,1,50,"R",0,2
80        170,1,80,"R",0,0
81        250,1,140,"R",0,2
82        390,1,-1,"[NULL]",0,4
83        """))
84