Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quellcode-Bibliothek test_androidlog.py   Sprache: Python

 
#!/usr/bin/env python
import pathlib
from unittest import mock

import mozunit

from mozperftest.environment import METRICS, SYSTEM, TEST
from mozperftest.tests.support import EXAMPLE_TEST, get_running_env, temp_file
from mozperftest.utils import temp_dir

HERE = pathlib.Path(__file__).parent
LOGCAT = HERE / "data" / "logcat"


def fetch(self, url):
    return str(HERE / "fetched_artifact.zip")


class FakeDevice:
    def __init__(self, **args):
        self.apps = []

    def uninstall_app(self, apk_name):
        return True

    def install_app(self, apk, replace=True):
        if apk not in self.apps:
            self.apps.append(apk)

    def is_app_installed(self, app_name):
        return True

    def get_logcat(self):
        with LOGCAT.open() as f:
            for line in f:
                yield line


@mock.patch("mozperftest.test.browsertime.runner.install_package")
@mock.patch(
    "mozperftest.test.noderunner.NodeRunner.verify_node_install", new=lambda x: True
)
@mock.patch("mozbuild.artifact_cache.ArtifactCache.fetch", new=fetch)
@mock.patch(
    "mozperftest.test.browsertime.runner.BrowsertimeRunner._setup_node_packages",
    new=lambda x, y: None,
)
@mock.patch("mozperftest.system.android.ADBLoggedDevice", new=FakeDevice)
def test_android_log(*mocked):
    with temp_file() as logcat, temp_dir() as output:
        args = {
            "flavor""mobile-browser",
            "android-install-apk": ["this.apk"],
            "android"True,
            "console"True,
            "android-timeout": 30,
            "android-capture-adb""stdout",
            "android-capture-logcat": logcat,
            "android-app-name""org.mozilla.fenix",
            "androidlog"True,
            "output": output,
            "browsertime-no-window-recorder"False,
            "browsertime-viewport-size""1234x567",
            "tests": [EXAMPLE_TEST],
        }

        mach_cmd, metadata, env = get_running_env(**args)

        with env.layers[SYSTEM] as sys, env.layers[TEST] as andro:
            metadata = andro(sys(metadata))

        # we want to drop the first result
        metadata._results = metadata._results[1:]
        with env.layers[METRICS] as metrics:
            metadata = metrics(metadata)

        assert pathlib.Path(output, "LogCatstd-output.json").exists()


if __name__ == "__main__":
    mozunit.main()

Messung V0.5
C=94 H=91 G=92

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.24Bemerkung:  (vorverarbeitet)  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.