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 AndroidBugreport(TestSuite): 23 24 def test_android_bugreport_logs(self): 25 return DiffTestBlueprint( 26 trace=DataPath('bugreport-crosshatch-SPB5.zip'), 27 query=""" 28 WITH 29 initial AS (SELECT 30 (SELECT count(*) FROM android_logs) AS cnt, 31 ts, prio, tag, msg FROM android_logs 32 ORDER BY ts ASC 33 LIMIT 100 34 ), 35 latest AS (SELECT 36 (SELECT count(*) FROM android_logs) AS cnt, 37 ts, prio, tag, msg FROM android_logs 38 ORDER BY ts DESC 39 LIMIT 100 40 ) 41 SELECT * FROM initial UNION ALL SELECT * FROM latest; 42 """, 43 out=Path('android_bugreport_logs_test.out')) 44 45 def test_android_bugreport_dumpstate(self): 46 return DiffTestBlueprint( 47 trace=DataPath('bugreport-crosshatch-SPB5.zip'), 48 query=""" 49 SELECT section, service, count(line) AS linecount FROM android_dumpstate 50 GROUP BY section, service; 51 """, 52 out=Path('android_bugreport_dumpstate_test.out')) 53 54 def test_android_bugreport_dumpsys(self): 55 return DiffTestBlueprint( 56 trace=DataPath('bugreport-crosshatch-SPB5.zip'), 57 query=""" 58 SELECT section, service, line FROM android_dumpstate 59 WHERE service = 'color_display'; 60 """, 61 out=Path('android_bugreport_dumpsys_test.out')) 62