# Smoke tests
../data/sfgate.json smoke.sql sfgate_smoke.out
../data/sfgate.json smoke_slices.sql sfgate_smoke_slices.out
../data/android_sched_and_ps.pb smoke.sql android_sched_and_ps_smoke.out
../data/compressed.pb smoke.sql compressed_smoke.out
synth_1.py smoke.sql synth_1_smoke.out
../data/fuchsia_trace.fxt smoke.sql fuchsia_smoke.out
../data/fuchsia_trace.fxt smoke_slices.sql fuchsia_smoke_slices.out
../data/fuchsia_trace.fxt smoke_instants.sql fuchsia_smoke_instants.out
../data/fuchsia_trace.fxt smoke_counters.sql fuchsia_smoke_counters.out
../data/fuchsia_workstation.fxt smoke_slices.sql fuchsia_workstation_smoke_slices.out

# Test for the process<>thread tracking logic.
synth_process_tracking.py process_tracking.sql process_tracking.out
synth_process_tracking.py process_tracking_uid.sql process_tracking_uid.out
process_tracking_short_lived_1.py process_tracking.sql process_tracking_process_tracking_short_lived_1.out
process_tracking_short_lived_2.py process_tracking.sql process_tracking_process_tracking_short_lived_2.out
process_tracking_exec.py process_tracking.sql process_tracking_process_tracking_exec.out
process_parent_pid_tracking_1.py process_parent_pid.sql process_parent_pid_process_parent_pid_tracking_1.out
process_parent_pid_tracking_2.py process_parent_pid.sql process_parent_pid_process_parent_pid_tracking_2.out
reused_thread_print.py process_tracking.sql process_tracking_reused_thread_print.out

# Test for computing CPU time from sched events for threads.
../data/example_android_trace_30s.pb thread_cpu_time.sql thread_cpu_time_example_android_trace_30s.out


# The below tests check the storage backed tables in the trace processor.
# Sched
../data/android_sched_and_ps.pb ts_desc_filter.sql ts_desc_filter_android_sched_and_ps.out

# Sched reason
../data/android_sched_and_ps.pb end_reason_eq.sql android_sched_and_ps_end_reason_eq.out
../data/android_sched_and_ps.pb end_reason_neq.sql android_sched_and_ps_end_reason_neq.out

# Sched wakeup
../data/android_sched_and_ps.pb sched_wakeup.sql sched_wakeup_android_sched_and_ps.out

# CPU Frequency
../data/cpu_counters.pb b120487929.sql cpu_counters_b120487929.out

# Logcat
../data/android_log.pb android_log_counts.sql android_log_counts.out
../data/android_log.pb android_log_msgs.sql android_log_msgs.out
../data/android_log_ring_buffer_mode.pb android_log_ring_buffer_mode.sql android_log_ring_buffer_mode.out

# Mm Event
../data/mm_event.pb mm_event.sql mm_event.out

# Oom Score
synth_oom.py oom_query.sql synth_oom_oom_query.out
../data/process_stats_poll.pb oom_score_poll.sql process_stats_poll_oom_score.out

# LMK handling
kernel_lmk.py lmk.sql lmk_kernel_lmk.out
../data/lmk_userspace.pb lmk.sql lmk_userspace_lmk.out

# Rss stats
rss_stat_mm_id.py rss_stat.sql rss_stat_mm_id.out
rss_stat_mm_id_clone.py rss_stat.sql rss_stat_mm_id_clone.out
rss_stat_mm_id_reuse.py rss_stat.sql rss_stat_mm_id_reuse.out
rss_stat_legacy.py rss_stat.sql rss_stat_legacy.out

# Memory counters
../data/memory_counters.pb args_string_filter_null.sql memory_counters_args_string_filter_null.out
../data/memory_counters.pb args_string_is_null.sql memory_counters_args_string_is_null.out
../data/memory_counters.pb args_string_is_not_null.sql memory_counters_args_string_is_not_null.out
../data/memory_counters.pb b120605557.sql memory_counters_b120605557.out
../data/memory_counters.pb global_memory_counter.sql global_memory_counter_memory_counters.out

# Stats
../data/android_sched_and_ps.pb stats.sql android_sched_and_ps_stats.out

# Syscalls
syscall.py sys.sql sys_syscall.out

# Power rails
../data/power_rails.pb power_rails.sql power_rails_power_rails.out
power_rails_custom_clock.textproto power_rails_event.sql power_rails_event_power_rails_custom_clock.out
power_rails.textproto power_rails_timestamp_sort.sql power_rails_timestamp_sort.out


# Android userspace async slices
android_async_slice.textproto process_track_slices.sql process_track_slices_android_async_slice.out


# The below tests check the autogenerated tables.
# Span join
../data/android_sched_and_ps.pb slice_span_join_b118665515.sql android_sched_and_ps_slice_span_join_b118665515.out
synth_1.py span_join_unordered_cols.sql span_join_unordered_cols_synth_1.out
synth_1.py span_join_unordered_cols_reverse.sql span_join_unordered_cols_synth_1.out
../data/android_sched_and_ps.pb span_left_join.sql span_left_join.out
../data/android_sched_and_ps.pb span_left_join_unpartitioned.sql span_left_join_unpartitioned.out
../data/android_sched_and_ps.pb span_left_join_left_unpartitioned.sql span_left_join_left_unpartitioned.out
../data/android_sched_and_ps.pb span_left_join_left_partitioned.sql span_left_join_left_partitioned.out
../data/android_sched_and_ps.pb span_outer_join.sql span_outer_join.out
../data/android_sched_and_ps.pb span_left_join_empty_right.sql span_left_join_empty_right.out
../data/android_sched_and_ps.pb span_join_zero_negative_dur.sql span_join_zero_negative_dur.out
../data/android_sched_and_ps.pb span_outer_join_empty.sql span_outer_join_empty_android_sched_and_ps.out
../data/android_sched_and_ps.pb span_left_join_unordered.sql span_left_join_unordered_android_sched_and_ps.out
../data/android_sched_and_ps.pb span_join_unpartitioned_empty.sql span_join_unpartitioned_empty.out

# Window table
../data/android_sched_and_ps.pb smoke_window.sql android_sched_and_ps_smoke_window.out


# The below tests check the lower level layers of the trace processor (i.e.
# fitering and printing code).
# Sched table
synth_1.py filter_sched.sql synth_1_filter_sched.out
../data/android_sched_and_ps.pb b119496959.sql android_sched_and_ps_b119496959.out
../data/android_sched_and_ps.pb b119301023.sql android_sched_and_ps_b119301023.out

# Counters table
synth_1.py filter_counter.sql synth_1_filter_counter.out
../data/memory_counters.pb b120278869_neg_ts_end.sql memory_counters_b120278869_neg_ts_end.out
counters_where_cpu.py counters_where_cpu.sql counters_where_cpu_counters_where_cpu.out
counters_group_by_freq.py counters_group_by_freq.sql counters_group_by_freq_counters_group_by_freq.out
../data/example_android_trace_30s.pb filter_row_vector.sql filter_row_vector_example_android_trace_30s.out

# Null printing
synth_1.py nulls.sql nulls.out


# The below tests check the systrace conversion code in the raw table.
# Print events
../data/lmk_userspace.pb print_systrace.sql print_systrace_lmk_userspace.out
# Unsigned integers
print_systrace_unsigned.py print_systrace.sql print_systrace_unsigned.out

# GPU trace tests.
gpu_counters.py gpu_counters.sql gpu_counters.out
gpu_render_stages.py gpu_render_stages.sql gpu_render_stages.out
vulkan_api_events.py vulkan_api_events.sql vulkan_api_events.out
gpu_log.py gpu_log.sql gpu_log.out

# Clock sync
clock_sync.py clock_sync.sql clock_sync.out

# Graphics frame event trace tests.
graphics_frame_events.py graphics_frame_events.sql graphics_frame_events.out

# Scheduling slices from sched_switch events. There are two tests, one for the
# typical encoding of sched_switch events, and one for the same trace
# re-encoded in the compact format. The output should be identical apart from
# the latter having one slice fewer for each cpu (the first compact
# sched_switch event doesn't start a slice). Six slices in this case.
../data/sched_switch_original.pb sched_slices.sql sched_slices_sched_switch_original.out
../data/sched_switch_compact.pb sched_slices.sql sched_slices_sched_switch_compact.out

heap_profile_jit.textproto heap_profile_frames.sql heap_profile_jit.out

heap_graph.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out
heap_graph.textproto heap_graph_object.sql heap_graph_object.out
heap_graph.textproto heap_graph_reference.sql heap_graph_reference.out
heap_graph_interleaved.textproto heap_graph_object.sql heap_graph_interleaved_object.out
heap_graph_interleaved.textproto heap_graph_reference.sql heap_graph_interleaved_reference.out
../data/system-server-heap-graph.pftrace heap_graph_flamegraph.sql heap_graph_flamegraph_system-server-heap-graph.out
../data/system-server-native-profile heap_profile_flamegraph.sql heap_profile_flamegraph_system-server-native-profile.out
heap_profile_tracker_new_stack.textproto heap_profile_tracker_new_stack.sql heap_profile_tracker_new_stack.out

stack_profile_tracker_empty_callstack.textproto stack_profile_tracker_empty_callstack.sql stack_profile_tracker_empty_callstack.out

# TrackEvent tests.
track_event_same_tids.textproto process_tracking.sql track_event_same_tids_threads.out
track_event_same_tids.textproto track_event_slices.sql track_event_same_tids_slices.out
track_event_typed_args.textproto track_event_slices.sql track_event_typed_args_slices.out
track_event_typed_args.textproto track_event_args.sql track_event_typed_args_args.out
track_event_tracks.textproto track_event_slices.sql track_event_tracks_slices.out
track_event_merged_debug_annotations.textproto track_event_args.sql track_event_merged_debug_annotations_args.out

# Parsing of an html file with systrace data inside
../data/systrace.html systrace_html.sql systrace_html.out

# Config & metadata
config_metadata.textproto metadata.sql config_metadata.out
trigger_packet_trace.textproto triggers_packets.sql triggers_packets_trigger_packet_trace.out

# Decoding of sched_waking events from a trace with compact scheduling events.
# Verifies the contents of raw & instants tables.
../data/compact_sched.pb sched_waking_raw.sql sched_waking_raw_compact_sched.out
../data/compact_sched.pb sched_waking_instants.sql sched_waking_instants_compact_sched.out

# Ensures process -> package matching works as expected.
process_metadata_matching.textproto process_metadata_matching.sql process_metadata_matching.out

# Trace size
../data/android_sched_and_ps.pb trace_size.sql android_sched_and_ps_trace_size.out
