• 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 Ufs(TestSuite):
23  # UFS command
24  def test_ufshcd_command(self):
25    return DiffTestBlueprint(
26        trace=Path('ufshcd_command.textproto'),
27        query="""
28        SELECT
29          ts,
30          value
31        FROM
32          counter AS c
33        JOIN
34          counter_track AS ct
35          ON c.track_id = ct.id
36        WHERE
37          ct.name = "io.ufs.command.count"
38        ORDER BY ts;
39        """,
40        out=Csv("""
41        "ts","value"
42        10000,1.000000
43        10008,2.000000
44        10010,3.000000
45        10011,1.000000
46        """))
47
48  def test_ufshcd_command_tag(self):
49    return DiffTestBlueprint(
50        trace=Path('ufshcd_command_tag.textproto'),
51        query="""
52        SELECT ts, dur, slice.name
53        FROM slice
54        JOIN track ON slice.track_id = track.id
55        WHERE track.name GLOB 'io.ufs.command.tag*'
56        ORDER BY ts;
57        """,
58        out=Csv("""
59        "ts","dur","name"
60        10000,800,"READ (10)"
61        10900,50,"WRITE (10) (GID=0x16)"
62        """))
63