• 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 SmokeJson(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  # JSON trace parsing
26  def test_sfgate_smoke(self):
27    return DiffTestBlueprint(
28        trace=DataPath('sfgate.json'),
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        """))
45
46  def test_sfgate_smoke_slices(self):
47    return DiffTestBlueprint(
48        trace=DataPath('sfgate.json'),
49        query="""
50        SELECT track.type AS type, depth, count(*) AS count
51        FROM slice
52        JOIN track ON slice.track_id = track.id
53        GROUP BY track.type, depth
54        ORDER BY track.type, depth;
55        """,
56        out=Csv("""
57        "type","depth","count"
58        "thread_track",0,16888
59        "thread_track",1,19447
60        "thread_track",2,5816
61        "thread_track",3,829
62        "thread_track",4,191
63        "thread_track",5,94
64        "thread_track",6,57
65        "thread_track",7,19
66        "thread_track",8,14
67        "thread_track",9,2
68        """))
69