Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Unified Diff: mojo/devtools/common/pylib/apptest_gtest.py

Issue 1128153002: Rename the devtools library: pylib -> devtoolslib. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Address offline comments/ devtools_lib -> devtoolslib. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/devtools/common/pylib/apptest_dart.py ('k') | mojo/devtools/common/pylib/apptest_gtest_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/devtools/common/pylib/apptest_gtest.py
diff --git a/mojo/devtools/common/pylib/apptest_gtest.py b/mojo/devtools/common/pylib/apptest_gtest.py
deleted file mode 100644
index 41c9d6a19044fff28bac22987eb5db47f61720a9..0000000000000000000000000000000000000000
--- a/mojo/devtools/common/pylib/apptest_gtest.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# 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 gtest-based apptest framework in
-/mojo/public/cpp/application/tests/, built on top of the general apptest
-runner."""
-
-import logging
-import re
-
-from pylib.apptest import run_apptest
-
-
-_logger = logging.getLogger()
-
-
-def _gtest_apptest_output_test(output):
- # Fail on output with gtest's "[ FAILED ]" or a lack of "[ PASSED ]".
- # 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("[ FAILED ]") != -1 or output.find("[ PASSED ]") == -1)):
- return False
- return True
-
-
-def run_gtest_apptest(shell, shell_args, apptest_url, apptest_args, isolate):
- """Runs a gtest apptest.
-
- Args:
- shell: Wrapper around concrete Mojo shell, implementing devtools Shell
- interface.
- 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.
- isolate: Iff True, each test in the app will be run in a separate shell run.
-
- Returns:
- True iff the test succeeded, False otherwise.
- """
-
- if not isolate:
- return run_apptest(shell, shell_args, apptest_url, apptest_args,
- _gtest_apptest_output_test)
-
- # List the apptest fixtures so they can be run independently for isolation.
- fixtures = get_fixtures(shell, shell_args, apptest_url)
- if not fixtures:
- print "No tests to run found in %s." % apptest_url
- return False
-
- apptest_result = True
- for fixture in fixtures:
- isolated_apptest_args = apptest_args + ["--gtest_filter=%s" % fixture]
- success = run_apptest(shell, shell_args, apptest_url, isolated_apptest_args,
- _gtest_apptest_output_test)
-
- if not success:
- apptest_result = False
-
- return apptest_result
-
-
-def get_fixtures(shell, shell_args, apptest):
- """Returns the "Test.Fixture" list from an apptest using mojo_shell.
-
- Tests are listed by running the given apptest in mojo_shell and passing
- --gtest_list_tests. The output is parsed and reformatted into a list like
- [TestSuite.TestFixture, ... ]
- An empty list is returned on failure, with errors logged.
-
- Args:
- apptest: The URL of the test application to run.
- """
- arguments = []
- arguments.extend(shell_args)
- arguments.append("--args-for=%s %s" % (apptest, "--gtest_list_tests"))
- arguments.append(apptest)
-
- (exit_code, output) = shell.RunAndGetOutput(arguments)
- if exit_code:
- command_line = "mojo_shell " + " ".join(["%r" % x for x in arguments])
- print "Failed to get test fixtures: %r" % command_line
- print 72 * '-'
- print output
- print 72 * '-'
- return []
-
- _logger.debug("Tests listed:\n%s" % output)
- return _gtest_list_tests(output)
-
-
-def _gtest_list_tests(gtest_list_tests_output):
- """Returns a list of strings formatted as TestSuite.TestFixture from the
- output of running --gtest_list_tests on a GTEST application."""
-
- # Remove log lines.
- gtest_list_tests_output = re.sub("^(\[|WARNING: linker:).*\n",
- "",
- gtest_list_tests_output,
- flags=re.MULTILINE)
-
- if not re.match("^(\w*\.\r?\n( \w*\r?\n)+)+", gtest_list_tests_output):
- raise Exception("Unrecognized --gtest_list_tests output:\n%s" %
- gtest_list_tests_output)
-
- output_lines = gtest_list_tests_output.split("\n")
-
- test_list = []
- for line in output_lines:
- if not line:
- continue
- if line[0] != " ":
- suite = line.strip()
- continue
- test_list.append(suite + line.strip())
-
- return test_list
« no previous file with comments | « mojo/devtools/common/pylib/apptest_dart.py ('k') | mojo/devtools/common/pylib/apptest_gtest_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698