Граф коммитов

42 Коммитов

Автор SHA1 Сообщение Дата
Henrik Skupin dfd3393eb8 Bug 1295492 - Add support for --binary argument to Marionette mach command. r=maja_zf
MozReview-Commit-ID: 6tru2Ms135j

--HG--
extra : rebase_source : 1f838c9a623ff01ad601663d1d80ac8f98f56681
2016-08-16 09:30:15 +02:00
Maja Frydrychowicz 41f664ca15 Bug 787203 - Allow mach marionette-test to run with android build; r=automatedtester
MozReview-Commit-ID: KHuXrywXBWq

--HG--
extra : rebase_source : 3942fe9d6766fd652e7f3cce54111ae28b8ffd9d
2016-07-05 14:09:33 -04:00
Anjana Vakil 103527a1ff Bug 1258505 - Rewrite Marionette mach commands to avoid parse_args; r=maja_zf
Given the implementation of BaseMarionetteArguments.parse_known_args,
remove call to parser.parse_args in Marionette mach commands
(marionette-test, session-test,
firefox-ui-update, firefox-ui-functional,
external-media-tests).
Instead, create an argparse.Namespace from the already-parsed
arguments, and pass this to parser.verify_usage.

MozReview-Commit-ID: 20agrkhwlLF

--HG--
extra : rebase_source : 32b0df89c1fbc52af57884d6ba764502b64ac590
2016-06-29 18:55:32 +02:00
Anjana Vakil be5e80f3c6 Bug 1282755 - Fix `--binary` warning for `mach marionette-test`; r=maja_zf
Only warn the user if they have provided a --binary argument,
i.e. if kwargs['binary'] is not None.

MozReview-Commit-ID: EOg9BcH5XJk

--HG--
extra : rebase_source : c8e19baae7d0959c27062d1ec92c59d4bd14b144
2016-06-28 13:44:30 +02:00
Anjana Vakil 72e88b22d6 Bug 1282488 - Warn about unused `--binary` option in `mach marionette-test`; r=maja_zf
If a user passes the `--binary` option to the `marionette-test` mach command,
instead of silently ignoring the given path in favor of `self.get_binary_path`,
print a warning message and the path to the binary being used.

MozReview-Commit-ID: AVbpExDlaql

--HG--
extra : rebase_source : 6df25b1dc098b83aa919a482c7ec8d72115b084c
2016-06-27 20:21:31 +02:00
André Reinald b73e384ace Bug 1191324 - Extend Marionette to allow automation of telemetry tests - changes; r=automatedtester
MozReview-Commit-ID: oDGtQ2Vnq4

Marionette harness has undergone lots of changes, so I decided to take current sources from M-C and do the copy + changes patches again with my own changes to get a Session harness.

--HG--
extra : transplant_source : D5%AA%A1E%96%8E%FC%06%BC%AF%C1T%DA%83%AF%1C%AB9%B5
2016-05-31 19:15:37 +02:00
David Burns 685a7e3c86 Bug 1274408: Remove emulator mach support for Marionette r=jgriffin
Since we are not supporting the B2G Emulator, we should remove this dead code.

MozReview-Commit-ID: 4PY95y3q9BO

--HG--
extra : rebase_source : 28f9bdea257a669f98ea3d39ce73bc1a171afdc6
2016-05-19 22:38:38 +01:00
Gijs Kruitbosch 29525495be Bug 1272414 - rip out qemu/browser/b2g flags from marionette manifests, r=AutomatedTester
MozReview-Commit-ID: 9RjGgykh0pR

--HG--
extra : rebase_source : a5bc5e888cc24e05fb4b5843c3738aa5456aea80
2016-05-19 17:23:26 +01:00
Rachel 0d6d8f8602 Bug 1255064 - MarionetteHarness should internally use dicts for arguments; r=maja_zf
MozReview-Commit-ID: 94muKM44wVq

--HG--
extra : rebase_source : 502b677adcfc7390528d67119d261363f5f9e651
2016-03-18 19:33:08 -07:00
Syd Polk 8af298d1ca Bug 1251037 - Fix ./mach marionette command line to work with options and tests. r=automatedtester, r=gps 2016-02-29 11:39:28 -06:00
Andreas Tolfsen f10a629c3b Bug 1246407 - Rename parent directories for Marionette client and test harness; r=automatedtester
This change moves testing/marionette/client to testing/marionette/harness,
and testing/marionette/driver to testing/marionette/client.  This parent
directory name change reflects the true purpose of these Python packages.

MozReview-Commit-ID: B0KrGzDTLlQ

--HG--
rename : testing/marionette/driver/marionette_driver/__init__.py => testing/marionette/client/marionette_driver/__init__.py
rename : testing/marionette/driver/marionette_driver/addons.py => testing/marionette/client/marionette_driver/addons.py
rename : testing/marionette/driver/marionette_driver/by.py => testing/marionette/client/marionette_driver/by.py
rename : testing/marionette/driver/marionette_driver/date_time_value.py => testing/marionette/client/marionette_driver/date_time_value.py
rename : testing/marionette/driver/marionette_driver/decorators.py => testing/marionette/client/marionette_driver/decorators.py
rename : testing/marionette/driver/marionette_driver/errors.py => testing/marionette/client/marionette_driver/errors.py
rename : testing/marionette/driver/marionette_driver/expected.py => testing/marionette/client/marionette_driver/expected.py
rename : testing/marionette/driver/marionette_driver/geckoinstance.py => testing/marionette/client/marionette_driver/geckoinstance.py
rename : testing/marionette/driver/marionette_driver/gestures.py => testing/marionette/client/marionette_driver/gestures.py
rename : testing/marionette/driver/marionette_driver/keys.py => testing/marionette/client/marionette_driver/keys.py
rename : testing/marionette/driver/marionette_driver/marionette.py => testing/marionette/client/marionette_driver/marionette.py
rename : testing/marionette/driver/marionette_driver/selection.py => testing/marionette/client/marionette_driver/selection.py
rename : testing/marionette/driver/marionette_driver/transport.py => testing/marionette/client/marionette_driver/transport.py
rename : testing/marionette/driver/marionette_driver/wait.py => testing/marionette/client/marionette_driver/wait.py
rename : testing/marionette/client/MANIFEST.in => testing/marionette/harness/MANIFEST.in
rename : testing/marionette/client/docs/Makefile => testing/marionette/harness/docs/Makefile
rename : testing/marionette/client/docs/advanced/actions.rst => testing/marionette/harness/docs/advanced/actions.rst
rename : testing/marionette/client/docs/advanced/debug.rst => testing/marionette/harness/docs/advanced/debug.rst
rename : testing/marionette/client/docs/advanced/findelement.rst => testing/marionette/harness/docs/advanced/findelement.rst
rename : testing/marionette/client/docs/advanced/landing.rst => testing/marionette/harness/docs/advanced/landing.rst
rename : testing/marionette/client/docs/advanced/stale.rst => testing/marionette/harness/docs/advanced/stale.rst
rename : testing/marionette/client/docs/basics.rst => testing/marionette/harness/docs/basics.rst
rename : testing/marionette/client/docs/conf.py => testing/marionette/harness/docs/conf.py
rename : testing/marionette/client/docs/index.rst => testing/marionette/harness/docs/index.rst
rename : testing/marionette/client/docs/interactive.rst => testing/marionette/harness/docs/interactive.rst
rename : testing/marionette/client/docs/make.bat => testing/marionette/harness/docs/make.bat
rename : testing/marionette/client/docs/reference.rst => testing/marionette/harness/docs/reference.rst
rename : testing/marionette/client/marionette/__init__.py => testing/marionette/harness/marionette/__init__.py
rename : testing/marionette/client/marionette/atoms/b2g_update_test.js => testing/marionette/harness/marionette/atoms/b2g_update_test.js
rename : testing/marionette/client/marionette/b2g_update_test.py => testing/marionette/harness/marionette/b2g_update_test.py
rename : testing/marionette/client/marionette/chrome/test.xul => testing/marionette/harness/marionette/chrome/test.xul
rename : testing/marionette/client/marionette/chrome/test2.xul => testing/marionette/harness/marionette/chrome/test2.xul
rename : testing/marionette/client/marionette/chrome/test_anonymous_content.xul => testing/marionette/harness/marionette/chrome/test_anonymous_content.xul
rename : testing/marionette/client/marionette/chrome/test_nested_iframe.xul => testing/marionette/harness/marionette/chrome/test_nested_iframe.xul
rename : testing/marionette/client/marionette/marionette_test.py => testing/marionette/harness/marionette/marionette_test.py
rename : testing/marionette/client/marionette/runner/__init__.py => testing/marionette/harness/marionette/runner/__init__.py
rename : testing/marionette/client/marionette/runner/base.py => testing/marionette/harness/marionette/runner/base.py
rename : testing/marionette/client/marionette/runner/httpd.py => testing/marionette/harness/marionette/runner/httpd.py
rename : testing/marionette/client/marionette/runner/mixins/__init__.py => testing/marionette/harness/marionette/runner/mixins/__init__.py
rename : testing/marionette/client/marionette/runner/mixins/b2g.py => testing/marionette/harness/marionette/runner/mixins/b2g.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/History.md => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/History.md
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/__init__.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/__init__.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/client.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/client.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/server.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/server.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/Makefile => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/Makefile
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/.buildinfo => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/.buildinfo
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/browsermobproxy.html => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/browsermobproxy.html
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/index.html => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/index.html
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/client.txt => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/client.txt
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/index.txt => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/index.txt
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/server.txt => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/server.txt
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/basic.css => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/basic.css
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/default.css => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/default.css
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/doctools.js => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/doctools.js
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/jquery.js => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/jquery.js
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/pygments.css => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/pygments.css
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/searchtools.js => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/searchtools.js
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/sidebar.js => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/sidebar.js
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/underscore.js => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/underscore.js
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/websupport.js => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/websupport.js
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/client.html => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/client.html
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/genindex.html => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/genindex.html
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/index.html => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/index.html
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/objects.inv => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/objects.inv
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/py-modindex.html => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/py-modindex.html
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/search.html => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/search.html
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/searchindex.js => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/searchindex.js
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/server.html => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/server.html
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/client.rst => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/client.rst
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/conf.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/conf.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/index.rst => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/index.rst
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/make.bat => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/make.bat
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/docs/server.rst => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/server.rst
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/readme.md => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/readme.md
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/setup.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/setup.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/test/test_client.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_client.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/test/test_remote.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_remote.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob-proxy-py/test/test_webdriver.py => testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_webdriver.py
rename : testing/marionette/client/marionette/runner/mixins/browsermob.py => testing/marionette/harness/marionette/runner/mixins/browsermob.py
rename : testing/marionette/client/marionette/runner/mixins/endurance.py => testing/marionette/harness/marionette/runner/mixins/endurance.py
rename : testing/marionette/client/marionette/runner/mixins/reporting.py => testing/marionette/harness/marionette/runner/mixins/reporting.py
rename : testing/marionette/client/marionette/runner/mixins/resources/htmlreport/jquery.js => testing/marionette/harness/marionette/runner/mixins/resources/htmlreport/jquery.js
rename : testing/marionette/client/marionette/runner/mixins/resources/htmlreport/main.js => testing/marionette/harness/marionette/runner/mixins/resources/htmlreport/main.js
rename : testing/marionette/client/marionette/runner/mixins/resources/htmlreport/style.css => testing/marionette/harness/marionette/runner/mixins/resources/htmlreport/style.css
rename : testing/marionette/client/marionette/runner/mixins/xmlgen.py => testing/marionette/harness/marionette/runner/mixins/xmlgen.py
rename : testing/marionette/client/marionette/runtests.py => testing/marionette/harness/marionette/runtests.py
rename : testing/marionette/client/marionette/tests/print-manifest-dirs.py => testing/marionette/harness/marionette/tests/print-manifest-dirs.py
rename : testing/marionette/client/marionette/tests/unit-tests.ini => testing/marionette/harness/marionette/tests/unit-tests.ini
rename : testing/marionette/client/marionette/tests/unit/importanotherscript.js => testing/marionette/harness/marionette/tests/unit/importanotherscript.js
rename : testing/marionette/client/marionette/tests/unit/importscript.js => testing/marionette/harness/marionette/tests/unit/importscript.js
rename : testing/marionette/client/marionette/tests/unit/mn-restartless-unsigned.xpi => testing/marionette/harness/marionette/tests/unit/mn-restartless-unsigned.xpi
rename : testing/marionette/client/marionette/tests/unit/single_finger_functions.py => testing/marionette/harness/marionette/tests/unit/single_finger_functions.py
rename : testing/marionette/client/marionette/tests/unit/test_about_pages.py => testing/marionette/harness/marionette/tests/unit/test_about_pages.py
rename : testing/marionette/client/marionette/tests/unit/test_accessibility.py => testing/marionette/harness/marionette/tests/unit/test_accessibility.py
rename : testing/marionette/client/marionette/tests/unit/test_addons.py => testing/marionette/harness/marionette/tests/unit/test_addons.py
rename : testing/marionette/client/marionette/tests/unit/test_anonymous_content.py => testing/marionette/harness/marionette/tests/unit/test_anonymous_content.py
rename : testing/marionette/client/marionette/tests/unit/test_browsermobproxy.py => testing/marionette/harness/marionette/tests/unit/test_browsermobproxy.py
rename : testing/marionette/client/marionette/tests/unit/test_capabilities.py => testing/marionette/harness/marionette/tests/unit/test_capabilities.py
rename : testing/marionette/client/marionette/tests/unit/test_chrome.py => testing/marionette/harness/marionette/tests/unit/test_chrome.py
rename : testing/marionette/client/marionette/tests/unit/test_chrome_async_finish.js => testing/marionette/harness/marionette/tests/unit/test_chrome_async_finish.js
rename : testing/marionette/client/marionette/tests/unit/test_chrome_element_css.py => testing/marionette/harness/marionette/tests/unit/test_chrome_element_css.py
rename : testing/marionette/client/marionette/tests/unit/test_clearing.py => testing/marionette/harness/marionette/tests/unit/test_clearing.py
rename : testing/marionette/client/marionette/tests/unit/test_click.py => testing/marionette/harness/marionette/tests/unit/test_click.py
rename : testing/marionette/client/marionette/tests/unit/test_click_chrome.py => testing/marionette/harness/marionette/tests/unit/test_click_chrome.py
rename : testing/marionette/client/marionette/tests/unit/test_click_scrolling.py => testing/marionette/harness/marionette/tests/unit/test_click_scrolling.py
rename : testing/marionette/client/marionette/tests/unit/test_cookies.py => testing/marionette/harness/marionette/tests/unit/test_cookies.py
rename : testing/marionette/client/marionette/tests/unit/test_data_driven.py => testing/marionette/harness/marionette/tests/unit/test_data_driven.py
rename : testing/marionette/client/marionette/tests/unit/test_date_time_value.py => testing/marionette/harness/marionette/tests/unit/test_date_time_value.py
rename : testing/marionette/client/marionette/tests/unit/test_elementState.py => testing/marionette/harness/marionette/tests/unit/test_elementState.py
rename : testing/marionette/client/marionette/tests/unit/test_elementState_chrome.py => testing/marionette/harness/marionette/tests/unit/test_elementState_chrome.py
rename : testing/marionette/client/marionette/tests/unit/test_element_touch.py => testing/marionette/harness/marionette/tests/unit/test_element_touch.py
rename : testing/marionette/client/marionette/tests/unit/test_elementsize.py => testing/marionette/harness/marionette/tests/unit/test_elementsize.py
rename : testing/marionette/client/marionette/tests/unit/test_emulator.py => testing/marionette/harness/marionette/tests/unit/test_emulator.py
rename : testing/marionette/client/marionette/tests/unit/test_errors.py => testing/marionette/harness/marionette/tests/unit/test_errors.py
rename : testing/marionette/client/marionette/tests/unit/test_execute_async_script.py => testing/marionette/harness/marionette/tests/unit/test_execute_async_script.py
rename : testing/marionette/client/marionette/tests/unit/test_execute_isolate.py => testing/marionette/harness/marionette/tests/unit/test_execute_isolate.py
rename : testing/marionette/client/marionette/tests/unit/test_execute_sandboxes.py => testing/marionette/harness/marionette/tests/unit/test_execute_sandboxes.py
rename : testing/marionette/client/marionette/tests/unit/test_execute_script.py => testing/marionette/harness/marionette/tests/unit/test_execute_script.py
rename : testing/marionette/client/marionette/tests/unit/test_expected.py => testing/marionette/harness/marionette/tests/unit/test_expected.py
rename : testing/marionette/client/marionette/tests/unit/test_expectedfail.py => testing/marionette/harness/marionette/tests/unit/test_expectedfail.py
rename : testing/marionette/client/marionette/tests/unit/test_file_upload.py => testing/marionette/harness/marionette/tests/unit/test_file_upload.py
rename : testing/marionette/client/marionette/tests/unit/test_findelement.py => testing/marionette/harness/marionette/tests/unit/test_findelement.py
rename : testing/marionette/client/marionette/tests/unit/test_findelement_chrome.py => testing/marionette/harness/marionette/tests/unit/test_findelement_chrome.py
rename : testing/marionette/client/marionette/tests/unit/test_gesture.py => testing/marionette/harness/marionette/tests/unit/test_gesture.py
rename : testing/marionette/client/marionette/tests/unit/test_getactiveframe_oop.py => testing/marionette/harness/marionette/tests/unit/test_getactiveframe_oop.py
rename : testing/marionette/client/marionette/tests/unit/test_getattr.py => testing/marionette/harness/marionette/tests/unit/test_getattr.py
rename : testing/marionette/client/marionette/tests/unit/test_getattr_chrome.py => testing/marionette/harness/marionette/tests/unit/test_getattr_chrome.py
rename : testing/marionette/client/marionette/tests/unit/test_implicit_waits.py => testing/marionette/harness/marionette/tests/unit/test_implicit_waits.py
rename : testing/marionette/client/marionette/tests/unit/test_import_script.py => testing/marionette/harness/marionette/tests/unit/test_import_script.py
rename : testing/marionette/client/marionette/tests/unit/test_import_script_reuse_window.py => testing/marionette/harness/marionette/tests/unit/test_import_script_reuse_window.py
rename : testing/marionette/client/marionette/tests/unit/test_key_actions.py => testing/marionette/harness/marionette/tests/unit/test_key_actions.py
rename : testing/marionette/client/marionette/tests/unit/test_log.py => testing/marionette/harness/marionette/tests/unit/test_log.py
rename : testing/marionette/client/marionette/tests/unit/test_marionette.py => testing/marionette/harness/marionette/tests/unit/test_marionette.py
rename : testing/marionette/client/marionette/tests/unit/test_modal_dialogs.py => testing/marionette/harness/marionette/tests/unit/test_modal_dialogs.py
rename : testing/marionette/client/marionette/tests/unit/test_mouse_action.py => testing/marionette/harness/marionette/tests/unit/test_mouse_action.py
rename : testing/marionette/client/marionette/tests/unit/test_multi_finger.py => testing/marionette/harness/marionette/tests/unit/test_multi_finger.py
rename : testing/marionette/client/marionette/tests/unit/test_navigation.py => testing/marionette/harness/marionette/tests/unit/test_navigation.py
rename : testing/marionette/client/marionette/tests/unit/test_pagesource.py => testing/marionette/harness/marionette/tests/unit/test_pagesource.py
rename : testing/marionette/client/marionette/tests/unit/test_position.py => testing/marionette/harness/marionette/tests/unit/test_position.py
rename : testing/marionette/client/marionette/tests/unit/test_profile_management.py => testing/marionette/harness/marionette/tests/unit/test_profile_management.py
rename : testing/marionette/client/marionette/tests/unit/test_proxy.py => testing/marionette/harness/marionette/tests/unit/test_proxy.py
rename : testing/marionette/client/marionette/tests/unit/test_rendered_element.py => testing/marionette/harness/marionette/tests/unit/test_rendered_element.py
rename : testing/marionette/client/marionette/tests/unit/test_report.py => testing/marionette/harness/marionette/tests/unit/test_report.py
rename : testing/marionette/client/marionette/tests/unit/test_run_js_test.py => testing/marionette/harness/marionette/tests/unit/test_run_js_test.py
rename : testing/marionette/client/marionette/tests/unit/test_screen_orientation.py => testing/marionette/harness/marionette/tests/unit/test_screen_orientation.py
rename : testing/marionette/client/marionette/tests/unit/test_screenshot.py => testing/marionette/harness/marionette/tests/unit/test_screenshot.py
rename : testing/marionette/client/marionette/tests/unit/test_selected.py => testing/marionette/harness/marionette/tests/unit/test_selected.py
rename : testing/marionette/client/marionette/tests/unit/test_selected_chrome.py => testing/marionette/harness/marionette/tests/unit/test_selected_chrome.py
rename : testing/marionette/client/marionette/tests/unit/test_session.py => testing/marionette/harness/marionette/tests/unit/test_session.py
rename : testing/marionette/client/marionette/tests/unit/test_set_window_size.py => testing/marionette/harness/marionette/tests/unit/test_set_window_size.py
rename : testing/marionette/client/marionette/tests/unit/test_shadow_dom.py => testing/marionette/harness/marionette/tests/unit/test_shadow_dom.py
rename : testing/marionette/client/marionette/tests/unit/test_simpletest_chrome.js => testing/marionette/harness/marionette/tests/unit/test_simpletest_chrome.js
rename : testing/marionette/client/marionette/tests/unit/test_simpletest_fail.js => testing/marionette/harness/marionette/tests/unit/test_simpletest_fail.js
rename : testing/marionette/client/marionette/tests/unit/test_simpletest_pass.js => testing/marionette/harness/marionette/tests/unit/test_simpletest_pass.js
rename : testing/marionette/client/marionette/tests/unit/test_simpletest_sanity.py => testing/marionette/harness/marionette/tests/unit/test_simpletest_sanity.py
rename : testing/marionette/client/marionette/tests/unit/test_simpletest_timeout.js => testing/marionette/harness/marionette/tests/unit/test_simpletest_timeout.js
rename : testing/marionette/client/marionette/tests/unit/test_single_finger.py => testing/marionette/harness/marionette/tests/unit/test_single_finger.py
rename : testing/marionette/client/marionette/tests/unit/test_single_finger_desktop.py => testing/marionette/harness/marionette/tests/unit/test_single_finger_desktop.py
rename : testing/marionette/client/marionette/tests/unit/test_skip_setup.py => testing/marionette/harness/marionette/tests/unit/test_skip_setup.py
rename : testing/marionette/client/marionette/tests/unit/test_switch_frame.py => testing/marionette/harness/marionette/tests/unit/test_switch_frame.py
rename : testing/marionette/client/marionette/tests/unit/test_switch_frame_chrome.py => testing/marionette/harness/marionette/tests/unit/test_switch_frame_chrome.py
rename : testing/marionette/client/marionette/tests/unit/test_switch_remote_frame.py => testing/marionette/harness/marionette/tests/unit/test_switch_remote_frame.py
rename : testing/marionette/client/marionette/tests/unit/test_teardown_context_preserved.py => testing/marionette/harness/marionette/tests/unit/test_teardown_context_preserved.py
rename : testing/marionette/client/marionette/tests/unit/test_text.py => testing/marionette/harness/marionette/tests/unit/test_text.py
rename : testing/marionette/client/marionette/tests/unit/test_text_chrome.py => testing/marionette/harness/marionette/tests/unit/test_text_chrome.py
rename : testing/marionette/client/marionette/tests/unit/test_timeouts.py => testing/marionette/harness/marionette/tests/unit/test_timeouts.py
rename : testing/marionette/client/marionette/tests/unit/test_transport.py => testing/marionette/harness/marionette/tests/unit/test_transport.py
rename : testing/marionette/client/marionette/tests/unit/test_typing.py => testing/marionette/harness/marionette/tests/unit/test_typing.py
rename : testing/marionette/client/marionette/tests/unit/test_using_permissions.py => testing/marionette/harness/marionette/tests/unit/test_using_permissions.py
rename : testing/marionette/client/marionette/tests/unit/test_using_prefs.py => testing/marionette/harness/marionette/tests/unit/test_using_prefs.py
rename : testing/marionette/client/marionette/tests/unit/test_visibility.py => testing/marionette/harness/marionette/tests/unit/test_visibility.py
rename : testing/marionette/client/marionette/tests/unit/test_wait.py => testing/marionette/harness/marionette/tests/unit/test_wait.py
rename : testing/marionette/client/marionette/tests/unit/test_window_handles.py => testing/marionette/harness/marionette/tests/unit/test_window_handles.py
rename : testing/marionette/client/marionette/tests/unit/test_window_management.py => testing/marionette/harness/marionette/tests/unit/test_window_management.py
rename : testing/marionette/client/marionette/tests/unit/test_window_position.py => testing/marionette/harness/marionette/tests/unit/test_window_position.py
rename : testing/marionette/client/marionette/tests/unit/test_window_switching.py => testing/marionette/harness/marionette/tests/unit/test_window_switching.py
rename : testing/marionette/client/marionette/tests/unit/test_window_title.py => testing/marionette/harness/marionette/tests/unit/test_window_title.py
rename : testing/marionette/client/marionette/tests/unit/test_window_type.py => testing/marionette/harness/marionette/tests/unit/test_window_type.py
rename : testing/marionette/client/marionette/tests/unit/test_with_using_context.py => testing/marionette/harness/marionette/tests/unit/test_with_using_context.py
rename : testing/marionette/client/marionette/tests/unit/unit-tests.ini => testing/marionette/harness/marionette/tests/unit/unit-tests.ini
rename : testing/marionette/client/marionette/tests/update-tests.ini => testing/marionette/harness/marionette/tests/update-tests.ini
rename : testing/marionette/client/marionette/tests/webapi-tests.ini => testing/marionette/harness/marionette/tests/webapi-tests.ini
rename : testing/marionette/client/marionette/venv_b2g_update_test.sh => testing/marionette/harness/marionette/venv_b2g_update_test.sh
rename : testing/marionette/client/marionette/www/bug814037.html => testing/marionette/harness/marionette/www/bug814037.html
rename : testing/marionette/client/marionette/www/click_out_of_bounds_overflow.html => testing/marionette/harness/marionette/www/click_out_of_bounds_overflow.html
rename : testing/marionette/client/marionette/www/clicks.html => testing/marionette/harness/marionette/www/clicks.html
rename : testing/marionette/client/marionette/www/cssTransform.html => testing/marionette/harness/marionette/www/cssTransform.html
rename : testing/marionette/client/marionette/www/cssTransform2.html => testing/marionette/harness/marionette/www/cssTransform2.html
rename : testing/marionette/client/marionette/www/datetimePage.html => testing/marionette/harness/marionette/www/datetimePage.html
rename : testing/marionette/client/marionette/www/deletingFrame.html => testing/marionette/harness/marionette/www/deletingFrame.html
rename : testing/marionette/client/marionette/www/double_click.html => testing/marionette/harness/marionette/www/double_click.html
rename : testing/marionette/client/marionette/www/element_bottom.html => testing/marionette/harness/marionette/www/element_bottom.html
rename : testing/marionette/client/marionette/www/element_left.html => testing/marionette/harness/marionette/www/element_left.html
rename : testing/marionette/client/marionette/www/element_outside_viewport.html => testing/marionette/harness/marionette/www/element_outside_viewport.html
rename : testing/marionette/client/marionette/www/element_right.html => testing/marionette/harness/marionette/www/element_right.html
rename : testing/marionette/client/marionette/www/element_top.html => testing/marionette/harness/marionette/www/element_top.html
rename : testing/marionette/client/marionette/www/empty.html => testing/marionette/harness/marionette/www/empty.html
rename : testing/marionette/client/marionette/www/formPage.html => testing/marionette/harness/marionette/www/formPage.html
rename : testing/marionette/client/marionette/www/frameset.html => testing/marionette/harness/marionette/www/frameset.html
rename : testing/marionette/client/marionette/www/framesetPage2.html => testing/marionette/harness/marionette/www/framesetPage2.html
rename : testing/marionette/client/marionette/www/hidden.html => testing/marionette/harness/marionette/www/hidden.html
rename : testing/marionette/client/marionette/www/html5/blue.jpg => testing/marionette/harness/marionette/www/html5/blue.jpg
rename : testing/marionette/client/marionette/www/html5/boolean_attributes.html => testing/marionette/harness/marionette/www/html5/boolean_attributes.html
rename : testing/marionette/client/marionette/www/html5/geolocation.js => testing/marionette/harness/marionette/www/html5/geolocation.js
rename : testing/marionette/client/marionette/www/html5/green.jpg => testing/marionette/harness/marionette/www/html5/green.jpg
rename : testing/marionette/client/marionette/www/html5/offline.html => testing/marionette/harness/marionette/www/html5/offline.html
rename : testing/marionette/client/marionette/www/html5/red.jpg => testing/marionette/harness/marionette/www/html5/red.jpg
rename : testing/marionette/client/marionette/www/html5/status.html => testing/marionette/harness/marionette/www/html5/status.html
rename : testing/marionette/client/marionette/www/html5/test.appcache => testing/marionette/harness/marionette/www/html5/test.appcache
rename : testing/marionette/client/marionette/www/html5/test_html_inputs.html => testing/marionette/harness/marionette/www/html5/test_html_inputs.html
rename : testing/marionette/client/marionette/www/html5/yellow.jpg => testing/marionette/harness/marionette/www/html5/yellow.jpg
rename : testing/marionette/client/marionette/www/html5Page.html => testing/marionette/harness/marionette/www/html5Page.html
rename : testing/marionette/client/marionette/www/javascriptPage.html => testing/marionette/harness/marionette/www/javascriptPage.html
rename : testing/marionette/client/marionette/www/macbeth.html => testing/marionette/harness/marionette/www/macbeth.html
rename : testing/marionette/client/marionette/www/modal_dialogs.html => testing/marionette/harness/marionette/www/modal_dialogs.html
rename : testing/marionette/client/marionette/www/nestedElements.html => testing/marionette/harness/marionette/www/nestedElements.html
rename : testing/marionette/client/marionette/www/rectangles.html => testing/marionette/harness/marionette/www/rectangles.html
rename : testing/marionette/client/marionette/www/resultPage.html => testing/marionette/harness/marionette/www/resultPage.html
rename : testing/marionette/client/marionette/www/scroll.html => testing/marionette/harness/marionette/www/scroll.html
rename : testing/marionette/client/marionette/www/scroll2.html => testing/marionette/harness/marionette/www/scroll2.html
rename : testing/marionette/client/marionette/www/scroll3.html => testing/marionette/harness/marionette/www/scroll3.html
rename : testing/marionette/client/marionette/www/scroll4.html => testing/marionette/harness/marionette/www/scroll4.html
rename : testing/marionette/client/marionette/www/scroll5.html => testing/marionette/harness/marionette/www/scroll5.html
rename : testing/marionette/client/marionette/www/shim.js => testing/marionette/harness/marionette/www/shim.js
rename : testing/marionette/client/marionette/www/test.html => testing/marionette/harness/marionette/www/test.html
rename : testing/marionette/client/marionette/www/testAction.html => testing/marionette/harness/marionette/www/testAction.html
rename : testing/marionette/client/marionette/www/testPageSource.html => testing/marionette/harness/marionette/www/testPageSource.html
rename : testing/marionette/client/marionette/www/testPageSource.xml => testing/marionette/harness/marionette/www/testPageSource.xml
rename : testing/marionette/client/marionette/www/testPageSourceWithUnicodeChars.html => testing/marionette/harness/marionette/www/testPageSourceWithUnicodeChars.html
rename : testing/marionette/client/marionette/www/testSize.html => testing/marionette/harness/marionette/www/testSize.html
rename : testing/marionette/client/marionette/www/test_accessibility.html => testing/marionette/harness/marionette/www/test_accessibility.html
rename : testing/marionette/client/marionette/www/test_carets_display_none.html => testing/marionette/harness/marionette/www/test_carets_display_none.html
rename : testing/marionette/client/marionette/www/test_clearing.html => testing/marionette/harness/marionette/www/test_clearing.html
rename : testing/marionette/client/marionette/www/test_dynamic.html => testing/marionette/harness/marionette/www/test_dynamic.html
rename : testing/marionette/client/marionette/www/test_iframe.html => testing/marionette/harness/marionette/www/test_iframe.html
rename : testing/marionette/client/marionette/www/test_inner_iframe.html => testing/marionette/harness/marionette/www/test_inner_iframe.html
rename : testing/marionette/client/marionette/www/test_nested_iframe.html => testing/marionette/harness/marionette/www/test_nested_iframe.html
rename : testing/marionette/client/marionette/www/test_oop_1.html => testing/marionette/harness/marionette/www/test_oop_1.html
rename : testing/marionette/client/marionette/www/test_oop_2.html => testing/marionette/harness/marionette/www/test_oop_2.html
rename : testing/marionette/client/marionette/www/test_selectioncarets.html => testing/marionette/harness/marionette/www/test_selectioncarets.html
rename : testing/marionette/client/marionette/www/test_selectioncarets_iframe.html => testing/marionette/harness/marionette/www/test_selectioncarets_iframe.html
rename : testing/marionette/client/marionette/www/test_selectioncarets_longtext.html => testing/marionette/harness/marionette/www/test_selectioncarets_longtext.html
rename : testing/marionette/client/marionette/www/test_selectioncarets_multipleline.html => testing/marionette/harness/marionette/www/test_selectioncarets_multipleline.html
rename : testing/marionette/client/marionette/www/test_selectioncarets_multiplerange.html => testing/marionette/harness/marionette/www/test_selectioncarets_multiplerange.html
rename : testing/marionette/client/marionette/www/test_shadow_dom.html => testing/marionette/harness/marionette/www/test_shadow_dom.html
rename : testing/marionette/client/marionette/www/test_touchcaret.html => testing/marionette/harness/marionette/www/test_touchcaret.html
rename : testing/marionette/client/marionette/www/test_windows.html => testing/marionette/harness/marionette/www/test_windows.html
rename : testing/marionette/client/marionette/www/windowHandles.html => testing/marionette/harness/marionette/www/windowHandles.html
rename : testing/marionette/client/marionette/www/xhtmlTest.html => testing/marionette/harness/marionette/www/xhtmlTest.html
rename : testing/marionette/client/requirements.txt => testing/marionette/harness/requirements.txt
rename : testing/marionette/client/setup.py => testing/marionette/harness/setup.py
extra : rebase_source : 2e2cb0e1b959bade8423f00f848995767bd5435f
2016-02-06 17:34:10 +00:00
Andreas Tolfsen b4cc1449e1 Bug 1205687 - Add Mn test flavour and include tests in build manifests; r=jgraham
--HG--
extra : rebase_source : 3757f860eefed15a06d1acd7bd0b553b306151a6
2015-09-18 14:53:37 +01:00
Maja Frydrychowicz 3b676c802b Bug 1223429 - Return exit code 10 when Marionette harness has failing tests; r=automatedtester
--HG--
extra : rebase_source : 0e3dfb94d210143f81a45049f3ecbd01bb5ce9a7
2015-11-10 13:09:13 -05:00
David Burns 19232bc3e9 Bug 1222388: Correct `./mach marionette-test` r=ato
There have been a number of improvements to the marionette test runner
unfortunately we missed this regression.

--HG--
extra : commitid : KE4FPolRysN
extra : rebase_source : 546152a67a4fd96a1d3c63ba914839c316022eaf
2015-11-09 14:07:52 +00:00
Vaibhav Agrawal a3060365b9 Bug 1163797 - Removing CommandArguments decorators from marionette-test mach command and making it use argparse from test harness. r=ahal
--HG--
extra : transplant_source : %3A%21%E4KF%0F%25%1Ey%A0v%DBs%EDU%DF%E2%EC%90%B1
2015-09-02 15:57:25 -07:00
Andrew Halberstadt a70c676bef Bug 1163801 - Refactor marionette's options mixin system for argparse compatibility, r=AutomatedTester
--HG--
extra : commitid : 1x8q2ly2ySN
extra : rebase_source : 96ae7670be16280625980363c877eaffc5db0949
2015-08-18 16:27:04 -04:00
Vibhor Sehgal 1cc0a0bf8d Bug 1163801 - Upgrade marionette-client from optparse to argparse, r=ahal
--HG--
extra : commitid : 10d2GZoRUqa
extra : rebase_source : 1b464783d33a41a85bc1538ad3f94f3848b9a133
2015-08-18 16:30:21 -04:00
Gregory Szorc 3e949ee8fe Bug 1176642 - Use absolute_import in mach_commands.py files; r=glandium
This removes ambiguity as to which modules are being imported, making
import slightly faster as Python doesn't need to test so many
directories for file presence.

All files should already be using absolute imports because mach command
modules aren't imported to the package they belong to: they instead
belong to the "mach" package. So relative imports shouldn't have been
used.

--HG--
extra : commitid : 6tFME1KKfTD
extra : rebase_source : 78728f82f5487281620e00c2a8004cd5e1968087
2015-06-21 17:39:09 -07:00
Gregory Szorc a19bee3a08 Bug 1176642 - Remove unused imports; r=glandium
--HG--
extra : commitid : IZ7JkH4GKW4
extra : rebase_source : 4c3301c5c353be8afed407df4a003a9cac4583e8
2015-06-25 12:16:38 -07:00
Andrew Halberstadt 056bddce11 Bug 987360 - Add ability to tag tests with arbitrary strings and run them, r=chmanchester
Add a `tags` attribute to a test or DEFAULT section in a manifest:

[test_foo]
tags = foo

Then run all tests with a given tag by passing in `--tag foo` to a supported test harness. So far mochitest, xpcshell and marionette are supported.

--HG--
extra : rebase_source : d75905da1ca021a15a9538117d3866425f73d962
extra : source : 3c34fd480729e3b6684fba747ff61078f672ce16
2015-03-19 16:15:33 -04:00
Ryan VanderMeulen 378481f17f Backed out changesets acbab9e22691 and 3c34fd480729 (bug 987360) for Android/B2G xpcshell bustage.
CLOSED TREE

--HG--
extra : rebase_source : d79b1dcfb12ae8e12efefd7d15b8a2f9f5063377
2015-03-27 13:12:19 -04:00
Andrew Halberstadt e3068d1b6f Bug 987360 - Add ability to tag tests with arbitrary strings and run them, r=chmanchester
Add a `tags` attribute to a test or DEFAULT section in a manifest:

[test_foo]
tags = foo

Then run all tests with a given tag by passing in `--tag foo` to a supported test harness. So far mochitest, xpcshell and marionette are supported.

--HG--
extra : rebase_source : 68a0931c6a8ee1df4f5c09d67c396490774aa856
2015-03-19 16:15:33 -04:00
Julien Pagès fa13622978 Bug 1025125 - If enabled, enter pdb session when test fails. r=ahal 2015-03-10 07:46:00 -04:00
Chris Manchester dc928c0e88 Bug 1109183 - Fix imports of the marionette client and remove spurious entry from sys.path provided by mach. r=ahal
--HG--
extra : rebase_source : 1c6579dfd5cd44973a74b5c0f81b14fca6f170d4
2015-03-03 17:37:19 -08:00
Chris Manchester 88ee2578a8 Bug 1114474 - Unbreak some mach consumers of marionette.r=ahal 2015-02-10 13:55:33 -08:00
Chris Manchester 7059c5b81b Bug 1120630 - Add --e10s to turn on electrolysis for marionette tests.;r=jgriffin 2015-01-13 21:27:25 -05:00
Chris Manchester 576352c346 Bug 1100124 - Add --jsdebugger to run marionette under the jsdebugger.;r=ato 2014-12-18 12:52:17 -05:00
Chris Manchester ca14c5b53f Bug 1095635 - Accept '-' to correspond to stdout for marionette's --gecko-log option.;r=ahal 2014-11-17 22:21:51 -05:00
Andrew Halberstadt 1c69ea3a06 Bug 1084587 - Add --profile to |mach marionette-test|, r=jgriffin, DONTBUILD, a=NPOTB
Note: This also refactors the entry points a bit to automatically pass through **kwargs instead of needing to explicitly list each parameter in about three different locations.
2014-10-20 08:55:28 -04:00
Chris Manchester 83c51d6502 Bug 1050511 - Modify import of marionette harness to avoid a mismatch in assertRaises when running through mach. r=gps 2014-10-10 12:58:10 -04:00
Sylvestre Ledru 2e0c1ce1ec Bug 1050715 - Update the description of the various tests targed proposed by './mach help' r=jmaher
--HG--
extra : rebase_source : 29019a02711ffce5c148787517051855259b6446
2014-08-09 15:37:29 +02:00
Chris Manchester 8cd190a5d7 Bug 1036869 - Make mach accept structured logging command line arguments for marionette.;r=jgraham 2014-07-17 21:28:45 -04:00
Chris Manchester ffb87becb3 Bug 956739 - Move marionette tests to structured logging.;r=mdas 2014-01-16 14:58:56 +00:00
Vicamo Yang d97ffaef80 Bug 996443: carry emulator arch automatically for mach commands. r=ahal 2014-05-01 00:57:39 +08:00
Vicamo Yang e58c108d84 Bug 975442: recognize as emulator if device name begins with 'emulator'. r=jgriffin 2014-04-09 10:14:07 +08:00
Jonathan Griffin 05107f9406 Bug 979650 - Always build with Marionette for Firefox, b2g desktop, r=ted 2014-03-11 13:22:34 -07:00
Dave Hunt 94b4c5f5fd Bug 950641 - Automatically use the appropriate GeckoInstance class. r=jgriffin 2013-12-20 13:12:40 +00:00
Vicamo Yang 03e99dc4fd Bug 949398: fix missing MarionetteTestOptions. r=jgriffin 2013-12-17 10:17:08 +08:00
Jonathan Griffin 5fb6292b1c Bug 929121 - Don't pass a null bin parameter, r=ahal, DONTBUILD because NPOTB 2013-10-21 14:26:40 -07:00
Jonathan Griffin 134858c6de Bug 926693 - Add B2G support to marionette's mach command, r=ahal 2013-10-15 12:54:21 -07:00
Gregory Szorc 298c09657e Bug 856392 - Categorize mach commands; r=jhammel
DONTBUILD (NPOTB)
2013-05-08 17:56:30 -07:00
Gregory Szorc 201dcd21f9 Bug 799308 - Mach command for running Marionette, r=gps 2013-04-19 05:19:54 -07:00