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 SpanJoinRegression(TestSuite): 23 24 def test_android_sched_and_ps_slice_span_join_b118665515(self): 25 return DiffTestBlueprint( 26 trace=DataPath('android_sched_and_ps.pb'), 27 query=Path('slice_span_join_b118665515_test.sql'), 28 out=Path('android_sched_and_ps_slice_span_join_b118665515.out')) 29 30 def test_span_join_unpartitioned_empty(self): 31 return DiffTestBlueprint( 32 trace=DataPath('android_sched_and_ps.pb'), 33 query=""" 34 CREATE TABLE t1( 35 ts BIGINT, 36 dur BIGINT, 37 PRIMARY KEY (ts, dur) 38 ) WITHOUT ROWID; 39 40 CREATE TABLE t2( 41 ts BIGINT, 42 dur BIGINT, 43 PRIMARY KEY (ts, dur) 44 ) WITHOUT ROWID; 45 46 INSERT INTO t2(ts, dur) 47 VALUES 48 (1, 2), 49 (5, 0), 50 (1, 1); 51 52 CREATE VIRTUAL TABLE sp USING span_join(t1, t2); 53 54 SELECT ts, dur FROM sp; 55 """, 56 out=Csv(""" 57 "ts","dur" 58 """)) 59