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 PerfettoView(TestSuite): 23 24 def test_create_view(self): 25 return DiffTestBlueprint( 26 trace=TextProto(r''), 27 query=""" 28 CREATE PERFETTO VIEW foo AS SELECT 42 as a; 29 30 SELECT * FROM foo; 31 """, 32 out=Csv(""" 33 "a" 34 42 35 """)) 36 37 def test_replace_view(self): 38 return DiffTestBlueprint( 39 trace=TextProto(r''), 40 query=""" 41 CREATE PERFETTO VIEW Foo AS SELECT 42 as a; 42 CREATE OR REPLACE PERFETTO VIEW Foo AS SELECT 43 as a; 43 44 SELECT * FROM foo; 45 """, 46 out=Csv(""" 47 "a" 48 43 49 """)) 50