Chromium Code Reviews| Index: mojo/tools/mopy/dart_apptest.py |
| diff --git a/mojo/tools/mopy/dart_apptest.py b/mojo/tools/mopy/dart_apptest.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..14a36aaf8f6253886d26dceaa0146f73e09cf3c1 |
| --- /dev/null |
| +++ b/mojo/tools/mopy/dart_apptest.py |
| @@ -0,0 +1,46 @@ |
| +# 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. |
| + |
| +import logging |
| +import os |
|
msw
2015/03/04 21:04:32
nit: not needed
|
| +import re |
|
msw
2015/03/04 21:04:32
nit: not needed
|
| +import subprocess |
|
msw
2015/03/04 21:04:32
nit: not needed
|
| +import sys |
|
msw
2015/03/04 21:04:32
nit: not needed
|
| + |
| +_logging = logging.getLogger() |
| + |
| +from mopy import test_util |
| +from mopy.config import Config |
| +from mopy.paths import Paths |
|
msw
2015/03/04 21:04:32
nit: not needed
|
| +from mopy.print_process_error import print_process_error |
| + |
| + |
| +def run_test(config, shell_args, apps_and_args=None, run_launcher=False): |
| + """Runs a command line and checks the output for signs of gtest failure. |
| + |
| + Args: |
| + config: The mopy.config.Config object for the build. |
| + shell_args: The arguments for mojo_shell. |
| + apps_and_args: A Dict keyed by application URL associated to the |
| + application's specific arguments. |
| + run_launcher: |True| is mojo_launcher must be used instead of mojo_shell. |
| + """ |
| + apps_and_args = apps_and_args or {} |
| + output = test_util.try_run_test(config, shell_args, apps_and_args, |
| + run_launcher) |
| + # 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 (output is None or |
| + output.find("FAIL:") != -1 or |
|
msw
2015/03/04 21:04:32
nit: maybe test_util could just have pass and fail
|
| + output.find("PASS:") == -1): |
| + print "Failed test:" |
| + print_process_error( |
| + test_util.build_command_line(config, shell_args, apps_and_args, |
| + run_launcher), |
| + output) |
| + return False |
| + _logging.debug("Succeeded with output:\n%s" % output) |
| + return True |
| + |