# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

target(gtest_target_type, "nplb") {
  testonly = true

  sources = [
    "//starboard/common/test_main.cc",
    "//starboard/nplb/sabi/alignment_test.cc",
    "//starboard/nplb/sabi/endianness_test.cc",
    "//starboard/nplb/sabi/signedness_and_size_of_enum_test.cc",
    "//starboard/nplb/sabi/signedness_of_char_test.cc",
    "//starboard/nplb/sabi/size_test.cc",
    "//starboard/nplb/sabi/struct_alignment_test.cc",
    "//starboard/testing/fake_graphics_context_provider.cc",
    "//starboard/testing/fake_graphics_context_provider.h",
    "accessibility_test.cc",
    "align_test.cc",
    "atomic_base_test.cc",
    "atomic_test.cc",
    "audio_sink_create_test.cc",
    "audio_sink_destroy_test.cc",
    "audio_sink_get_max_channels_test.cc",
    "audio_sink_get_min_buffer_size_in_frames_test.cc",
    "audio_sink_get_nearest_supported_sample_frequency_test.cc",
    "audio_sink_helpers.cc",
    "audio_sink_helpers.h",
    "audio_sink_is_audio_frame_storage_type_supported_test.cc",
    "audio_sink_is_audio_sample_type_supported_test.cc",
    "audio_sink_test.cc",
    "blitter_blit_rect_to_rect_test.cc",
    "blitter_blit_rect_to_rect_tiled_test.cc",
    "blitter_blit_rects_to_rects_test.cc",
    "blitter_create_context_test.cc",
    "blitter_create_default_device_test.cc",
    "blitter_create_pixel_data_test.cc",
    "blitter_create_render_target_surface_test.cc",
    "blitter_create_surface_from_pixel_data_test.cc",
    "blitter_create_swap_chain_from_window_test.cc",
    "blitter_destroy_context_test.cc",
    "blitter_destroy_device_test.cc",
    "blitter_destroy_pixel_data_test.cc",
    "blitter_destroy_surface_test.cc",
    "blitter_destroy_swap_chain_test.cc",
    "blitter_download_surface_pixels_test.cc",
    "blitter_fill_rect_test.cc",
    "blitter_flip_swap_chain_test.cc",
    "blitter_flush_context_test.cc",
    "blitter_get_max_contexts_test.cc",
    "blitter_get_pixel_data_pitch_in_bytes_test.cc",
    "blitter_get_pixel_data_pointer_test.cc",
    "blitter_get_render_target_from_surface_test.cc",
    "blitter_get_render_target_from_swap_chain_test.cc",
    "blitter_get_surface_info_test.cc",
    "blitter_helpers.cc",
    "blitter_is_pixel_format_supported_by_download_surface_pixels_test.cc",
    "blitter_is_pixel_format_supported_by_pixel_data_test.cc",
    "blitter_is_pixel_format_supported_by_render_target_surface_test.cc",
    "blitter_set_blending_test.cc",
    "blitter_set_modulate_blits_with_color_test.cc",
    "blitter_set_render_target_test.cc",
    "blitter_set_scissor_test.cc",
    "byte_swap_test.cc",
    "char_is_signed_test.cc",
    "character_is_alphanumeric_test.cc",
    "character_is_digit_test.cc",
    "character_is_hex_digit_test.cc",
    "character_is_space_test.cc",
    "character_is_upper_test.cc",
    "character_to_lower_test.cc",
    "character_to_upper_test.cc",
    "condition_variable_broadcast_test.cc",
    "condition_variable_create_test.cc",
    "condition_variable_destroy_test.cc",
    "condition_variable_signal_test.cc",
    "condition_variable_wait_test.cc",
    "condition_variable_wait_timed_test.cc",
    "configuration_test.cc",
    "cpu_features_get_test.cc",
    "cryptography_create_transformer_test.cc",
    "cryptography_helpers.cc",
    "cryptography_helpers.h",
    "cryptography_transform_gcm_test.cc",
    "cryptography_transform_test.cc",
    "directory_can_open_test.cc",
    "directory_close_test.cc",
    "directory_create_test.cc",
    "directory_get_next_test.cc",
    "directory_open_test.cc",
    "double_absolute_test.cc",
    "double_exponent_test.cc",
    "double_floor_test.cc",
    "double_is_finite_test.cc",
    "double_is_nan_test.cc",
    "drm_create_system_test.cc",
    "drm_get_metrics_test.cc",
    "drm_helpers.cc",
    "drm_helpers.h",
    "drm_is_server_certificate_updatable_test.cc",
    "drm_update_server_certificate_test.cc",
    "egl_test.cc",
    "extern_c_test.cc",
    "file_atomic_replace_test.cc",
    "file_can_open_test.cc",
    "file_close_test.cc",
    "file_delete_recursive_test.cc",
    "file_delete_test.cc",
    "file_get_info_test.cc",
    "file_get_path_info_test.cc",
    "file_helpers.cc",
    "file_mode_string_to_flags_test.cc",
    "file_open_test.cc",
    "file_read_test.cc",
    "file_read_write_all_test.cc",
    "file_seek_test.cc",
    "file_truncate_test.cc",
    "file_write_test.cc",
    "flat_map_test.cc",
    "gles_test.cc",
    "image_test.cc",
    "include_all.c",
    "include_all_too.c",
    "key_test.cc",
    "log_flush_test.cc",
    "log_format_test.cc",
    "log_is_tty_test.cc",
    "log_raw_dump_stack_test.cc",
    "log_raw_test.cc",
    "log_test.cc",

    # TODO: Separate functions tested by media buffer test into multiple
    # files.
    "media_buffer_test.cc",
    "media_can_play_mime_and_key_system_test.cc",
    "media_configuration_test.cc",
    "memory_align_to_page_size_test.cc",
    "memory_allocate_aligned_test.cc",
    "memory_allocate_test.cc",
    "memory_compare_test.cc",
    "memory_copy_test.cc",
    "memory_deallocate_aligned_test.cc",
    "memory_deallocate_test.cc",
    "memory_find_byte_test.cc",
    "memory_get_stack_bounds_test.cc",
    "memory_is_zero_test.cc",
    "memory_map_test.cc",
    "memory_move_test.cc",
    "memory_reallocate_test.cc",
    "memory_reporter_test.cc",
    "memory_set_test.cc",
    "microphone_close_test.cc",
    "microphone_create_test.cc",
    "microphone_destroy_test.cc",
    "microphone_get_available_test.cc",
    "microphone_is_sample_rate_supported_test.cc",
    "microphone_open_test.cc",
    "microphone_read_test.cc",
    "murmurhash2_test.cc",
    "mutex_acquire_test.cc",
    "mutex_acquire_try_test.cc",
    "mutex_create_test.cc",
    "mutex_destroy_test.cc",
    "once_test.cc",
    "optional_test.cc",
    "player_create_test.cc",
    "player_creation_param_helpers.cc",
    "player_creation_param_helpers.h",
    "player_get_preferred_output_mode_test.cc",
    "player_output_mode_supported_test.cc",
    "player_test_util.cc",
    "player_test_util.h",
    "player_write_sample_test.cc",
    "random_helpers.cc",
    "recursive_mutex_test.cc",
    "rwlock_test.cc",
    "semaphore_test.cc",
    "socket_accept_test.cc",
    "socket_bind_test.cc",
    "socket_clear_last_error_test.cc",
    "socket_connect_test.cc",
    "socket_create_test.cc",
    "socket_destroy_test.cc",
    "socket_get_interface_address_test.cc",
    "socket_get_last_error_test.cc",
    "socket_get_local_address_test.cc",
    "socket_helpers.cc",
    "socket_is_connected_and_idle_test.cc",
    "socket_is_connected_test.cc",
    "socket_join_multicast_group_test.cc",
    "socket_listen_test.cc",
    "socket_receive_from_test.cc",
    "socket_resolve_test.cc",
    "socket_send_to_test.cc",
    "socket_set_options_test.cc",
    "socket_waiter_add_test.cc",
    "socket_waiter_create_test.cc",
    "socket_waiter_destroy_test.cc",
    "socket_waiter_remove_test.cc",
    "socket_waiter_wait_test.cc",
    "socket_waiter_wait_timed_test.cc",
    "socket_waiter_wake_up_test.cc",
    "socket_wrapper_test.cc",
    "speech_synthesis_basic_test.cc",
    "state_machine_test.cc",
    "storage_close_record_test.cc",
    "storage_delete_record_test.cc",
    "storage_get_record_size_test.cc",
    "storage_open_record_test.cc",
    "storage_read_record_test.cc",
    "storage_write_record_test.cc",
    "string_compare_all_test.cc",
    "string_compare_no_case_n_test.cc",
    "string_compare_no_case_test.cc",
    "string_compare_test.cc",
    "string_compare_wide_test.cc",
    "string_concat_test.cc",
    "string_concat_wide_test.cc",
    "string_copy_test.cc",
    "string_copy_wide_test.cc",
    "string_duplicate_test.cc",
    "string_find_character_test.cc",
    "string_find_last_character_test.cc",
    "string_find_string_test.cc",
    "string_format_test.cc",
    "string_format_wide_test.cc",
    "string_parse_double_test.cc",
    "string_parse_signed_integer_test.cc",
    "string_parse_uint64_test.cc",
    "string_parse_unsigned_integer_test.cc",
    "string_scan_test.cc",
    "system_binary_search_test.cc",
    "system_clear_last_error_test.cc",
    "system_get_error_string_test.cc",
    "system_get_extension_test.cc",
    "system_get_last_error_test.cc",
    "system_get_locale_id_test.cc",
    "system_get_number_of_processors_test.cc",
    "system_get_path_test.cc",
    "system_get_property_test.cc",
    "system_get_random_data_test.cc",
    "system_get_random_uint64_test.cc",
    "system_get_stack_test.cc",
    "system_get_total_cpu_memory_test.cc",
    "system_get_total_gpu_memory_test.cc",
    "system_get_used_cpu_memory_test.cc",
    "system_get_used_gpu_memory_test.cc",
    "system_has_capability_test.cc",
    "system_hide_splash_screen_test.cc",
    "system_is_debugger_attached_test.cc",
    "system_network_status_test.cc",
    "system_sign_with_certification_secret_key_test.cc",
    "system_sort_test.cc",
    "system_symbolize_test.cc",
    "thread_create_test.cc",
    "thread_detach_test.cc",
    "thread_get_current_test.cc",
    "thread_get_id_test.cc",
    "thread_get_name_test.cc",
    "thread_helpers.cc",
    "thread_is_equal_test.cc",
    "thread_join_test.cc",
    "thread_local_value_test.cc",
    "thread_sampler_test.cc",
    "thread_set_name_test.cc",
    "thread_sleep_test.cc",
    "thread_test.cc",
    "thread_yield_test.cc",
    "time_get_monotonic_now_test.cc",
    "time_get_now_test.cc",
    "time_narrow_test.cc",
    "time_zone_get_current_test.cc",
    "time_zone_get_name_test.cc",
    "ui_navigation_test.cc",
    "undefined_behavior_test.cc",
    "unsafe_math_test.cc",
    "url_player_create_test.cc",
    "user_get_current_test.cc",
    "user_get_property_test.cc",
    "user_get_signed_in_test.cc",
    "window_create_test.cc",
    "window_destroy_test.cc",
    "window_get_diagonal_size_in_inches_test.cc",
    "window_get_platform_handle_test.cc",
    "window_get_size_test.cc",
  ]

  deps = [ "//starboard/nplb/testdata/file_tests:nplb_file_tests_data" ]

  public_deps = [
    "//starboard",
    "//starboard/common",
    "//starboard/shared/starboard/media:media_util",
    "//starboard/shared/starboard/player:player_download_test_data",
    "//starboard/shared/starboard/player:video_dmp",
    "//testing/gmock",
  ]

  if (gl_type != "none") {
    public_deps += [ "//starboard/egl_and_gles" ]
  }

  configs += [
    "//build/config/compiler:exceptions",
    "//starboard/build/config:starboard_implementation",
  ]
  configs -= [ "//build/config/compiler:no_exceptions" ]
}
