Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

#!/usr/bin/env python
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
from unittest.mock import patch
import mozunit
import pytest
@pytest.mark.parametrize("logger", [True, False])
def test_crash_count_with_or_without_logger(runner, logger):
if runner.app == "chrome":
pytest.xfail("crash checking not implemented for ChromeRunner")
if not logger:
runner.logger = None
fn = "check_for_crashes"
else:
fn = "log_crashes"
with patch("mozcrash.{}".format(fn), return_value=2) as mock:
assert runner.crashed == 0
assert runner.check_for_crashes() == 2
assert runner.crashed == 2
assert runner.check_for_crashes() == 2
assert runner.crashed == 4
mock.return_value = 0
assert runner.check_for_crashes() == 0
assert runner.crashed == 4
if __name__ == "__main__":
mozunit.main()