| 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..4a048a1e72c7666aa84026d91b3916468b4e66ad
|
| --- /dev/null
|
| +++ b/mojo/tools/mopy/dart_apptest.py
|
| @@ -0,0 +1,42 @@
|
| +# 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
|
| +
|
| +_logging = logging.getLogger()
|
| +
|
| +from mopy import test_util
|
| +from mopy.print_process_error import print_process_error
|
| +
|
| +
|
| +# TODO(erg): Support android, launched services and fixture isolation.
|
| +def run_test(config, apptest_dict, 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
|
| + 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 "Failed test(s) in %r" % apptest_dict
|
| + _logging.debug("Succeeded with output:\n%s" % output)
|
| + return "Succeeded"
|
| +
|
|
|