aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnna Mayzner <mayzner@google.com>2024-05-08 13:05:23 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-05-08 13:05:23 +0000
commitcffb22e6947cc4db0909d6bf4ca289fb7d786bb0 (patch)
treed3c8539abba882dff996a2668bdcf70dfdfb1c44
parent9e2b06bd107b8a60003d7b3cd83fee30531179b2 (diff)
parentdf388cec8533d7a6e3457cf733ca676d497e9874 (diff)
downloadperfetto-cffb22e6947cc4db0909d6bf4ca289fb7d786bb0.tar.gz
Merge "tp: Max/Min in CEngine diff tests" into main
-rw-r--r--test/trace_processor/diff_tests/syntax/table_tests.py54
1 files changed, 50 insertions, 4 deletions
diff --git a/test/trace_processor/diff_tests/syntax/table_tests.py b/test/trace_processor/diff_tests/syntax/table_tests.py
index 1a3bbb342..7de63e9d4 100644
--- a/test/trace_processor/diff_tests/syntax/table_tests.py
+++ b/test/trace_processor/diff_tests/syntax/table_tests.py
@@ -156,16 +156,16 @@ class PerfettoTable(TestSuite):
trace=DataPath('example_android_trace_30s.pb'),
query="""
WITH trivial_count AS (
- SELECT DISTINCT name AS c FROM slice
+ SELECT DISTINCT name FROM slice
),
few_results AS (
- SELECT DISTINCT depth AS c FROM slice
+ SELECT DISTINCT depth FROM slice
),
simple_nullable AS (
- SELECT DISTINCT parent_id AS c FROM slice
+ SELECT DISTINCT parent_id FROM slice
),
selector AS (
- SELECT DISTINCT cpu AS c FROM ftrace_event
+ SELECT DISTINCT cpu FROM ftrace_event
)
SELECT
(SELECT COUNT(*) FROM trivial_count) AS name,
@@ -251,3 +251,49 @@ class PerfettoTable(TestSuite):
8,80
9,90
"""))
+
+ def test_max(self):
+ return DiffTestBlueprint(
+ trace=DataPath('example_android_trace_30s.pb'),
+ query="""
+ CREATE PERFETTO MACRO max(col ColumnName)
+ RETURNS TableOrSubquery AS (
+ SELECT id, $col
+ FROM slice
+ ORDER BY $col DESC
+ LIMIT 1
+ );
+
+ SELECT
+ (SELECT id FROM max!(id)) AS id,
+ (SELECT id FROM max!(dur)) AS numeric,
+ (SELECT id FROM max!(name)) AS string,
+ (SELECT id FROM max!(parent_id)) AS nullable;
+ """,
+ out=Csv("""
+ "id","numeric","string","nullable"
+ 20745,2698,148,20729
+ """))
+
+ def test_min(self):
+ return DiffTestBlueprint(
+ trace=DataPath('example_android_trace_30s.pb'),
+ query="""
+ CREATE PERFETTO MACRO min(col ColumnName)
+ RETURNS TableOrSubquery AS (
+ SELECT id, $col
+ FROM slice
+ ORDER BY $col ASC
+ LIMIT 1
+ );
+
+ SELECT
+ (SELECT id FROM min!(id)) AS id,
+ (SELECT id FROM min!(dur)) AS numeric,
+ (SELECT id FROM min!(name)) AS string,
+ (SELECT id FROM min!(parent_id)) AS nullable;
+ """,
+ out=Csv("""
+ "id","numeric","string","nullable"
+ 0,3111,460,0
+ """))