| # 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' ], |
| }, |
| ], |
| } |