#!/usr/bin/env python3 # Copyright (C) 2023 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License a # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from python.generators.diff_tests.testing import Path, DataPath, Metric from python.generators.diff_tests.testing import Csv, Json, TextProto from python.generators.diff_tests.testing import DiffTestBlueprint from python.generators.diff_tests.testing import TestSuite class TablesSched(TestSuite): # Sched table def test_synth_1_filter_sched(self): return DiffTestBlueprint( trace=Path('../common/synth_1.py'), query=""" SELECT ts, cpu, dur FROM sched WHERE cpu = 1 AND dur > 50 AND dur <= 100 AND ts >= 100 AND ts <= 400; """, out=Csv(""" "ts","cpu","dur" 170,1,80 """)) def test_android_sched_and_ps_b119496959(self): return DiffTestBlueprint( trace=DataPath('android_sched_and_ps.pb'), query=""" SELECT ts, cpu FROM sched WHERE ts >= 81473797418963 LIMIT 10; """, out=Csv(""" "ts","cpu" 81473797824982,3 81473797942847,3 81473798135399,0 81473798786857,2 81473798875451,3 81473799019930,2 81473799079982,0 81473800089357,3 81473800144461,3 81473800441805,3 """)) def test_android_sched_and_ps_b119301023(self): return DiffTestBlueprint( trace=DataPath('android_sched_and_ps.pb'), query=""" SELECT ts FROM sched WHERE ts > 0.1 + 1e9 LIMIT 10; """, out=Csv(""" "ts" 81473010031230 81473010109251 81473010121751 81473010179772 81473010203886 81473010234720 81473010278522 81473010308470 81473010341386 81473010352792 """))