From 51f0851bc2b9a87e90ff4c83900d359fec6040e4 Mon Sep 17 00:00:00 2001 From: Syd Polk Date: Thu, 21 Jan 2016 23:00:59 -0600 Subject: [PATCH] Bug 1240120 - Move external-media-tests to subdirectory to generate correct packaging; r=maja_zf,whimboo --HG-- rename : dom/media/test/external-media-tests/MANIFEST.in => dom/media/test/external/MANIFEST.in rename : dom/media/test/external-media-tests/README.md => dom/media/test/external/README.md rename : dom/media/test/external-media-tests/harness/__init__.py => dom/media/test/external/external_media_harness/__init__.py rename : dom/media/test/external-media-tests/harness/runtests.py => dom/media/test/external/external_media_harness/runtests.py rename : dom/media/test/external-media-tests/harness/testcase.py => dom/media/test/external/external_media_harness/testcase.py rename : dom/media/test/external-media-tests/media_tests/__init__.py => dom/media/test/external/external_media_tests/__init__.py rename : dom/media/test/external-media-tests/media_tests/manifest.ini => dom/media/test/external/external_media_tests/manifest.ini rename : dom/media/test/external-media-tests/media_utils/__init__.py => dom/media/test/external/external_media_tests/media_utils/__init__.py rename : dom/media/test/external-media-tests/media_utils/video_puppeteer.py => dom/media/test/external/external_media_tests/media_utils/video_puppeteer.py rename : dom/media/test/external-media-tests/media_utils/youtube_puppeteer.py => dom/media/test/external/external_media_tests/media_utils/youtube_puppeteer.py rename : dom/media/test/external-media-tests/media_tests/playback/eme.ini => dom/media/test/external/external_media_tests/playback/eme.ini rename : dom/media/test/external-media-tests/media_tests/playback/limiting_bandwidth.ini => dom/media/test/external/external_media_tests/playback/limiting_bandwidth.ini rename : dom/media/test/external-media-tests/media_tests/playback/manifest.ini => dom/media/test/external/external_media_tests/playback/manifest.ini rename : dom/media/test/external-media-tests/media_tests/playback/netflix_limiting_bandwidth.ini => dom/media/test/external/external_media_tests/playback/netflix_limiting_bandwidth.ini rename : dom/media/test/external-media-tests/media_tests/playback/test_eme_playback.py => dom/media/test/external/external_media_tests/playback/test_eme_playback.py rename : dom/media/test/external-media-tests/media_tests/playback/test_full_playback.py => dom/media/test/external/external_media_tests/playback/test_full_playback.py rename : dom/media/test/external-media-tests/media_tests/playback/test_playback_limiting_bandwidth.py => dom/media/test/external/external_media_tests/playback/test_playback_limiting_bandwidth.py rename : dom/media/test/external-media-tests/media_tests/playback/test_ultra_low_bandwidth.py => dom/media/test/external/external_media_tests/playback/test_ultra_low_bandwidth.py rename : dom/media/test/external-media-tests/media_tests/playback/test_video_playback.py => dom/media/test/external/external_media_tests/playback/test_video_playback.py rename : dom/media/test/external-media-tests/media_tests/playback/youtube/manifest.ini => dom/media/test/external/external_media_tests/playback/youtube/manifest.ini rename : dom/media/test/external-media-tests/media_tests/playback/youtube/test_basic_playback.py => dom/media/test/external/external_media_tests/playback/youtube/test_basic_playback.py rename : dom/media/test/external-media-tests/media_tests/playback/youtube/test_prefs.py => dom/media/test/external/external_media_tests/playback/youtube/test_prefs.py rename : dom/media/test/external-media-tests/media_tests/resources/mozilla.html => dom/media/test/external/external_media_tests/resources/mozilla.html rename : dom/media/test/external-media-tests/media_tests/test_example.py => dom/media/test/external/external_media_tests/test_example.py rename : dom/media/test/external-media-tests/media_tests/urls/default.ini => dom/media/test/external/external_media_tests/urls/default.ini rename : dom/media/test/external-media-tests/media_tests/urls/netflix/default.ini => dom/media/test/external/external_media_tests/urls/netflix/default.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/archive/crash_videos.ini => dom/media/test/external/external_media_tests/urls/youtube/archive/crash_videos.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/archive/other_videos.ini => dom/media/test/external/external_media_tests/urls/youtube/archive/other_videos.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/archive/video_data.ini => dom/media/test/external/external_media_tests/urls/youtube/archive/video_data.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/archive/youtube.ini => dom/media/test/external/external_media_tests/urls/youtube/archive/youtube.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/long1-720.ini => dom/media/test/external/external_media_tests/urls/youtube/long1-720.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/long2-720.ini => dom/media/test/external/external_media_tests/urls/youtube/long2-720.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/long3-crashes-720.ini => dom/media/test/external/external_media_tests/urls/youtube/long3-crashes-720.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/long4-crashes-900.ini => dom/media/test/external/external_media_tests/urls/youtube/long4-crashes-900.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/massive-6000.ini => dom/media/test/external/external_media_tests/urls/youtube/massive-6000.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/medium1-60.ini => dom/media/test/external/external_media_tests/urls/youtube/medium1-60.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/medium2-60.ini => dom/media/test/external/external_media_tests/urls/youtube/medium2-60.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/medium3-120.ini => dom/media/test/external/external_media_tests/urls/youtube/medium3-120.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/short0-10.ini => dom/media/test/external/external_media_tests/urls/youtube/short0-10.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/short1-15.ini => dom/media/test/external/external_media_tests/urls/youtube/short1-15.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/short2-15.ini => dom/media/test/external/external_media_tests/urls/youtube/short2-15.ini rename : dom/media/test/external-media-tests/media_tests/urls/youtube/short3-crashes-15.ini => dom/media/test/external/external_media_tests/urls/youtube/short3-crashes-15.ini rename : dom/media/test/external-media-tests/media_tests/utils.py => dom/media/test/external/external_media_tests/utils.py rename : dom/media/test/external-media-tests/requirements.txt => dom/media/test/external/requirements.txt rename : dom/media/test/external-media-tests/setup.py => dom/media/test/external/setup.py extra : rebase_source : a17808ecf767f02f60e1618ce71e9928092b9980 --- .../test/external-media-tests/MANIFEST.in | 7 ----- dom/media/test/external/MANIFEST.in | 5 ++++ .../README.md | 30 +++++++++---------- .../external_media_harness}/__init__.py | 0 .../external_media_harness}/runtests.py | 14 ++++----- .../external_media_harness}/testcase.py | 4 +-- .../external_media_tests}/__init__.py | 0 .../external_media_tests}/manifest.ini | 0 .../media_utils/__init__.py | 0 .../media_utils/video_puppeteer.py | 2 +- .../media_utils/youtube_puppeteer.py | 2 +- .../external_media_tests}/playback/eme.ini | 0 .../playback/limiting_bandwidth.ini | 0 .../playback/manifest.ini | 0 .../playback/netflix_limiting_bandwidth.ini | 0 .../playback/test_eme_playback.py | 2 +- .../playback/test_full_playback.py | 4 +-- .../test_playback_limiting_bandwidth.py | 2 +- .../playback/test_ultra_low_bandwidth.py | 2 +- .../playback/test_video_playback.py | 2 +- .../playback/youtube/manifest.ini | 0 .../playback/youtube/test_basic_playback.py | 8 ++--- .../playback/youtube/test_prefs.py | 6 ++-- .../resources/mozilla.html | 0 .../external_media_tests}/test_example.py | 2 +- .../external_media_tests}/urls/default.ini | 0 .../urls/netflix/default.ini | 0 .../urls/youtube/archive/crash_videos.ini | 0 .../urls/youtube/archive/other_videos.ini | 0 .../urls/youtube/archive/video_data.ini | 0 .../urls/youtube/archive/youtube.ini | 0 .../urls/youtube/long1-720.ini | 0 .../urls/youtube/long2-720.ini | 0 .../urls/youtube/long3-crashes-720.ini | 0 .../urls/youtube/long4-crashes-900.ini | 0 .../urls/youtube/massive-6000.ini | 0 .../urls/youtube/medium1-60.ini | 0 .../urls/youtube/medium2-60.ini | 0 .../urls/youtube/medium3-120.ini | 0 .../urls/youtube/short0-10.ini | 0 .../urls/youtube/short1-15.ini | 0 .../urls/youtube/short2-15.ini | 0 .../urls/youtube/short3-crashes-15.ini | 0 .../external_media_tests}/utils.py | 0 .../requirements.txt | 0 .../setup.py | 8 ++--- .../mozbuild/mozbuild/action/test_archive.py | 5 ++-- 47 files changed, 52 insertions(+), 53 deletions(-) delete mode 100644 dom/media/test/external-media-tests/MANIFEST.in create mode 100644 dom/media/test/external/MANIFEST.in rename dom/media/test/{external-media-tests => external}/README.md (73%) rename dom/media/test/{external-media-tests/harness => external/external_media_harness}/__init__.py (100%) rename dom/media/test/{external-media-tests/harness => external/external_media_harness}/runtests.py (90%) rename dom/media/test/{external-media-tests/harness => external/external_media_harness}/testcase.py (96%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/__init__.py (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/manifest.ini (100%) rename dom/media/test/{external-media-tests => external/external_media_tests}/media_utils/__init__.py (100%) rename dom/media/test/{external-media-tests => external/external_media_tests}/media_utils/video_puppeteer.py (99%) rename dom/media/test/{external-media-tests => external/external_media_tests}/media_utils/youtube_puppeteer.py (99%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/eme.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/limiting_bandwidth.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/manifest.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/netflix_limiting_bandwidth.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/test_eme_playback.py (94%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/test_full_playback.py (86%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/test_playback_limiting_bandwidth.py (91%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/test_ultra_low_bandwidth.py (88%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/test_video_playback.py (89%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/youtube/manifest.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/youtube/test_basic_playback.py (91%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/playback/youtube/test_prefs.py (90%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/resources/mozilla.html (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/test_example.py (89%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/default.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/netflix/default.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/archive/crash_videos.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/archive/other_videos.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/archive/video_data.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/archive/youtube.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/long1-720.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/long2-720.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/long3-crashes-720.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/long4-crashes-900.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/massive-6000.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/medium1-60.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/medium2-60.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/medium3-120.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/short0-10.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/short1-15.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/short2-15.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/urls/youtube/short3-crashes-15.ini (100%) rename dom/media/test/{external-media-tests/media_tests => external/external_media_tests}/utils.py (100%) rename dom/media/test/{external-media-tests => external}/requirements.txt (100%) rename dom/media/test/{external-media-tests => external}/setup.py (86%) diff --git a/dom/media/test/external-media-tests/MANIFEST.in b/dom/media/test/external-media-tests/MANIFEST.in deleted file mode 100644 index eac2de67d7f4..000000000000 --- a/dom/media/test/external-media-tests/MANIFEST.in +++ /dev/null @@ -1,7 +0,0 @@ -exclude MANIFEST.in -include requirements.txt -include setup.py -recursive-include firefox_media_tests * -recursive-include media_utils * - - diff --git a/dom/media/test/external/MANIFEST.in b/dom/media/test/external/MANIFEST.in new file mode 100644 index 000000000000..7f5cd6fa8c19 --- /dev/null +++ b/dom/media/test/external/MANIFEST.in @@ -0,0 +1,5 @@ +exclude MANIFEST.in +recursive-include external_media_harness * +recursive-include external_media_tests * + + diff --git a/dom/media/test/external-media-tests/README.md b/dom/media/test/external/README.md similarity index 73% rename from dom/media/test/external-media-tests/README.md rename to dom/media/test/external/README.md index e73a96f539ba..cf8005f1331d 100644 --- a/dom/media/test/external-media-tests/README.md +++ b/dom/media/test/external/README.md @@ -1,4 +1,4 @@ -firefox-media-tests +external-media-tests =================== [Marionette Python tests][marionette-python-tests] for media playback in Mozilla Firefox. MediaTestCase uses [Firefox Puppeteer][ff-puppeteer-docs] library. @@ -6,7 +6,7 @@ firefox-media-tests Setup ----- -The instructions below assume you have a copy of the project in `some/path/firefox-media-tests` and they refer to this path as `$PROJECT_HOME`. +Normally, you get this source by cloning a firefox repo such as mozilla-central. The path to these tests would be in /dom/media/test/external, and these instuctions refer to this path as '$PROJECT_HOME'. * Create a virtualenv called `foo`. @@ -15,13 +15,13 @@ The instructions below assume you have a copy of the project in `some/path/firef $ source foo/bin/activate #or `foo\Scripts\activate` on Windows ``` -* Install `firefox-media-tests` in development mode. (To get an environment that is closer to what is actually used in Mozilla's automation jobs, run `pip install -r requirements.txt` first.) +* Install `external-media-tests` in development mode. (To get an environment that is closer to what is actually used in Mozilla's automation jobs, run `pip install -r requirements.txt` first.) ```sh $ python setup.py develop ``` -Now `firefox-media-tests` should be a recognized command. Try `firefox-media-tests --help` to see if it works. +Now `external-media-tests` should be a recognized command. Try `external-media-tests --help` to see if it works. Running the Tests @@ -29,28 +29,28 @@ Running the Tests In the examples below, `$FF_PATH` is a path to a recent Firefox binary. -This runs all the tests listed in `$PROJECT_HOME/firefox_media_tests/manifest.ini`: +This runs all the tests listed in `$PROJECT_HOME/external_media_tests/manifest.ini`: ```sh - $ firefox-media-tests --binary $FF_PATH + $ external-media-tests --binary $FF_PATH ``` You can also run all the tests at a particular path: ```sh - $ firefox-media-tests --binary $FF_PATH some/path/foo + $ external-media-tests --binary $FF_PATH some/path/foo ``` Or you can run the tests that are listed in a manifest file of your choice. ```sh - $ firefox-media-tests --binary $FF_PATH some/other/path/manifest.ini + $ external-media-tests --binary $FF_PATH some/other/path/manifest.ini ``` -By default, the urls listed in `firefox_media_tests/urls/default.ini` are used for the tests, but you can also supply your own ini file of urls: +By default, the urls listed in `external_media_tests/urls/default.ini` are used for the tests, but you can also supply your own ini file of urls: ```sh - $ firefox-media-tests --binary $FF_PATH --urls some/other/path/my_urls.ini + $ external-media-tests --binary $FF_PATH --urls some/other/path/my_urls.ini ``` ### Running EME tests @@ -58,7 +58,7 @@ By default, the urls listed in `firefox_media_tests/urls/default.ini` are used f In order to run EME tests, you must use a Firefox profile that has a signed plugin-container.exe and voucher.bin. With Netflix, this will be created when you log in and save the credentials. You must also use a custom .ini file for urls to the provider's content and indicate which test to run, like above. Ex: ```sh - $ firefox-media-tests --binary $FF_PATH some/path/tests.ini --profile custom_profile --urls some/path/provider-urls.ini + $ external-media-tests --binary $FF_PATH some/path/tests.ini --profile custom_profile --urls some/path/provider-urls.ini ``` @@ -84,7 +84,7 @@ What if Firefox crashes during a test run? You want to know why! To report usefu 5. Run the tests with a `--symbols-path` flag ```sh - $ firefox-media-tests --binary $FF_PATH --symbols-path path/to/example/firefox-38.0a2.en-US.win32.crashreporter-symbols + $ external-media-tests --binary $FF_PATH --symbols-path path/to/example/firefox-38.0a2.en-US.win32.crashreporter-symbols ``` To check whether the above setup is working for you, trigger a (silly) Firefox crash while the tests are running. One way to do this is with the [crashme add-on](https://github.com/luser/crashme) -- you can add it to Firefox even while the tests are running. Another way on Linux and Mac OS systems: @@ -101,7 +101,7 @@ To check whether the above setup is working for you, trigger a (silly) Firefox c $ kill -6 1234 ``` -Somewhere in the output produced by `firefox-media-tests`, you should see something like: +Somewhere in the output produced by `external-media-tests`, you should see something like: ``` 0:12.68 CRASH: MainThread pid:1234. Test:test_basic_playback.py TestVideoPlayback.test_playback_starts. @@ -137,11 +137,11 @@ On Windows, use browsermob-proxy.bat. You can then call browsermob to shape the network. You can find an example in firefox_media_tests/playback/test_playback_limiting_bandwidth.py. Another example can be found at https://dxr.mozilla.org/mozilla-central/source/testing/marionette/client/marionette/tests/unit/test_browsermobproxy.py. ### A warning about video URLs -The ini files in `firefox_media_tests/urls` may contain URLs pulled from Firefox crash or bug data. Automated tests don't care about video content, but you might: visit these at your own risk and be aware that they may be NSFW. We do not intend to ever moderate or filter these URLs. +The ini files in `external_media_tests/urls` may contain URLs pulled from Firefox crash or bug data. Automated tests don't care about video content, but you might: visit these at your own risk and be aware that they may be NSFW. We do not intend to ever moderate or filter these URLs. Writing a test -------------- -Write your test in a new or existing `test_*.py` file under `$PROJECT_HOME/firefox_media_tests`. Add it to the appropriate `manifest.ini` file(s) as well. Look in `media_utils` for useful video-playback functions. +Write your test in a new or existing `test_*.py` file under `$PROJECT_HOME/external_media_tests`. Add it to the appropriate `manifest.ini` file(s) as well. Look in `media_utils` for useful video-playback functions. * [Marionette docs][marionette-docs] - [Marionette Command Line Options](https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options) diff --git a/dom/media/test/external-media-tests/harness/__init__.py b/dom/media/test/external/external_media_harness/__init__.py similarity index 100% rename from dom/media/test/external-media-tests/harness/__init__.py rename to dom/media/test/external/external_media_harness/__init__.py diff --git a/dom/media/test/external-media-tests/harness/runtests.py b/dom/media/test/external/external_media_harness/runtests.py similarity index 90% rename from dom/media/test/external-media-tests/harness/runtests.py rename to dom/media/test/external/external_media_harness/runtests.py index 320db276245c..8a847f02b04c 100644 --- a/dom/media/test/external-media-tests/harness/runtests.py +++ b/dom/media/test/external/external_media_harness/runtests.py @@ -11,9 +11,9 @@ from marionette.runner import BrowserMobProxyArguments from marionette.runtests import MarionetteHarness, cli as mn_cli import mozlog -import media_tests +import external_media_tests from testcase import MediaTestCase -from media_utils.video_puppeteer import debug_script +from external_media_tests.media_utils.video_puppeteer import debug_script class MediaTestArgumentsBase(object): @@ -21,7 +21,7 @@ class MediaTestArgumentsBase(object): args = [ [['--urls'], { 'help': 'ini file of urls to make available to all tests', - 'default': os.path.join(media_tests.urls, 'default.ini'), + 'default': os.path.join(external_media_tests.urls, 'default.ini'), }], ] @@ -35,7 +35,7 @@ class MediaTestArgumentsBase(object): def parse_args_handler(self, args): if not args.tests: - args.tests = [media_tests.manifest] + args.tests = [external_media_tests.manifest] @staticmethod @@ -55,7 +55,7 @@ class MediaTestRunner(BaseMarionetteTestRunner): def __init__(self, **kwargs): BaseMarionetteTestRunner.__init__(self, **kwargs) if not self.server_root: - self.server_root = media_tests.resources + self.server_root = external_media_tests.resources # pick up prefs from marionette_driver.geckoinstance.DesktopInstance self.app = 'fxdesktop' self.test_handlers = [MediaTestCase] @@ -87,8 +87,8 @@ class MediaTestRunner(BaseMarionetteTestRunner): class FirefoxMediaHarness(MarionetteHarness): def __init__(self, - runner_class=MediaTestRunner, - parser_class=MediaTestArguments): + runner_class=MediaTestRunner, + parser_class=MediaTestArguments): # workaround until next marionette-client release - Bug 1227918 try: MarionetteHarness.__init__(self, runner_class, parser_class) diff --git a/dom/media/test/external-media-tests/harness/testcase.py b/dom/media/test/external/external_media_harness/testcase.py similarity index 96% rename from dom/media/test/external-media-tests/harness/testcase.py rename to dom/media/test/external/external_media_harness/testcase.py index ae40f9e476ea..e6637bf28bec 100644 --- a/dom/media/test/external-media-tests/harness/testcase.py +++ b/dom/media/test/external/external_media_harness/testcase.py @@ -10,8 +10,8 @@ from marionette_driver.errors import TimeoutException from marionette.marionette_test import SkipTest from firefox_puppeteer.testcases import FirefoxTestCase -from media_tests.utils import (timestamp_now, verbose_until) -from media_utils.video_puppeteer import (playback_done, playback_started, +from external_media_tests.utils import (timestamp_now, verbose_until) +from external_media_tests.media_utils.video_puppeteer import (playback_done, playback_started, VideoException, VideoPuppeteer as VP) diff --git a/dom/media/test/external-media-tests/media_tests/__init__.py b/dom/media/test/external/external_media_tests/__init__.py similarity index 100% rename from dom/media/test/external-media-tests/media_tests/__init__.py rename to dom/media/test/external/external_media_tests/__init__.py diff --git a/dom/media/test/external-media-tests/media_tests/manifest.ini b/dom/media/test/external/external_media_tests/manifest.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/manifest.ini rename to dom/media/test/external/external_media_tests/manifest.ini diff --git a/dom/media/test/external-media-tests/media_utils/__init__.py b/dom/media/test/external/external_media_tests/media_utils/__init__.py similarity index 100% rename from dom/media/test/external-media-tests/media_utils/__init__.py rename to dom/media/test/external/external_media_tests/media_utils/__init__.py diff --git a/dom/media/test/external-media-tests/media_utils/video_puppeteer.py b/dom/media/test/external/external_media_tests/media_utils/video_puppeteer.py similarity index 99% rename from dom/media/test/external-media-tests/media_utils/video_puppeteer.py rename to dom/media/test/external/external_media_tests/media_utils/video_puppeteer.py index 0a26ebac46eb..c1bc317dde9a 100644 --- a/dom/media/test/external-media-tests/media_utils/video_puppeteer.py +++ b/dom/media/test/external/external_media_tests/media_utils/video_puppeteer.py @@ -6,7 +6,7 @@ from time import clock, sleep from marionette_driver import By, expected, Wait -from media_tests.utils import verbose_until +from external_media_tests.utils import verbose_until # Adapted from diff --git a/dom/media/test/external-media-tests/media_utils/youtube_puppeteer.py b/dom/media/test/external/external_media_tests/media_utils/youtube_puppeteer.py similarity index 99% rename from dom/media/test/external-media-tests/media_utils/youtube_puppeteer.py rename to dom/media/test/external/external_media_tests/media_utils/youtube_puppeteer.py index 84d725991cda..14efd2f049b3 100644 --- a/dom/media/test/external-media-tests/media_utils/youtube_puppeteer.py +++ b/dom/media/test/external/external_media_tests/media_utils/youtube_puppeteer.py @@ -9,7 +9,7 @@ from json import loads from marionette_driver import By, expected, Wait from marionette_driver.errors import TimeoutException, NoSuchElementException from video_puppeteer import VideoPuppeteer, VideoException -from media_tests.utils import verbose_until +from external_media_tests.utils import verbose_until class YouTubePuppeteer(VideoPuppeteer): diff --git a/dom/media/test/external-media-tests/media_tests/playback/eme.ini b/dom/media/test/external/external_media_tests/playback/eme.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/playback/eme.ini rename to dom/media/test/external/external_media_tests/playback/eme.ini diff --git a/dom/media/test/external-media-tests/media_tests/playback/limiting_bandwidth.ini b/dom/media/test/external/external_media_tests/playback/limiting_bandwidth.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/playback/limiting_bandwidth.ini rename to dom/media/test/external/external_media_tests/playback/limiting_bandwidth.ini diff --git a/dom/media/test/external-media-tests/media_tests/playback/manifest.ini b/dom/media/test/external/external_media_tests/playback/manifest.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/playback/manifest.ini rename to dom/media/test/external/external_media_tests/playback/manifest.ini diff --git a/dom/media/test/external-media-tests/media_tests/playback/netflix_limiting_bandwidth.ini b/dom/media/test/external/external_media_tests/playback/netflix_limiting_bandwidth.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/playback/netflix_limiting_bandwidth.ini rename to dom/media/test/external/external_media_tests/playback/netflix_limiting_bandwidth.ini diff --git a/dom/media/test/external-media-tests/media_tests/playback/test_eme_playback.py b/dom/media/test/external/external_media_tests/playback/test_eme_playback.py similarity index 94% rename from dom/media/test/external-media-tests/media_tests/playback/test_eme_playback.py rename to dom/media/test/external/external_media_tests/playback/test_eme_playback.py index e8026bdd0489..9fa8af6d3a4b 100644 --- a/dom/media/test/external-media-tests/media_tests/playback/test_eme_playback.py +++ b/dom/media/test/external/external_media_tests/playback/test_eme_playback.py @@ -4,7 +4,7 @@ import re -from harness.testcase import MediaTestCase, VideoPlaybackTestsMixin +from external_media_harness.testcase import MediaTestCase, VideoPlaybackTestsMixin class TestEMEPlayback(MediaTestCase, VideoPlaybackTestsMixin): diff --git a/dom/media/test/external-media-tests/media_tests/playback/test_full_playback.py b/dom/media/test/external/external_media_tests/playback/test_full_playback.py similarity index 86% rename from dom/media/test/external-media-tests/media_tests/playback/test_full_playback.py rename to dom/media/test/external/external_media_tests/playback/test_full_playback.py index f89e2bd86fd7..6c4e70bea87c 100644 --- a/dom/media/test/external-media-tests/media_tests/playback/test_full_playback.py +++ b/dom/media/test/external/external_media_tests/playback/test_full_playback.py @@ -3,8 +3,8 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. -from harness.testcase import MediaTestCase -from media_utils.video_puppeteer import VideoPuppeteer +from external_media_harness.testcase import MediaTestCase +from external_media_tests.media_utils.video_puppeteer import VideoPuppeteer class TestFullPlayback(MediaTestCase): diff --git a/dom/media/test/external-media-tests/media_tests/playback/test_playback_limiting_bandwidth.py b/dom/media/test/external/external_media_tests/playback/test_playback_limiting_bandwidth.py similarity index 91% rename from dom/media/test/external-media-tests/media_tests/playback/test_playback_limiting_bandwidth.py rename to dom/media/test/external/external_media_tests/playback/test_playback_limiting_bandwidth.py index a52372a93e02..0fefe1ea1ec2 100644 --- a/dom/media/test/external-media-tests/media_tests/playback/test_playback_limiting_bandwidth.py +++ b/dom/media/test/external/external_media_tests/playback/test_playback_limiting_bandwidth.py @@ -4,7 +4,7 @@ from marionette import BrowserMobProxyTestCaseMixin -from harness.testcase import NetworkBandwidthTestCase +from external_media_harness.testcase import NetworkBandwidthTestCase class TestPlaybackLimitingBandwidth(NetworkBandwidthTestCase, diff --git a/dom/media/test/external-media-tests/media_tests/playback/test_ultra_low_bandwidth.py b/dom/media/test/external/external_media_tests/playback/test_ultra_low_bandwidth.py similarity index 88% rename from dom/media/test/external-media-tests/media_tests/playback/test_ultra_low_bandwidth.py rename to dom/media/test/external/external_media_tests/playback/test_ultra_low_bandwidth.py index 75ae334bc267..7f62bb10f395 100644 --- a/dom/media/test/external-media-tests/media_tests/playback/test_ultra_low_bandwidth.py +++ b/dom/media/test/external/external_media_tests/playback/test_ultra_low_bandwidth.py @@ -4,7 +4,7 @@ from marionette import BrowserMobProxyTestCaseMixin -from harness.testcase import NetworkBandwidthTestCase +from external_media_harness.testcase import NetworkBandwidthTestCase class TestUltraLowBandwidth(NetworkBandwidthTestCase, diff --git a/dom/media/test/external-media-tests/media_tests/playback/test_video_playback.py b/dom/media/test/external/external_media_tests/playback/test_video_playback.py similarity index 89% rename from dom/media/test/external-media-tests/media_tests/playback/test_video_playback.py rename to dom/media/test/external/external_media_tests/playback/test_video_playback.py index db6a6735398a..b841ec08cd9b 100644 --- a/dom/media/test/external-media-tests/media_tests/playback/test_video_playback.py +++ b/dom/media/test/external/external_media_tests/playback/test_video_playback.py @@ -2,7 +2,7 @@ # 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/. -from harness.testcase import ( +from external_media_harness.testcase import ( MediaTestCase, VideoPlaybackTestsMixin ) diff --git a/dom/media/test/external-media-tests/media_tests/playback/youtube/manifest.ini b/dom/media/test/external/external_media_tests/playback/youtube/manifest.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/playback/youtube/manifest.ini rename to dom/media/test/external/external_media_tests/playback/youtube/manifest.ini diff --git a/dom/media/test/external-media-tests/media_tests/playback/youtube/test_basic_playback.py b/dom/media/test/external/external_media_tests/playback/youtube/test_basic_playback.py similarity index 91% rename from dom/media/test/external-media-tests/media_tests/playback/youtube/test_basic_playback.py rename to dom/media/test/external/external_media_tests/playback/youtube/test_basic_playback.py index 89da891eb8be..2215c2761427 100644 --- a/dom/media/test/external-media-tests/media_tests/playback/youtube/test_basic_playback.py +++ b/dom/media/test/external/external_media_tests/playback/youtube/test_basic_playback.py @@ -5,10 +5,10 @@ from marionette_driver import Wait from marionette_driver.errors import TimeoutException -from media_tests.utils import verbose_until -from harness.testcase import MediaTestCase -from media_utils.video_puppeteer import VideoException -from media_utils.youtube_puppeteer import (YouTubePuppeteer, playback_done, +from external_media_tests.utils import verbose_until +from external_media_harness.testcase import MediaTestCase +from external_media_tests.media_utils.video_puppeteer import VideoException +from external_media_tests.media_utils.youtube_puppeteer import (YouTubePuppeteer, playback_done, wait_for_almost_done) diff --git a/dom/media/test/external-media-tests/media_tests/playback/youtube/test_prefs.py b/dom/media/test/external/external_media_tests/playback/youtube/test_prefs.py similarity index 90% rename from dom/media/test/external-media-tests/media_tests/playback/youtube/test_prefs.py rename to dom/media/test/external/external_media_tests/playback/youtube/test_prefs.py index 6e5e6f3e8592..7a2deadc31e3 100644 --- a/dom/media/test/external-media-tests/media_tests/playback/youtube/test_prefs.py +++ b/dom/media/test/external/external_media_tests/playback/youtube/test_prefs.py @@ -2,11 +2,11 @@ # 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/. -from harness.testcase import MediaTestCase +from external_media_harness.testcase import MediaTestCase from marionette_driver import Wait -from media_tests.utils import verbose_until -from media_utils.youtube_puppeteer import YouTubePuppeteer +from external_media_tests.utils import verbose_until +from external_media_tests.media_utils.youtube_puppeteer import YouTubePuppeteer class TestMediaSourcePrefs(MediaTestCase): diff --git a/dom/media/test/external-media-tests/media_tests/resources/mozilla.html b/dom/media/test/external/external_media_tests/resources/mozilla.html similarity index 100% rename from dom/media/test/external-media-tests/media_tests/resources/mozilla.html rename to dom/media/test/external/external_media_tests/resources/mozilla.html diff --git a/dom/media/test/external-media-tests/media_tests/test_example.py b/dom/media/test/external/external_media_tests/test_example.py similarity index 89% rename from dom/media/test/external-media-tests/media_tests/test_example.py rename to dom/media/test/external/external_media_tests/test_example.py index 25f51696bd53..cb0b2d833a65 100644 --- a/dom/media/test/external-media-tests/media_tests/test_example.py +++ b/dom/media/test/external/external_media_tests/test_example.py @@ -1,4 +1,4 @@ -from harness.testcase import MediaTestCase +from external_media_harness.testcase import MediaTestCase class TestSomethingElse(MediaTestCase): diff --git a/dom/media/test/external-media-tests/media_tests/urls/default.ini b/dom/media/test/external/external_media_tests/urls/default.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/default.ini rename to dom/media/test/external/external_media_tests/urls/default.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/netflix/default.ini b/dom/media/test/external/external_media_tests/urls/netflix/default.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/netflix/default.ini rename to dom/media/test/external/external_media_tests/urls/netflix/default.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/archive/crash_videos.ini b/dom/media/test/external/external_media_tests/urls/youtube/archive/crash_videos.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/archive/crash_videos.ini rename to dom/media/test/external/external_media_tests/urls/youtube/archive/crash_videos.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/archive/other_videos.ini b/dom/media/test/external/external_media_tests/urls/youtube/archive/other_videos.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/archive/other_videos.ini rename to dom/media/test/external/external_media_tests/urls/youtube/archive/other_videos.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/archive/video_data.ini b/dom/media/test/external/external_media_tests/urls/youtube/archive/video_data.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/archive/video_data.ini rename to dom/media/test/external/external_media_tests/urls/youtube/archive/video_data.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/archive/youtube.ini b/dom/media/test/external/external_media_tests/urls/youtube/archive/youtube.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/archive/youtube.ini rename to dom/media/test/external/external_media_tests/urls/youtube/archive/youtube.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/long1-720.ini b/dom/media/test/external/external_media_tests/urls/youtube/long1-720.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/long1-720.ini rename to dom/media/test/external/external_media_tests/urls/youtube/long1-720.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/long2-720.ini b/dom/media/test/external/external_media_tests/urls/youtube/long2-720.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/long2-720.ini rename to dom/media/test/external/external_media_tests/urls/youtube/long2-720.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/long3-crashes-720.ini b/dom/media/test/external/external_media_tests/urls/youtube/long3-crashes-720.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/long3-crashes-720.ini rename to dom/media/test/external/external_media_tests/urls/youtube/long3-crashes-720.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/long4-crashes-900.ini b/dom/media/test/external/external_media_tests/urls/youtube/long4-crashes-900.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/long4-crashes-900.ini rename to dom/media/test/external/external_media_tests/urls/youtube/long4-crashes-900.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/massive-6000.ini b/dom/media/test/external/external_media_tests/urls/youtube/massive-6000.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/massive-6000.ini rename to dom/media/test/external/external_media_tests/urls/youtube/massive-6000.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/medium1-60.ini b/dom/media/test/external/external_media_tests/urls/youtube/medium1-60.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/medium1-60.ini rename to dom/media/test/external/external_media_tests/urls/youtube/medium1-60.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/medium2-60.ini b/dom/media/test/external/external_media_tests/urls/youtube/medium2-60.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/medium2-60.ini rename to dom/media/test/external/external_media_tests/urls/youtube/medium2-60.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/medium3-120.ini b/dom/media/test/external/external_media_tests/urls/youtube/medium3-120.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/medium3-120.ini rename to dom/media/test/external/external_media_tests/urls/youtube/medium3-120.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/short0-10.ini b/dom/media/test/external/external_media_tests/urls/youtube/short0-10.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/short0-10.ini rename to dom/media/test/external/external_media_tests/urls/youtube/short0-10.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/short1-15.ini b/dom/media/test/external/external_media_tests/urls/youtube/short1-15.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/short1-15.ini rename to dom/media/test/external/external_media_tests/urls/youtube/short1-15.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/short2-15.ini b/dom/media/test/external/external_media_tests/urls/youtube/short2-15.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/short2-15.ini rename to dom/media/test/external/external_media_tests/urls/youtube/short2-15.ini diff --git a/dom/media/test/external-media-tests/media_tests/urls/youtube/short3-crashes-15.ini b/dom/media/test/external/external_media_tests/urls/youtube/short3-crashes-15.ini similarity index 100% rename from dom/media/test/external-media-tests/media_tests/urls/youtube/short3-crashes-15.ini rename to dom/media/test/external/external_media_tests/urls/youtube/short3-crashes-15.ini diff --git a/dom/media/test/external-media-tests/media_tests/utils.py b/dom/media/test/external/external_media_tests/utils.py similarity index 100% rename from dom/media/test/external-media-tests/media_tests/utils.py rename to dom/media/test/external/external_media_tests/utils.py diff --git a/dom/media/test/external-media-tests/requirements.txt b/dom/media/test/external/requirements.txt similarity index 100% rename from dom/media/test/external-media-tests/requirements.txt rename to dom/media/test/external/requirements.txt diff --git a/dom/media/test/external-media-tests/setup.py b/dom/media/test/external/setup.py similarity index 86% rename from dom/media/test/external-media-tests/setup.py rename to dom/media/test/external/setup.py index 0fe4e73646c2..9e1f45b3dd5d 100644 --- a/dom/media/test/external-media-tests/setup.py +++ b/dom/media/test/external/setup.py @@ -4,7 +4,7 @@ from setuptools import setup, find_packages -PACKAGE_VERSION = '0.4' +PACKAGE_VERSION = '1.0' deps = [ 'marionette-client == 2.0.0', @@ -14,7 +14,7 @@ deps = [ 'firefox-puppeteer >= 3.1.0, <4.0.0', ] -setup(name='firefox-media-tests', +setup(name='external-media-tests', version=PACKAGE_VERSION, description=('A collection of Mozilla Firefox media playback tests run ' 'with Marionette'), @@ -30,7 +30,7 @@ setup(name='firefox-media-tests', keywords='mozilla', author='Mozilla Automation and Tools Team', author_email='tools@lists.mozilla.org', - url='https://github.com/mjzffr/firefox-media-tests', + url='https://hg.mozilla.org/mozilla-central/dom/media/test/external/', license='MPL 2.0', packages=find_packages(), zip_safe=False, @@ -38,5 +38,5 @@ setup(name='firefox-media-tests', include_package_data=True, entry_points=""" [console_scripts] - firefox-media-tests = harness:cli + external-media-tests = external_media_harness:cli """) diff --git a/python/mozbuild/mozbuild/action/test_archive.py b/python/mozbuild/mozbuild/action/test_archive.py index 4821a6229379..2bb0a6b3874e 100644 --- a/python/mozbuild/mozbuild/action/test_archive.py +++ b/python/mozbuild/mozbuild/action/test_archive.py @@ -59,8 +59,9 @@ ARCHIVE_FILES = { }, { 'source': buildconfig.topsrcdir, - 'base': 'dom/media/test', - 'pattern': 'external-media-tests/**', + 'base': 'dom/media/test/external', + 'pattern': '**', + 'dest': 'external-media-tests', }, { 'source': buildconfig.topsrcdir,