diff options
Diffstat (limited to 'testing/marionette/harness/marionette_harness/tests/harness_unit/conftest.py')
-rw-r--r-- | testing/marionette/harness/marionette_harness/tests/harness_unit/conftest.py | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/testing/marionette/harness/marionette_harness/tests/harness_unit/conftest.py b/testing/marionette/harness/marionette_harness/tests/harness_unit/conftest.py new file mode 100644 index 000000000..6dc0a89a1 --- /dev/null +++ b/testing/marionette/harness/marionette_harness/tests/harness_unit/conftest.py @@ -0,0 +1,100 @@ +# 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 pytest + +from mock import Mock, MagicMock + +from marionette_driver.marionette import Marionette + +from marionette_harness.runner.httpd import FixtureServer + + +@pytest.fixture(scope='module') +def logger(): + """ + Fake logger to help with mocking out other runner-related classes. + """ + import mozlog + return Mock(spec=mozlog.structuredlog.StructuredLogger) + + +@pytest.fixture +def mach_parsed_kwargs(logger): + """ + Parsed and verified dictionary used during simplest + call to mach marionette-test + """ + return { + 'adb_path': None, + 'addons': None, + 'address': None, + 'app': None, + 'app_args': [], + 'avd': None, + 'avd_home': None, + 'binary': u'/path/to/firefox', + 'browsermob_port' : None, + 'browsermob_script' : None, + 'device_serial': None, + 'e10s': True, + 'emulator': False, + 'emulator_bin': None, + 'gecko_log': None, + 'jsdebugger': False, + 'log_errorsummary': None, + 'log_html': None, + 'log_mach': None, + 'log_mach_buffer': None, + 'log_mach_level': None, + 'log_mach_verbose': None, + 'log_raw': None, + 'log_raw_level': None, + 'log_tbpl': None, + 'log_tbpl_buffer': None, + 'log_tbpl_compact': None, + 'log_tbpl_level': None, + 'log_unittest': None, + 'log_xunit': None, + 'logger_name': 'Marionette-based Tests', + 'prefs': {}, + 'prefs_args': None, + 'prefs_files': None, + 'profile': None, + 'pydebugger': None, + 'repeat': 0, + 'server_root': None, + 'shuffle': False, + 'shuffle_seed': 2276870381009474531, + 'socket_timeout': 60.0, + 'startup_timeout': 60, + 'symbols_path': None, + 'test_tags': None, + 'tests': [u'/path/to/unit-tests.ini'], + 'testvars': None, + 'this_chunk': None, + 'timeout': None, + 'total_chunks': None, + 'verbose': None, + 'workspace': None, + 'logger': logger, + } + + +@pytest.fixture +def mock_httpd(request): + """ Mock httpd instance """ + httpd = MagicMock(spec=FixtureServer) + return httpd + + +@pytest.fixture +def mock_marionette(request): + """ Mock marionette instance """ + marionette_class = MagicMock(spec=Marionette) + if 'has_crashed' in request.funcargnames: + marionette_class.check_for_crash.return_value = request.getfuncargvalue( + 'has_crashed' + ) + return marionette_class |