# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. DEPTH = @DEPTH@ topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ relativesrcdir = @relativesrcdir@ include $(DEPTH)/config/autoconf.mk # Media tests should be backend independent, i.e., not conditioned on # MOZ_OGG, MOZ_WAVE etc. (The only exception is the can_play_type tests, # which necessarily depend on the backend(s) configured.) As far as possible, # each test should work with any resource type. This makes it # easy to add new backends and reduces the amount of test duplication. # For each supported backend, resources that can be played by that backend # should be added to the lists in manifest.js. Media tests that aren't # testing for a bug in handling a specific resource type should pick one of # the lists in manifest.js and run the test for each resource in the list # that is supported in the current build (the canPlayType API is useful # for this). # To test whether a valid resource can simply be played through correctly, # and optionally that its metadata is read correctly, just # add it to gPlayTests in manifest.js. To test whether an invalid # resource correctly throws an error (and does not cause a crash or hang), # just add it to gErrorTests in manifest.js. # To test for a specific bug in handling a specific resource type, # make the test first check canPlayType for the type, and if it's not # supported, just do ok(true, "Type not supported") and stop the test. MOCHITEST_FILES = \ allowed.sjs \ can_play_type_ogg.js \ can_play_type_wave.js \ can_play_type_webm.js \ can_play_type_dash.js \ can_play_type_mpeg.js \ cancellable_request.sjs \ dynamic_redirect.sjs \ dynamic_resource.sjs \ file_access_controls.html \ fragment_play.js \ fragment_noplay.js \ manifest.js \ reactivate_helper.html \ redirect.sjs \ referer.sjs \ seek1.js \ seek2.js \ seek3.js \ seek4.js \ seek5.js \ seek6.js \ seek7.js \ seek8.js \ seek9.js \ seek10.js \ seek11.js \ seek12.js \ seek13.js \ seekLies.sjs \ test_access_control.html \ test_audio1.html \ test_audio2.html \ test_autoplay.html \ test_bug465498.html \ test_bug493187.html \ test_bug495145.html \ test_bug495300.html \ test_bug686942.html \ test_can_play_type.html \ test_can_play_type_mpeg.html \ test_closing_connections.html \ test_constants.html \ test_controls.html \ test_currentTime.html \ test_decode_error.html \ test_defaultMuted.html \ test_delay_load.html \ test_error_on_404.html \ test_info_leak.html \ test_invalid_reject.html \ test_load.html \ test_load_candidates.html \ test_load_same_resource.html \ test_load_source.html \ test_loop.html \ test_metadata.html \ test_mozLoadFrom.html \ test_no_load_event.html \ test_networkState.html \ test_new_audio.html \ test_paused.html \ test_paused_after_ended.html \ test_play_events.html \ test_play_events_2.html \ $(filter disabled-temporarily--bug-751539, test_played.html) \ test_playback_errors.html \ test_seekable1.html \ test_preload_actions.html \ test_preload_attribute.html \ test_progress.html \ test_reactivate.html \ test_readyState.html \ test_replay_metadata.html \ test_seek.html \ test_seek2.html \ test_seek_out_of_range.html \ test_source.html \ test_source_write.html \ test_source_null.html \ test_standalone.html \ test_too_many_elements.html \ test_volume.html \ test_video_to_canvas.html \ use_large_cache.js \ test_audiowrite.html \ test_mozHasAudio.html \ test_source_media.html \ test_autoplay_contentEditable.html \ test_buffered.html \ test_bug448534.html \ test_bug463162.xhtml \ test_decoder_disable.html \ test_media_selection.html \ test_playback.html \ test_seekLies.html \ test_media_sniffer.html \ contentType.sjs \ test_streams_srcObject.html \ test_reset_src.html \ test_streams_gc.html \ $(filter disabled-for-intermittent-failures--bug-608634, test_error_in_video_document.html) \ $(NULL) # Disabled on Windows for frequent intermittent failures ifneq ($(OS_ARCH), WINNT) MOCHITEST_FILES += \ test_streams_element_capture.html \ test_streams_element_capture_reset.html \ test_streams_element_capture_createObjectURL.html \ test_timeupdate_small_files.html \ $(NULL) else $(filter disabled-on-windows-for-timeouts--bug-752796, test_streams_element_capture.html) $(filter disabled-on-windows-for-timeouts--bug-752796, test_streams_element_capture_reset.html) $(filter disabled-on-windows-for-timeouts--bug-786539, test_timeupdate_small_files.html) endif ifneq ($(MOZ_WIDGET_TOOLKIT),gtk2) MOCHITEST_FILES += \ test_playback_rate.html \ $(NULL) else $(filter disabled-temporarily--bug-814533, test_playback_rate.html) endif # Don't run in suite ifndef MOZ_SUITE MOCHITEST_FILES += test_play_twice.html else $(filter disabled-pending-investigation--bug-598252, test_play_twice.html) endif # These tests are disabled until we figure out random failures. # When these tests are fixed, we should also make them backend-independent. # test_resume.html \ # Bug 492821: # test_videoDocumentTitle.html # Bug 493692: # test_preload_suspend.html # Bug 567954 and Bug 574586: # test_mixed_principals.html # Disabled since we don't play Wave files standalone, for now # test_audioDocumentTitle.html # sample files MOCHITEST_FILES += \ 320x240.ogv \ 448636.ogv \ audio-overhang.ogg \ audio-gaps.ogg \ badtags.ogg \ beta-phrasebook.ogg \ bogus.ogv \ bug495129.ogv \ bug495794.ogg \ bug461281.ogg \ bug482461.ogv \ bug482461-theora.ogv \ bug498380.ogv \ bug498855-1.ogv \ bug498855-2.ogv \ bug498855-3.ogv \ bug499519.ogv \ bug500311.ogv \ bug500311.ogv^headers^ \ bug501279.ogg \ bug504613.ogv \ bug504644.ogv \ bug504843.ogv \ bug506094.ogv \ bug516323.ogv \ bug516323.indexed.ogv \ bug520493.ogg \ bug520500.ogg \ bug520908.ogv \ bug520908.ogv^headers^ \ bug523816.ogv \ bug533822.ogg \ bug557094.ogv \ bug556821.ogv \ bug580982.webm \ bug603918.webm \ bug604067.webm \ chain.ogv \ chain.ogg \ chain.opus \ variable-samplerate.ogg \ variable-samplerate.opus \ variable-channel.ogg \ variable-channel.opus \ chained-video.ogv \ chained-audio-video.ogg \ variable-preskip.opus \ dirac.ogg \ multiple-bos.ogg \ owl.mp3 \ split.webm \ seek.ogv \ seek.webm \ seek.yuv \ short-video.ogv \ small-shot.ogg \ small-shot.m4a \ small-shot.mp3 \ sound.ogg \ spacestorm-1000Hz-100ms.ogg \ video-overhang.ogg \ file_a4_tone.ogg \ detodos.opus \ notags.mp3 \ id3tags.mp3 \ $(NULL) # Wave sample files MOCHITEST_FILES += \ big.wav \ bogus.wav \ r11025_msadpcm_c1.wav \ r11025_s16_c1.wav \ r11025_s16_c1_trailing.wav \ r11025_u8_c1.wav \ r11025_u8_c1_trunc.wav \ r16000_u8_c1_list.wav \ wavedata_u8.wav \ wavedata_s16.wav \ wave_metadata_bad_len.wav \ wave_metadata_bad_no_null.wav \ wave_metadata_bad_utf8.wav \ wave_metadata_unknown_tag.wav \ wave_metadata_utf8.wav \ wave_metadata.wav \ audio.wav \ $(NULL) # Media plugin sample files MOCHITEST_FILES += \ gizmo.mp4 \ $(NULL) # Other files MOCHITEST_FILES += \ bogus.duh \ invalid-m0c0.opus \ invalid-m0c3.opus \ invalid-m1c0.opus \ invalid-m1c9.opus \ invalid-m2c0.opus \ invalid-m2c1.opus \ invalid-cmap-short.opus \ invalid-cmap-s0c0.opus \ invalid-cmap-s0c2.opus \ invalid-cmap-s1c2.opus \ $(NULL) # These tests contain backend-specific tests. Try to write backend # independent tests rather than adding to this list. ifdef MOZ_OGG MOCHITEST_FILES += \ test_can_play_type_ogg.html \ noContentLength.sjs \ test_seekable3.html \ test_a4_tone.html \ file_audio_event_adopt_iframe.html \ test_audio_event_adopt.html \ test_referer.html \ test_bug726904.html \ $(NULL) # Bug 759221 MOCHITEST_FILES += \ test_bug686137.html \ test_contentDuration1.html \ test_contentDuration2.html \ test_contentDuration3.html \ test_contentDuration4.html \ test_contentDuration5.html \ test_contentDuration6.html \ test_contentDuration7.html \ contentDuration1.sjs \ contentDuration2.sjs \ contentDuration3.sjs \ contentDuration4.sjs \ contentDuration5.sjs \ contentDuration6.sjs \ contentDuration7.sjs \ test_framebuffer.html \ test_seekable2.html \ test_chaining.html \ $(NULL) else MOCHITEST_FILES += \ test_can_play_type_no_ogg.html \ $(NULL) endif ifdef MOZ_WEBM MOCHITEST_FILES += \ test_can_play_type_webm.html \ $(NULL) else MOCHITEST_FILES += \ test_can_play_type_no_webm.html \ $(NULL) endif ifdef MOZ_DASH MOCHITEST_FILES += \ test_can_play_type_dash.html \ dash/dash-manifest.mpd \ dash/dash-manifest-sjs.mpd \ test_dash_detect_stream_switch.html \ dash_detect_stream_switch.sjs \ dash/dash-webm-video-320x180.webm \ dash/dash-webm-video-428x240.webm \ dash/dash-webm-audio-128k.webm \ dash/dash-manifest-garbled.mpd \ dash/dash-manifest-garbled-webm.mpd \ dash/garbled.webm \ $(NULL) else MOCHITEST_FILES += \ test_can_play_type_no_dash.html \ $(NULL) endif ifdef MOZ_WAVE MOCHITEST_FILES += \ test_can_play_type_wave.html \ $(NULL) # Bug 759221 MOCHITEST_FILES += \ test_fragment_play.html \ test_fragment_noplay.html \ test_wave_data_u8.html \ test_wave_data_s16.html \ $(NULL) else MOCHITEST_FILES += \ test_can_play_type_no_wave.html \ $(NULL) endif include $(topsrcdir)/config/rules.mk