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, BinaryProto 18from python.generators.diff_tests.testing import DiffTestBlueprint 19from python.generators.diff_tests.testing import TestSuite 20from google.protobuf import text_format 21 22 23class PreludeSlices(TestSuite): 24 25 def test_slice_is_ancestor(self): 26 return DiffTestBlueprint( 27 trace=Path('nested_slices_trace.py'), 28 query=""" 29 SELECT 30 s1.name, s2.name, slice_is_ancestor(s1.id, s2.id) AS is_ancestor 31 FROM slice s1 32 JOIN slice s2 33 WHERE s1.name < s2.name 34 """, 35 out=Csv(""" 36 "name","name","is_ancestor" 37 "Slice 1","Slice 2",1 38 "Slice 1","Slice 4",0 39 "Slice 1","Slice 3",1 40 "Slice 2","Slice 4",0 41 "Slice 2","Slice 3",0 42 "Slice 3","Slice 4",0 43 """)) 44