author | Syd Polk <spolk@mozilla.com> |
Thu, 21 Jan 2016 23:00:59 -0600 | |
changeset 281256 | 5d8658bcefdc6cf8a5ad1608684cdbf5ca661b81 |
parent 281255 | 728ed80f10650c1774ca12b5825c568f86b18372 |
child 281257 | 1dcd651f539ae52dfd2fca54ef6a88773ed8b80b |
push id | 70723 |
push user | spolk@mozilla.com |
push date | Fri, 22 Jan 2016 17:14:59 +0000 |
treeherder | mozilla-inbound@5d8658bcefdc [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | maja_zf, whimboo |
bugs | 1240120 |
milestone | 46.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
rename from dom/media/test/external-media-tests/MANIFEST.in rename to dom/media/test/external/MANIFEST.in --- a/dom/media/test/external-media-tests/MANIFEST.in +++ b/dom/media/test/external/MANIFEST.in @@ -1,7 +1,5 @@ exclude MANIFEST.in -include requirements.txt -include setup.py -recursive-include firefox_media_tests * -recursive-include media_utils * +recursive-include external_media_harness * +recursive-include external_media_tests *
rename from dom/media/test/external-media-tests/README.md rename to dom/media/test/external/README.md --- a/dom/media/test/external-media-tests/README.md +++ b/dom/media/test/external/README.md @@ -1,69 +1,69 @@ -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. 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 <mozilla-central>/dom/media/test/external, and these instuctions refer to this path as '$PROJECT_HOME'. * Create a virtualenv called `foo`. ```sh $ virtualenv foo $ 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 ----------------- 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 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 ``` ### Running tests in a way that provides information about a crash What if Firefox crashes during a test run? You want to know why! To report useful crash data, the test runner needs access to a "minidump_stackwalk" binary and a "symbols.zip" file. 1. Download a `minidump_stackwalk` binary for your platform (save it whereever). Get it from http://hg.mozilla.org/build/tools/file/tip/breakpad/. @@ -79,34 +79,34 @@ 3. Create an environment variable called $ export MINIDUMP_STACKWALK=path/to/minidump_stackwalk ``` 4. Download the `crashreporter-symbols.zip` file for the Firefox build you are testing and extract it. Example: ftp://ftp.mozilla.org/pub/firefox/tinderbox-builds/mozilla-aurora-win32/1427442016/firefox-38.0a2.en-US.win32.crashreporter-symbols.zip 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: 1. Find the process id (PID) of the Firefox process being used by the tests. ```sh $ ps x | grep 'Firefox' ``` 2. Kill the Firefox process with SIGABRT. ```sh # 1234 is an example of a PID $ 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. Minidump anaylsed:False. Signature:[@ XUL + 0x2a65900] Crash dump filename: /var/folders/5k/xmn_fndx0qs2jcpcwhzl86wm0000gn/T/tmpB4Bolj.mozrunner/minidumps/DA3BB025-8302-4F96-8DF3-A97E424C877A.dmp Operating system: Mac OS X @@ -132,21 +132,21 @@ 5. Tell marionette where browsermobproxy --browsermob-script <browsermob>/bin/browsermob-proxy --browsermob-port 999 --profile <your saved profile> </code></pre> 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) * [Firefox Puppeteer docs][ff-puppeteer-docs] License ------- This software is licensed under the [Mozilla Public License v. 2.0](http://mozilla.org/MPL/2.0/).
rename from dom/media/test/external-media-tests/harness/__init__.py rename to dom/media/test/external/external_media_harness/__init__.py
rename from dom/media/test/external-media-tests/harness/runtests.py rename to dom/media/test/external/external_media_harness/runtests.py --- a/dom/media/test/external-media-tests/harness/runtests.py +++ b/dom/media/test/external/external_media_harness/runtests.py @@ -6,41 +6,41 @@ from manifestparser import read_ini import os import sys from marionette import BaseMarionetteTestRunner, BaseMarionetteArguments 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): name = 'Firefox Media Tests' 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'), }], ] def verify_usage_handler(self, args): if args.urls: if not os.path.isfile(args.urls): raise ValueError('--urls must provide a path to an ini file') else: path = os.path.abspath(args.urls) args.video_urls = MediaTestArgumentsBase.get_urls(path) def parse_args_handler(self, args): if not args.tests: - args.tests = [media_tests.manifest] + args.tests = [external_media_tests.manifest] @staticmethod def get_urls(manifest): with open(manifest, 'r'): return [line[0] for line in read_ini(manifest)] @@ -50,17 +50,17 @@ class MediaTestArguments(BaseMarionetteA self.register_argument_container(MediaTestArgumentsBase()) self.register_argument_container(BrowserMobProxyArguments()) 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] # Used in HTML report (--log-html) def gather_media_debug(test, status): rv = {} marionette = test._marionette_weakref() @@ -82,18 +82,18 @@ class MediaTestRunner(BaseMarionetteTest exc_info=True) return rv self.result_callbacks.append(gather_media_debug) 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) except Exception: logger = mozlog.commandline.setup_logging('Media-test harness', {}) logger.error('Failure setting up harness', exc_info=True) raise
rename from dom/media/test/external-media-tests/harness/testcase.py rename to dom/media/test/external/external_media_harness/testcase.py --- a/dom/media/test/external-media-tests/harness/testcase.py +++ b/dom/media/test/external/external_media_harness/testcase.py @@ -5,18 +5,18 @@ import os from marionette import BrowserMobProxyTestCaseMixin from marionette_driver import Wait 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) class MediaTestCase(FirefoxTestCase): def __init__(self, *args, **kwargs): self.video_urls = kwargs.pop('video_urls', False) FirefoxTestCase.__init__(self, *args, **kwargs)
rename from dom/media/test/external-media-tests/media_tests/__init__.py rename to dom/media/test/external/external_media_tests/__init__.py
rename from dom/media/test/external-media-tests/media_tests/manifest.ini rename to dom/media/test/external/external_media_tests/manifest.ini
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
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 --- 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 @@ -1,17 +1,17 @@ # 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/. 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 # https://github.com/gavinsharp/aboutmedia/blob/master/chrome/content/aboutmedia.xhtml debug_script = """ var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIWebNavigation) .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
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 --- 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 @@ -4,17 +4,17 @@ from time import sleep import re 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): """ Wrapper around a YouTube #movie_player element Partial reference: https://developers.google.com/youtube/js_api_reference """
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
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
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
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
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 --- 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 @@ -1,15 +1,15 @@ # 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/. import re -from harness.testcase import MediaTestCase, VideoPlaybackTestsMixin +from external_media_harness.testcase import MediaTestCase, VideoPlaybackTestsMixin class TestEMEPlayback(MediaTestCase, VideoPlaybackTestsMixin): def setUp(self): super(TestEMEPlayback, self).setUp() self.set_eme_prefs() assert(self.check_eme_prefs())
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 --- 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 @@ -1,15 +1,15 @@ # 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/. -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): """ Test MSE playback in HTML5 video element. These tests should pass on any site where a single video element plays upon loading and is uninterrupted (by ads, for example). This will play the full videos, so it could take a while depending on the videos playing.
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 --- 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 @@ -1,15 +1,15 @@ # 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/. from marionette import BrowserMobProxyTestCaseMixin -from harness.testcase import NetworkBandwidthTestCase +from external_media_harness.testcase import NetworkBandwidthTestCase class TestPlaybackLimitingBandwidth(NetworkBandwidthTestCase, BrowserMobProxyTestCaseMixin): def test_playback_limiting_bandwidth_250(self): self.proxy.limits({'downstream_kbps': 250}) self.run_videos()
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 --- 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 @@ -1,15 +1,15 @@ # 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/. from marionette import BrowserMobProxyTestCaseMixin -from harness.testcase import NetworkBandwidthTestCase +from external_media_harness.testcase import NetworkBandwidthTestCase class TestUltraLowBandwidth(NetworkBandwidthTestCase, BrowserMobProxyTestCaseMixin): def test_playback_limiting_bandwidth_160(self): self.proxy.limits({'downstream_kbps': 160}) self.run_videos()
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 --- 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 @@ -1,13 +1,13 @@ # 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/. -from harness.testcase import ( +from external_media_harness.testcase import ( MediaTestCase, VideoPlaybackTestsMixin ) class TestVideoPlayback(MediaTestCase, VideoPlaybackTestsMixin): # Tests are actually implemented in VideoPlaybackTestsMixin.
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
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 --- 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 @@ -1,19 +1,19 @@ # 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/. 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) class TestBasicYouTubePlayback(MediaTestCase): def test_mse_is_enabled_by_default(self): with self.marionette.using_context('content'): youtube = YouTubePuppeteer(self.marionette, self.video_urls[0], timeout=60)
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 --- 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 @@ -1,17 +1,17 @@ # 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/. -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): def setUp(self): MediaTestCase.setUp(self) self.test_urls = self.video_urls[:2] self.max_timeout = 60
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
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 --- a/dom/media/test/external-media-tests/media_tests/test_example.py +++ b/dom/media/test/external/external_media_tests/test_example.py @@ -1,9 +1,9 @@ -from harness.testcase import MediaTestCase +from external_media_harness.testcase import MediaTestCase class TestSomethingElse(MediaTestCase): def setUp(self): MediaTestCase.setUp(self) self.test_urls = [ 'mozilla.html', ]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
rename from dom/media/test/external-media-tests/media_tests/utils.py rename to dom/media/test/external/external_media_tests/utils.py
rename from dom/media/test/external-media-tests/requirements.txt rename to dom/media/test/external/requirements.txt
rename from dom/media/test/external-media-tests/setup.py rename to dom/media/test/external/setup.py --- a/dom/media/test/external-media-tests/setup.py +++ b/dom/media/test/external/setup.py @@ -1,42 +1,42 @@ # 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/. from setuptools import setup, find_packages -PACKAGE_VERSION = '0.4' +PACKAGE_VERSION = '1.0' deps = [ 'marionette-client == 2.0.0', 'marionette-driver == 1.1.1', 'mozlog == 3.0', 'manifestparser == 1.1', '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'), classifiers=[ 'Environment :: Console', 'Intended Audience :: Developers', 'License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)', 'Natural Language :: English', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Topic :: Software Development :: Libraries :: Python Modules', ], 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, install_requires=deps, include_package_data=True, entry_points=""" [console_scripts] - firefox-media-tests = harness:cli + external-media-tests = external_media_harness:cli """)
--- a/python/mozbuild/mozbuild/action/test_archive.py +++ b/python/mozbuild/mozbuild/action/test_archive.py @@ -54,18 +54,19 @@ ARCHIVE_FILES = { }, { 'source': buildconfig.topsrcdir, 'base': 'testing', 'pattern': 'firefox-ui/**', }, { 'source': buildconfig.topsrcdir, - 'base': 'dom/media/test', - 'pattern': 'external-media-tests/**', + 'base': 'dom/media/test/external', + 'pattern': '**', + 'dest': 'external-media-tests', }, { 'source': buildconfig.topsrcdir, 'base': 'js/src', 'pattern': 'jit-test/**', 'dest': 'jit-test', }, {