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',
},
{