| # 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) |