# Copyright 2015 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.

# NPLB is "No Platform Left Behind," the certification test suite for Starboard
# implementations.

{
  'targets': [
    {
      'msvs_disabled_warnings': [4100, 4189, 4456],
      'target_name': 'nplb',
      'type': '<(gtest_target_type)',
      # Enable exceptions to test nothrow delete operator.
      'cflags_cc!': ['-fno-exceptions' ],
      'cflags_cc': ['-fexceptions' ],
      'msvs_settings': {
          'VCCLCompilerTool': {
              'AdditionalOptions': [
                  '/EHsc',  # C++ exceptions
              ],
          },
      },
      'defines': [
        # This allows the tests to include internal only header files.
        'STARBOARD_IMPLEMENTATION',
      ],
      'sources': [
        '<(DEPTH)/starboard/common/test_main.cc',
        '<(DEPTH)/starboard/testing/fake_graphics_context_provider.cc',
        '<(DEPTH)/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_test.cc',
        'cryptography_transform_gcm_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',
        'murmurhash2_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',
        '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_sort_test.cc',
        'system_sign_with_certification_secret_key_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',
        '<@(sabi_sources)',
        # Include private c headers, if present.
        '<!@pymod_do_main(starboard.build.gyp_functions file_glob <(DEPTH)/starboard/private/nplb/ include_all_private.c)',
        # Include private tests, if present.
        '<!@pymod_do_main(starboard.build.gyp_functions file_glob <(DEPTH)/starboard/private/nplb/ *_test.cc)',
      ],
      'dependencies': [
        '<@(cobalt_platform_dependencies)',
        '<(DEPTH)/starboard/common/common.gyp:common',
        '<(DEPTH)/starboard/shared/starboard/media/media.gyp:media_util',
        '<(DEPTH)/starboard/shared/starboard/player/player.gyp:player_copy_test_data',
        '<(DEPTH)/starboard/shared/starboard/player/player.gyp:video_dmp',
        '<(DEPTH)/starboard/starboard.gyp:starboard',
        '<(DEPTH)/testing/gmock.gyp:gmock',
        '<(DEPTH)/testing/gtest.gyp:gtest',
        'copy_nplb_file_tests_data',
      ],
      'conditions': [
        ['sb_evergreen != 1', {
          'sources': [
            # Segfaults or causes unresolved symbols for Cobalt Evergreen.
            'media_set_audio_write_duration_test.cc',
          ],
        }],
        ['sb_disable_cpp14_audit == 0', {
          'dependencies': [
            '<(DEPTH)/starboard/nplb/compiler_compliance/compiler_compliance.gyp:cpp14_supported',
          ],
        }],
        ['gl_type != "none"', {
          'dependencies': [
             # This is needed because SbPlayerTest depends on
             # FakeGraphicsContextProvider which depends on EGL and GLES.
            '<(DEPTH)/starboard/egl_and_gles/egl_and_gles.gyp:egl_and_gles',
          ],
        }],
      ],
      'includes': [ '<(DEPTH)/starboard/nplb/sabi/sabi.gypi' ],
    },
    {
      'target_name': 'copy_nplb_file_tests_data',
      'type': 'none',
      'variables': {
        'content_test_input_files': [
          '<(DEPTH)/starboard/nplb/testdata/file_tests/dir_with_files',
          '<(DEPTH)/starboard/nplb/testdata/file_tests/dir_with_only_subdir',
          '<(DEPTH)/starboard/nplb/testdata/file_tests/file01',
          '<(DEPTH)/starboard/nplb/testdata/file_tests/file_with_long_name_and_contents_for_seek_testing_1234567890',
        ],
        'content_test_output_subdir': 'starboard/nplb/file_tests',
      },
      'includes': [ '<(DEPTH)/starboard/build/copy_test_data.gypi' ],
    },
    {
      'target_name': 'nplb_deploy',
      'type': 'none',
      'dependencies': [
        'nplb',
      ],
      'variables': {
        'executable_name': 'nplb',
      },
      'includes': [ '<(DEPTH)/starboard/build/deploy.gypi' ],
    },
  ],
}
