1#!/usr/bin/env python3 2# Copyright (C) 2024 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 Csv, Path, DataPath 17from python.generators.diff_tests.testing import DiffTestBlueprint 18from python.generators.diff_tests.testing import TestSuite 19 20 21class Etm(TestSuite): 22 23 def test_sessions(self): 24 return DiffTestBlueprint( 25 trace=DataPath('simpleperf/cs_etm_u.perf'), 26 query=''' 27 SELECT start_ts, cpu, size 28 FROM 29 __intrinsic_etm_v4_configuration AS C, 30 __intrinsic_etm_v4_session AS s 31 ON c.id = s.configuration_id, 32 __intrinsic_etm_v4_trace AS t 33 ON s.id = t.session_id 34 WHERE start_ts < 21077000721310 35 ORDER BY start_ts ASC 36 ''', 37 out=Csv(''' 38 "start_ts","cpu","size" 39 21076849718299,8,238 40 21076860480953,8,238 41 21076871238359,8,238 42 21076882058915,8,238 43 21076892817338,8,238 44 21076903628740,8,238 45 21076914454749,8,238 46 21076924779741,8,238 47 21076935681637,8,238 48 21076946070594,8,360 49 21076956953243,8,238 50 21076967922726,8,238 51 21076978919593,8,238 52 21076989801225,8,356 53 ''')) 54 55 def test_decode_all(self): 56 return DiffTestBlueprint( 57 trace=DataPath('simpleperf/cs_etm_u.perf'), 58 query=''' 59 SELECT count(*) 60 FROM 61 __intrinsic_etm_v4_trace t, 62 __intrinsic_etm_decode_trace d 63 ON t.id = d.trace_id 64 ''', 65 out=Csv(''' 66 "count(*)" 67 5871 68 ''')) 69 70 def test_decode_trace(self): 71 return DiffTestBlueprint( 72 trace=DataPath('simpleperf/cs_etm_u.perf'), 73 query=''' 74 SELECT * 75 FROM 76 __intrinsic_etm_decode_trace 77 WHERE trace_id = 0 78 ''', 79 out=Csv(''' 80 "trace_index","element_index","element_type","timestamp","cycle_count","exception_level","context_id","isa","start_address","end_address","mapping_id" 81 12,0,"NO_SYNC","[NULL]","[NULL]","[NULL]","[NULL]","UNKNOWN",-1,-1,"[NULL]" 82 40,1,"TRACE_ON","[NULL]","[NULL]","[NULL]","[NULL]","UNKNOWN",-1,-1,"[NULL]" 83 40,2,"PE_CONTEXT","[NULL]","[NULL]",0,315,"AARCH64",-1,-1,"[NULL]" 84 40,3,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487860616,-1,13 85 50,4,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487537936,-1,13 86 60,5,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",434500225096,-1,1 87 70,6,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487560912,-1,13 88 76,7,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487493696,-1,13 89 85,8,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487561064,-1,13 90 91,9,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487412480,-1,13 91 97,10,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487818588,-1,13 92 107,11,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487819616,-1,13 93 112,12,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487821296,-1,13 94 130,13,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487386304,-1,13 95 137,14,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487799440,-1,13 96 144,15,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487387072,-1,13 97 152,16,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487799592,-1,13 98 159,17,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487386304,-1,13 99 166,18,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487799440,-1,13 100 173,19,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487387072,-1,13 101 180,20,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487799592,-1,13 102 187,21,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487827048,-1,13 103 199,22,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487386304,-1,13 104 206,23,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487799440,-1,13 105 213,24,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487387072,-1,13 106 221,25,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487799592,-1,13 107 229,26,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487548832,-1,13 108 235,27,"ADDR_NACC","[NULL]","[NULL]",0,315,"AARCH64",523487677904,-1,13 109 '''))