# 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
sde_tracing_mark_write.textproto slice_with_pid.sql slice_with_pid_sde_tracing_mark_write.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
oom_kill.textproto oom_kill.sql oom_kill.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
rss_stat_after_free.py rss_stat_after_free.sql rss_stat_after_free.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
ion_stat.textproto ion_stat.sql ion_stat.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
../data/example_android_trace_30s.pb counter_dur.sql counter_dur_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

profiler_smaps.textproto profiler_smaps.sql profiler_smaps.out

heap_graph_baseapk.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out
heap_graph_baseapk.textproto heap_graph_object.sql heap_graph_object.out
heap_graph_baseapk.textproto heap_graph_reference.sql heap_graph_reference.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_two_locations.textproto heap_graph_object.sql heap_graph_two_locations.out
# TODO(b/153552977): Stop supporting legacy heap graphs. These never made
#                    it into a public release, so we should eventually stop
#                    supporting workarounds for them.
heap_graph_legacy.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out
heap_graph_legacy.textproto heap_graph_object.sql heap_graph_object.out
heap_graph_legacy.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
heap_graph_branching.textproto heap_graph_flamegraph_focused.sql heap_graph_flamegraph_focused.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_with_atrace.textproto track_event_slices.sql track_event_with_atrace.out
track_event_merged_debug_annotations.textproto track_event_args.sql track_event_merged_debug_annotations_args.out
track_event_counters.textproto track_event_slices.sql track_event_counters_slices.out
track_event_counters.textproto track_event_counters.sql track_event_counters_counters.out

# Parsing systrace files
../data/systrace.html systrace_html.sql systrace_html.out
../data/trailing_empty.systrace sched_smoke.sql sched_smoke_trailing_empty.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

# Thread time_in_state
thread_time_in_state.textproto thread_time_in_state.sql thread_time_in_state.out
