blob: 30946abb9aa97eefcb0791cef282a6e2f003b9ce [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Apptest runner specific to the particular Dart apptest framework in
/mojo/dart/apptests, built on top of the general apptest runner."""
import logging
_logging = logging.getLogger()
from devtoolslib.apptest import run_apptest
def _dart_apptest_output_test(output):
# Fail on output with dart unittests' "FAIL:" or a lack of "PASS:".
# The latter condition ensures failure on broken command lines or output.
# Check output instead of exit codes because mojo_shell always exits with 0.
if (not output or
'\nFAIL: ' in output or
'\nPASS: ' not in output):
return False
return True
# TODO(erg): Support android, launched services and fixture isolation.
def run_dart_apptest(shell, shell_args, apptest_url, apptest_args):
"""Runs a dart apptest.
Args:
shell_args: The arguments for mojo_shell.
apptest_url: Url of the apptest app to run.
apptest_args: Parameters to be passed to the apptest app.
Returns:
True iff the test succeeded, False otherwise.
"""
return run_apptest(shell, shell_args, apptest_url, apptest_args,
_dart_apptest_output_test)