# 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
../data/android_sched_and_ps.pb end_reason_match.sql android_sched_and_ps_end_reason_match.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

# 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_rail_custom_clock.textproto power_rail_event.sql power_rail_event_power_rail_custom_clock.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

# 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
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_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

# 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

# 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

# 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
