forked from mirrors/gecko-dev
MozReview-Commit-ID: L6V3b5h8RWm --HG-- rename : testing/marionette/harness/marionette/chrome/test.xul => testing/marionette/chrome/test.xul rename : testing/marionette/harness/marionette/chrome/test2.xul => testing/marionette/chrome/test2.xul rename : testing/marionette/harness/marionette/chrome/test_anonymous_content.xul => testing/marionette/chrome/test_anonymous_content.xul rename : testing/marionette/harness/marionette/chrome/test_dialog.xul => testing/marionette/chrome/test_dialog.xul rename : testing/marionette/harness/marionette/chrome/test_nested_iframe.xul => testing/marionette/chrome/test_nested_iframe.xul rename : testing/marionette/harness/marionette/__init__.py => testing/marionette/harness/marionette_harness/__init__.py rename : testing/marionette/harness/marionette/marionette_test/__init__.py => testing/marionette/harness/marionette_harness/marionette_test/__init__.py rename : testing/marionette/harness/marionette/marionette_test/decorators.py => testing/marionette/harness/marionette_harness/marionette_test/decorators.py rename : testing/marionette/harness/marionette/marionette_test/errors.py => testing/marionette/harness/marionette_harness/marionette_test/errors.py rename : testing/marionette/harness/marionette/marionette_test/testcases.py => testing/marionette/harness/marionette_harness/marionette_test/testcases.py rename : testing/marionette/harness/marionette/runner/__init__.py => testing/marionette/harness/marionette_harness/runner/__init__.py rename : testing/marionette/harness/marionette/runner/base.py => testing/marionette/harness/marionette_harness/runner/base.py rename : testing/marionette/harness/marionette/runner/httpd.py => testing/marionette/harness/marionette_harness/runner/httpd.py rename : testing/marionette/harness/marionette/runner/mixins/__init__.py => testing/marionette/harness/marionette_harness/runner/mixins/__init__.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/History.md => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/History.md rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/__init__.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/__init__.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/client.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/client.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/server.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/server.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/Makefile => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/Makefile rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/.buildinfo => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/.buildinfo rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/browsermobproxy.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/browsermobproxy.html rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/index.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/index.html rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/client.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/client.txt rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/index.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/index.txt rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/server.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/server.txt rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/basic.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/basic.css rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/default.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/default.css rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/doctools.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/doctools.js rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/jquery.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/jquery.js rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/pygments.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/pygments.css rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/searchtools.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/searchtools.js rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/sidebar.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/sidebar.js rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/underscore.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/underscore.js rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/websupport.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/websupport.js rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/client.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/client.html rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/genindex.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/genindex.html rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/index.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/index.html rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/objects.inv => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/objects.inv rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/py-modindex.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/py-modindex.html rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/search.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/search.html rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/searchindex.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/searchindex.js rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/server.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/server.html rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/client.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/client.rst rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/conf.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/conf.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/index.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/index.rst rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/make.bat => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/make.bat rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/server.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/server.rst rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/readme.md => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/readme.md rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/setup.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/setup.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_client.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_client.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_remote.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_remote.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_webdriver.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_webdriver.py rename : testing/marionette/harness/marionette/runner/mixins/browsermob.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob.py rename : testing/marionette/harness/marionette/runner/mixins/window_manager.py => testing/marionette/harness/marionette_harness/runner/mixins/window_manager.py rename : testing/marionette/harness/marionette/runner/serve.py => testing/marionette/harness/marionette_harness/runner/serve.py rename : testing/marionette/harness/marionette/runner/test.cert => testing/marionette/harness/marionette_harness/runner/test.cert rename : testing/marionette/harness/marionette/runner/test.key => testing/marionette/harness/marionette_harness/runner/test.key rename : testing/marionette/harness/marionette/runtests.py => testing/marionette/harness/marionette_harness/runtests.py rename : testing/marionette/harness/marionette/tests/harness_unit/conftest.py => testing/marionette/harness/marionette_harness/tests/harness_unit/conftest.py rename : testing/marionette/harness/marionette/tests/harness_unit/test_httpd.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_httpd.py rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_arguments.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_arguments.py rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_harness.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_harness.py rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_runner.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_runner.py rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_test_result.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_test_result.py rename : testing/marionette/harness/marionette/tests/harness_unit/test_serve.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_serve.py rename : testing/marionette/harness/marionette/tests/unit-tests.ini => testing/marionette/harness/marionette_harness/tests/unit-tests.ini rename : testing/marionette/harness/marionette/tests/unit/importanotherscript.js => testing/marionette/harness/marionette_harness/tests/unit/importanotherscript.js rename : testing/marionette/harness/marionette/tests/unit/importscript.js => testing/marionette/harness/marionette_harness/tests/unit/importscript.js rename : testing/marionette/harness/marionette/tests/unit/mn-restartless-unsigned.xpi => testing/marionette/harness/marionette_harness/tests/unit/mn-restartless-unsigned.xpi rename : testing/marionette/harness/marionette/tests/unit/single_finger_functions.py => testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py rename : testing/marionette/harness/marionette/tests/unit/test_about_pages.py => testing/marionette/harness/marionette_harness/tests/unit/test_about_pages.py rename : testing/marionette/harness/marionette/tests/unit/test_accessibility.py => testing/marionette/harness/marionette_harness/tests/unit/test_accessibility.py rename : testing/marionette/harness/marionette/tests/unit/test_addons.py => testing/marionette/harness/marionette_harness/tests/unit/test_addons.py rename : testing/marionette/harness/marionette/tests/unit/test_anonymous_content.py => testing/marionette/harness/marionette_harness/tests/unit/test_anonymous_content.py rename : testing/marionette/harness/marionette/tests/unit/test_browsermobproxy.py => testing/marionette/harness/marionette_harness/tests/unit/test_browsermobproxy.py rename : testing/marionette/harness/marionette/tests/unit/test_capabilities.py => testing/marionette/harness/marionette_harness/tests/unit/test_capabilities.py rename : testing/marionette/harness/marionette/tests/unit/test_certificates.py => testing/marionette/harness/marionette_harness/tests/unit/test_certificates.py rename : testing/marionette/harness/marionette/tests/unit/test_checkbox.py => testing/marionette/harness/marionette_harness/tests/unit/test_checkbox.py rename : testing/marionette/harness/marionette/tests/unit/test_checkbox_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_checkbox_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_chrome_async_finish.js => testing/marionette/harness/marionette_harness/tests/unit/test_chrome_async_finish.js rename : testing/marionette/harness/marionette/tests/unit/test_chrome_element_css.py => testing/marionette/harness/marionette_harness/tests/unit/test_chrome_element_css.py rename : testing/marionette/harness/marionette/tests/unit/test_clearing.py => testing/marionette/harness/marionette_harness/tests/unit/test_clearing.py rename : testing/marionette/harness/marionette/tests/unit/test_click.py => testing/marionette/harness/marionette_harness/tests/unit/test_click.py rename : testing/marionette/harness/marionette/tests/unit/test_click_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_click_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_click_scrolling.py => testing/marionette/harness/marionette_harness/tests/unit/test_click_scrolling.py rename : testing/marionette/harness/marionette/tests/unit/test_cookies.py => testing/marionette/harness/marionette_harness/tests/unit/test_cookies.py rename : testing/marionette/harness/marionette/tests/unit/test_crash.py => testing/marionette/harness/marionette_harness/tests/unit/test_crash.py rename : testing/marionette/harness/marionette/tests/unit/test_data_driven.py => testing/marionette/harness/marionette_harness/tests/unit/test_data_driven.py rename : testing/marionette/harness/marionette/tests/unit/test_date_time_value.py => testing/marionette/harness/marionette_harness/tests/unit/test_date_time_value.py rename : testing/marionette/harness/marionette/tests/unit/test_element_retrieval.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_retrieval.py rename : testing/marionette/harness/marionette/tests/unit/test_element_state.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_state.py rename : testing/marionette/harness/marionette/tests/unit/test_element_state_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_state_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_elementsize.py => testing/marionette/harness/marionette_harness/tests/unit/test_elementsize.py rename : testing/marionette/harness/marionette/tests/unit/test_elementsize_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_elementsize_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_errors.py => testing/marionette/harness/marionette_harness/tests/unit/test_errors.py rename : testing/marionette/harness/marionette/tests/unit/test_execute_async_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_async_script.py rename : testing/marionette/harness/marionette/tests/unit/test_execute_isolate.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_isolate.py rename : testing/marionette/harness/marionette/tests/unit/test_execute_sandboxes.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_sandboxes.py rename : testing/marionette/harness/marionette/tests/unit/test_execute_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_script.py rename : testing/marionette/harness/marionette/tests/unit/test_expected.py => testing/marionette/harness/marionette_harness/tests/unit/test_expected.py rename : testing/marionette/harness/marionette/tests/unit/test_expectedfail.py => testing/marionette/harness/marionette_harness/tests/unit/test_expectedfail.py rename : testing/marionette/harness/marionette/tests/unit/test_file_upload.py => testing/marionette/harness/marionette_harness/tests/unit/test_file_upload.py rename : testing/marionette/harness/marionette/tests/unit/test_findelement_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_findelement_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_geckoinstance.py => testing/marionette/harness/marionette_harness/tests/unit/test_geckoinstance.py rename : testing/marionette/harness/marionette/tests/unit/test_getactiveframe_oop.py => testing/marionette/harness/marionette_harness/tests/unit/test_getactiveframe_oop.py rename : testing/marionette/harness/marionette/tests/unit/test_implicit_waits.py => testing/marionette/harness/marionette_harness/tests/unit/test_implicit_waits.py rename : testing/marionette/harness/marionette/tests/unit/test_import_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_import_script.py rename : testing/marionette/harness/marionette/tests/unit/test_key_actions.py => testing/marionette/harness/marionette_harness/tests/unit/test_key_actions.py rename : testing/marionette/harness/marionette/tests/unit/test_localization.py => testing/marionette/harness/marionette_harness/tests/unit/test_localization.py rename : testing/marionette/harness/marionette/tests/unit/test_log.py => testing/marionette/harness/marionette_harness/tests/unit/test_log.py rename : testing/marionette/harness/marionette/tests/unit/test_marionette.py => testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py rename : testing/marionette/harness/marionette/tests/unit/test_modal_dialogs.py => testing/marionette/harness/marionette_harness/tests/unit/test_modal_dialogs.py rename : testing/marionette/harness/marionette/tests/unit/test_mouse_action.py => testing/marionette/harness/marionette_harness/tests/unit/test_mouse_action.py rename : testing/marionette/harness/marionette/tests/unit/test_navigation.py => testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py rename : testing/marionette/harness/marionette/tests/unit/test_pagesource.py => testing/marionette/harness/marionette_harness/tests/unit/test_pagesource.py rename : testing/marionette/harness/marionette/tests/unit/test_pagesource_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_pagesource_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_position.py => testing/marionette/harness/marionette_harness/tests/unit/test_position.py rename : testing/marionette/harness/marionette/tests/unit/test_prefs.py => testing/marionette/harness/marionette_harness/tests/unit/test_prefs.py rename : testing/marionette/harness/marionette/tests/unit/test_profile_management.py => testing/marionette/harness/marionette_harness/tests/unit/test_profile_management.py rename : testing/marionette/harness/marionette/tests/unit/test_proxy.py => testing/marionette/harness/marionette_harness/tests/unit/test_proxy.py rename : testing/marionette/harness/marionette/tests/unit/test_quit_restart.py => testing/marionette/harness/marionette_harness/tests/unit/test_quit_restart.py rename : testing/marionette/harness/marionette/tests/unit/test_rendered_element.py => testing/marionette/harness/marionette_harness/tests/unit/test_rendered_element.py rename : testing/marionette/harness/marionette/tests/unit/test_report.py => testing/marionette/harness/marionette_harness/tests/unit/test_report.py rename : testing/marionette/harness/marionette/tests/unit/test_run_js_test.py => testing/marionette/harness/marionette_harness/tests/unit/test_run_js_test.py rename : testing/marionette/harness/marionette/tests/unit/test_screen_orientation.py => testing/marionette/harness/marionette_harness/tests/unit/test_screen_orientation.py rename : testing/marionette/harness/marionette/tests/unit/test_screenshot.py => testing/marionette/harness/marionette_harness/tests/unit/test_screenshot.py rename : testing/marionette/harness/marionette/tests/unit/test_select.py => testing/marionette/harness/marionette_harness/tests/unit/test_select.py rename : testing/marionette/harness/marionette/tests/unit/test_session.py => testing/marionette/harness/marionette_harness/tests/unit/test_session.py rename : testing/marionette/harness/marionette/tests/unit/test_set_window_size.py => testing/marionette/harness/marionette_harness/tests/unit/test_set_window_size.py rename : testing/marionette/harness/marionette/tests/unit/test_shadow_dom.py => testing/marionette/harness/marionette_harness/tests/unit/test_shadow_dom.py rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_chrome.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_chrome.js rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_fail.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_fail.js rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_pass.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_pass.js rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_sanity.py => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_sanity.py rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_timeout.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_timeout.js rename : testing/marionette/harness/marionette/tests/unit/test_single_finger_desktop.py => testing/marionette/harness/marionette_harness/tests/unit/test_single_finger_desktop.py rename : testing/marionette/harness/marionette/tests/unit/test_skip_setup.py => testing/marionette/harness/marionette_harness/tests/unit/test_skip_setup.py rename : testing/marionette/harness/marionette/tests/unit/test_switch_frame.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_frame.py rename : testing/marionette/harness/marionette/tests/unit/test_switch_frame_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_frame_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_switch_remote_frame.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_remote_frame.py rename : testing/marionette/harness/marionette/tests/unit/test_teardown_context_preserved.py => testing/marionette/harness/marionette_harness/tests/unit/test_teardown_context_preserved.py rename : testing/marionette/harness/marionette/tests/unit/test_text.py => testing/marionette/harness/marionette_harness/tests/unit/test_text.py rename : testing/marionette/harness/marionette/tests/unit/test_text_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_text_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_timeouts.py => testing/marionette/harness/marionette_harness/tests/unit/test_timeouts.py rename : testing/marionette/harness/marionette/tests/unit/test_transport.py => testing/marionette/harness/marionette_harness/tests/unit/test_transport.py rename : testing/marionette/harness/marionette/tests/unit/test_typing.py => testing/marionette/harness/marionette_harness/tests/unit/test_typing.py rename : testing/marionette/harness/marionette/tests/unit/test_using_permissions.py => testing/marionette/harness/marionette_harness/tests/unit/test_using_permissions.py rename : testing/marionette/harness/marionette/tests/unit/test_visibility.py => testing/marionette/harness/marionette_harness/tests/unit/test_visibility.py rename : testing/marionette/harness/marionette/tests/unit/test_wait.py => testing/marionette/harness/marionette_harness/tests/unit/test_wait.py rename : testing/marionette/harness/marionette/tests/unit/test_window_handles.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_handles.py rename : testing/marionette/harness/marionette/tests/unit/test_window_management.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_management.py rename : testing/marionette/harness/marionette/tests/unit/test_window_position.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_position.py rename : testing/marionette/harness/marionette/tests/unit/test_window_switching.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_switching.py rename : testing/marionette/harness/marionette/tests/unit/test_window_title.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_title.py rename : testing/marionette/harness/marionette/tests/unit/test_window_title_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_title_chrome.py rename : testing/marionette/harness/marionette/tests/unit/test_window_type.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_type.py rename : testing/marionette/harness/marionette/tests/unit/test_with_using_context.py => testing/marionette/harness/marionette_harness/tests/unit/test_with_using_context.py rename : testing/marionette/harness/marionette/tests/unit/unit-tests.ini => testing/marionette/harness/marionette_harness/tests/unit/unit-tests.ini rename : testing/marionette/harness/marionette/tests/webapi-tests.ini => testing/marionette/harness/marionette_harness/tests/webapi-tests.ini rename : testing/marionette/harness/marionette/www/bug814037.html => testing/marionette/harness/marionette_harness/www/bug814037.html rename : testing/marionette/harness/marionette/www/click_out_of_bounds_overflow.html => testing/marionette/harness/marionette_harness/www/click_out_of_bounds_overflow.html rename : testing/marionette/harness/marionette/www/clicks.html => testing/marionette/harness/marionette_harness/www/clicks.html rename : testing/marionette/harness/marionette/www/cssTransform.html => testing/marionette/harness/marionette_harness/www/cssTransform.html rename : testing/marionette/harness/marionette/www/cssTransform2.html => testing/marionette/harness/marionette_harness/www/cssTransform2.html rename : testing/marionette/harness/marionette/www/datetimePage.html => testing/marionette/harness/marionette_harness/www/datetimePage.html rename : testing/marionette/harness/marionette/www/deletingFrame.html => testing/marionette/harness/marionette_harness/www/deletingFrame.html rename : testing/marionette/harness/marionette/www/double_click.html => testing/marionette/harness/marionette_harness/www/double_click.html rename : testing/marionette/harness/marionette/www/element_bottom.html => testing/marionette/harness/marionette_harness/www/element_bottom.html rename : testing/marionette/harness/marionette/www/element_left.html => testing/marionette/harness/marionette_harness/www/element_left.html rename : testing/marionette/harness/marionette/www/element_outside_viewport.html => testing/marionette/harness/marionette_harness/www/element_outside_viewport.html rename : testing/marionette/harness/marionette/www/element_right.html => testing/marionette/harness/marionette_harness/www/element_right.html rename : testing/marionette/harness/marionette/www/element_top.html => testing/marionette/harness/marionette_harness/www/element_top.html rename : testing/marionette/harness/marionette/www/empty.html => testing/marionette/harness/marionette_harness/www/empty.html rename : testing/marionette/harness/marionette/www/formPage.html => testing/marionette/harness/marionette_harness/www/formPage.html rename : testing/marionette/harness/marionette/www/frameset.html => testing/marionette/harness/marionette_harness/www/frameset.html rename : testing/marionette/harness/marionette/www/framesetPage2.html => testing/marionette/harness/marionette_harness/www/framesetPage2.html rename : testing/marionette/harness/marionette/www/hidden.html => testing/marionette/harness/marionette_harness/www/hidden.html rename : testing/marionette/harness/marionette/www/html5/blue.jpg => testing/marionette/harness/marionette_harness/www/html5/blue.jpg rename : testing/marionette/harness/marionette/www/html5/boolean_attributes.html => testing/marionette/harness/marionette_harness/www/html5/boolean_attributes.html rename : testing/marionette/harness/marionette/www/html5/geolocation.js => testing/marionette/harness/marionette_harness/www/html5/geolocation.js rename : testing/marionette/harness/marionette/www/html5/green.jpg => testing/marionette/harness/marionette_harness/www/html5/green.jpg rename : testing/marionette/harness/marionette/www/html5/offline.html => testing/marionette/harness/marionette_harness/www/html5/offline.html rename : testing/marionette/harness/marionette/www/html5/red.jpg => testing/marionette/harness/marionette_harness/www/html5/red.jpg rename : testing/marionette/harness/marionette/www/html5/status.html => testing/marionette/harness/marionette_harness/www/html5/status.html rename : testing/marionette/harness/marionette/www/html5/test.appcache => testing/marionette/harness/marionette_harness/www/html5/test.appcache rename : testing/marionette/harness/marionette/www/html5/test_html_inputs.html => testing/marionette/harness/marionette_harness/www/html5/test_html_inputs.html rename : testing/marionette/harness/marionette/www/html5/yellow.jpg => testing/marionette/harness/marionette_harness/www/html5/yellow.jpg rename : testing/marionette/harness/marionette/www/html5Page.html => testing/marionette/harness/marionette_harness/www/html5Page.html rename : testing/marionette/harness/marionette/www/javascriptPage.html => testing/marionette/harness/marionette_harness/www/javascriptPage.html rename : testing/marionette/harness/marionette/www/macbeth.html => testing/marionette/harness/marionette_harness/www/macbeth.html rename : testing/marionette/harness/marionette/www/modal_dialogs.html => testing/marionette/harness/marionette_harness/www/modal_dialogs.html rename : testing/marionette/harness/marionette/www/nestedElements.html => testing/marionette/harness/marionette_harness/www/nestedElements.html rename : testing/marionette/harness/marionette/www/rectangles.html => testing/marionette/harness/marionette_harness/www/rectangles.html rename : testing/marionette/harness/marionette/www/resultPage.html => testing/marionette/harness/marionette_harness/www/resultPage.html rename : testing/marionette/harness/marionette/www/scroll.html => testing/marionette/harness/marionette_harness/www/scroll.html rename : testing/marionette/harness/marionette/www/scroll2.html => testing/marionette/harness/marionette_harness/www/scroll2.html rename : testing/marionette/harness/marionette/www/scroll3.html => testing/marionette/harness/marionette_harness/www/scroll3.html rename : testing/marionette/harness/marionette/www/scroll4.html => testing/marionette/harness/marionette_harness/www/scroll4.html rename : testing/marionette/harness/marionette/www/scroll5.html => testing/marionette/harness/marionette_harness/www/scroll5.html rename : testing/marionette/harness/marionette/www/shim.js => testing/marionette/harness/marionette_harness/www/shim.js rename : testing/marionette/harness/marionette/www/test.html => testing/marionette/harness/marionette_harness/www/test.html rename : testing/marionette/harness/marionette/www/testAction.html => testing/marionette/harness/marionette_harness/www/testAction.html rename : testing/marionette/harness/marionette/www/testPageSource.html => testing/marionette/harness/marionette_harness/www/testPageSource.html rename : testing/marionette/harness/marionette/www/testPageSource.xml => testing/marionette/harness/marionette_harness/www/testPageSource.xml rename : testing/marionette/harness/marionette/www/testPageSourceWithUnicodeChars.html => testing/marionette/harness/marionette_harness/www/testPageSourceWithUnicodeChars.html rename : testing/marionette/harness/marionette/www/testSize.html => testing/marionette/harness/marionette_harness/www/testSize.html rename : testing/marionette/harness/marionette/www/test_accessibility.html => testing/marionette/harness/marionette_harness/www/test_accessibility.html rename : testing/marionette/harness/marionette/www/test_carets_columns.html => testing/marionette/harness/marionette_harness/www/test_carets_columns.html rename : testing/marionette/harness/marionette/www/test_carets_cursor.html => testing/marionette/harness/marionette_harness/www/test_carets_cursor.html rename : testing/marionette/harness/marionette/www/test_carets_display_none.html => testing/marionette/harness/marionette_harness/www/test_carets_display_none.html rename : testing/marionette/harness/marionette/www/test_carets_iframe.html => testing/marionette/harness/marionette_harness/www/test_carets_iframe.html rename : testing/marionette/harness/marionette/www/test_carets_longtext.html => testing/marionette/harness/marionette_harness/www/test_carets_longtext.html rename : testing/marionette/harness/marionette/www/test_carets_multipleline.html => testing/marionette/harness/marionette_harness/www/test_carets_multipleline.html rename : testing/marionette/harness/marionette/www/test_carets_multiplerange.html => testing/marionette/harness/marionette_harness/www/test_carets_multiplerange.html rename : testing/marionette/harness/marionette/www/test_carets_selection.html => testing/marionette/harness/marionette_harness/www/test_carets_selection.html rename : testing/marionette/harness/marionette/www/test_clearing.html => testing/marionette/harness/marionette_harness/www/test_clearing.html rename : testing/marionette/harness/marionette/www/test_dynamic.html => testing/marionette/harness/marionette_harness/www/test_dynamic.html rename : testing/marionette/harness/marionette/www/test_iframe.html => testing/marionette/harness/marionette_harness/www/test_iframe.html rename : testing/marionette/harness/marionette/www/test_inner_iframe.html => testing/marionette/harness/marionette_harness/www/test_inner_iframe.html rename : testing/marionette/harness/marionette/www/test_nested_iframe.html => testing/marionette/harness/marionette_harness/www/test_nested_iframe.html rename : testing/marionette/harness/marionette/www/test_oop_1.html => testing/marionette/harness/marionette_harness/www/test_oop_1.html rename : testing/marionette/harness/marionette/www/test_oop_2.html => testing/marionette/harness/marionette_harness/www/test_oop_2.html rename : testing/marionette/harness/marionette/www/test_shadow_dom.html => testing/marionette/harness/marionette_harness/www/test_shadow_dom.html rename : testing/marionette/harness/marionette/www/test_windows.html => testing/marionette/harness/marionette_harness/www/test_windows.html rename : testing/marionette/harness/marionette/www/windowHandles.html => testing/marionette/harness/marionette_harness/www/windowHandles.html rename : testing/marionette/harness/marionette/www/xhtmlTest.html => testing/marionette/harness/marionette_harness/www/xhtmlTest.html extra : rebase_source : 67058d4aaa858732563fda6790c3176071c6bd60
170 lines
6.6 KiB
Python
170 lines
6.6 KiB
Python
import threading
|
|
import SimpleHTTPServer
|
|
import SocketServer
|
|
import BaseHTTPServer
|
|
import urllib
|
|
import urlparse
|
|
import os
|
|
import posixpath
|
|
|
|
from marionette_driver.errors import NoSuchElementException
|
|
from marionette_harness import MarionetteTestCase
|
|
|
|
DEBUG = True
|
|
|
|
# Example taken from mozilla-central/browser/components/loop/
|
|
|
|
# XXX Once we're on a branch with bug 993478 landed, we may want to get
|
|
# rid of this HTTP server and just use the built-in one from Marionette,
|
|
# since there will less code to maintain, and it will be faster. We'll
|
|
# need to consider whether this code wants to be shared with WebDriver tests
|
|
# for other browsers, though.
|
|
|
|
class ThreadingSimpleServer(SocketServer.ThreadingMixIn,
|
|
BaseHTTPServer.HTTPServer):
|
|
pass
|
|
|
|
|
|
class HttpRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler, object):
|
|
def __init__(self, *args):
|
|
# set root to toolkit/components/microformats/
|
|
self.root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.normpath(__file__))))
|
|
super(HttpRequestHandler, self).__init__(*args)
|
|
|
|
def log_message(self, format, *args, **kwargs):
|
|
if DEBUG:
|
|
super(HttpRequestHandler, self).log_message(format, *args, **kwargs)
|
|
|
|
def translate_path(self, path):
|
|
"""Translate a /-separated PATH to the local filename syntax.
|
|
|
|
Components that mean special things to the local file system
|
|
(e.g. drive or directory names) are ignored. (XXX They should
|
|
probably be diagnosed.)
|
|
|
|
"""
|
|
# abandon query parameters
|
|
path = path.split('?',1)[0]
|
|
path = path.split('#',1)[0]
|
|
# Don't forget explicit trailing slash when normalizing. Issue17324
|
|
trailing_slash = path.rstrip().endswith('/')
|
|
path = posixpath.normpath(urllib.unquote(path))
|
|
words = path.split('/')
|
|
words = filter(None, words)
|
|
path = self.root
|
|
for word in words:
|
|
drive, word = os.path.splitdrive(word)
|
|
head, word = os.path.split(word)
|
|
if word in (os.curdir, os.pardir): continue
|
|
path = os.path.join(path, word)
|
|
if trailing_slash:
|
|
path += '/'
|
|
return path
|
|
|
|
class BaseTestFrontendUnits(MarionetteTestCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super(BaseTestFrontendUnits, cls).setUpClass()
|
|
|
|
# Port 0 means to select an arbitrary unused port
|
|
cls.server = ThreadingSimpleServer(('', 0), HttpRequestHandler)
|
|
cls.ip, cls.port = cls.server.server_address
|
|
|
|
cls.server_thread = threading.Thread(target=cls.server.serve_forever)
|
|
cls.server_thread.daemon = False
|
|
cls.server_thread.start()
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
cls.server.shutdown()
|
|
cls.server_thread.join()
|
|
|
|
# make sure everything gets GCed so it doesn't interfere with the next
|
|
# test class. Even though this is class-static, each subclass gets
|
|
# its own instance of this stuff.
|
|
cls.server_thread = None
|
|
cls.server = None
|
|
|
|
def setUp(self):
|
|
super(BaseTestFrontendUnits, self).setUp()
|
|
|
|
# Unfortunately, enforcing preferences currently comes with the side
|
|
# effect of launching and restarting the browser before running the
|
|
# real functional tests. Bug 1048554 has been filed to track this.
|
|
#
|
|
# Note: when e10s is enabled by default, this pref can go away. The automatic
|
|
# restart will also go away if this is still the only pref set here.
|
|
self.marionette.enforce_gecko_prefs({
|
|
"browser.tabs.remote.autostart": True
|
|
})
|
|
|
|
# This extends the timeout for find_element. We need this as the tests
|
|
# take an amount of time to run after loading, which we have to wait for.
|
|
self.marionette.timeout.implicit = 120
|
|
|
|
self.marionette.timeout.page_load = 120
|
|
|
|
# srcdir_path should be the directory relative to this file.
|
|
def set_server_prefix(self, srcdir_path):
|
|
self.server_prefix = urlparse.urljoin("http://localhost:" + str(self.port),
|
|
srcdir_path)
|
|
|
|
def check_page(self, page):
|
|
|
|
self.marionette.navigate(urlparse.urljoin(self.server_prefix, page))
|
|
try:
|
|
self.marionette.find_element("id", 'complete')
|
|
except NoSuchElementException:
|
|
fullPageUrl = urlparse.urljoin(self.relPath, page)
|
|
|
|
details = "%s: 1 failure encountered\n%s" % \
|
|
(fullPageUrl,
|
|
self.get_failure_summary(
|
|
fullPageUrl, "Waiting for Completion",
|
|
"Could not find the test complete indicator"))
|
|
|
|
raise AssertionError(details)
|
|
|
|
fail_node = self.marionette.find_element("css selector",
|
|
'.failures > em')
|
|
if fail_node.text == "0":
|
|
return
|
|
|
|
# This may want to be in a more general place triggerable by an env
|
|
# var some day if it ends up being something we need often:
|
|
#
|
|
# If you have browser-based unit tests which work when loaded manually
|
|
# but not from marionette, uncomment the two lines below to break
|
|
# on failing tests, so that the browsers won't be torn down, and you
|
|
# can use the browser debugging facilities to see what's going on.
|
|
#from ipdb import set_trace
|
|
#set_trace()
|
|
|
|
raise AssertionError(self.get_failure_details(page))
|
|
|
|
def get_failure_summary(self, fullPageUrl, testName, testError):
|
|
return "TEST-UNEXPECTED-FAIL | %s | %s - %s" % (fullPageUrl, testName, testError)
|
|
|
|
def get_failure_details(self, page):
|
|
fail_nodes = self.marionette.find_elements("css selector",
|
|
'.test.fail')
|
|
fullPageUrl = urlparse.urljoin(self.relPath, page)
|
|
|
|
details = ["%s: %d failure(s) encountered:" % (fullPageUrl, len(fail_nodes))]
|
|
|
|
for node in fail_nodes:
|
|
errorText = node.find_element("css selector", '.error').text
|
|
|
|
# We have to work our own failure message here, as we could be reporting multiple failures.
|
|
# XXX Ideally we'd also give the full test tree for <test name> - that requires walking
|
|
# up the DOM tree.
|
|
|
|
# Format: TEST-UNEXPECTED-FAIL | <filename> | <test name> - <test error>
|
|
details.append(
|
|
self.get_failure_summary(page,
|
|
node.find_element("tag name", 'h2').text.split("\n")[0],
|
|
errorText.split("\n")[0]))
|
|
details.append(
|
|
errorText)
|
|
return "\n".join(details)
|