diff options
author | Anna Mayzner <mayzner@google.com> | 2024-05-08 13:05:23 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-05-08 13:05:23 +0000 |
commit | cffb22e6947cc4db0909d6bf4ca289fb7d786bb0 (patch) | |
tree | d3c8539abba882dff996a2668bdcf70dfdfb1c44 | |
parent | 9e2b06bd107b8a60003d7b3cd83fee30531179b2 (diff) | |
parent | df388cec8533d7a6e3457cf733ca676d497e9874 (diff) | |
download | perfetto-cffb22e6947cc4db0909d6bf4ca289fb7d786bb0.tar.gz |
Merge "tp: Max/Min in CEngine diff tests" into main
-rw-r--r-- | test/trace_processor/diff_tests/syntax/table_tests.py | 54 |
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 + """)) |