• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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