blob: b0f9f918ac88d2fa561b3d2b01ef242ecf3e8757 [file] [log] [blame]
# 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_session_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_connection_type_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/nplb/compiler_compliance/compiler_compliance.gyp:cpp14_supported',
'<(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_cpp17_audit == 0', {
'dependencies': [
'<(DEPTH)/starboard/nplb/compiler_compliance/compiler_compliance.gyp:cpp17_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' ],
},
],
}