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

Unified Diff: testing/legion/legion_test_case.py

Issue 1841863002: Update monet. (Closed) Base URL: https://github.com/domokit/monet.git@master
Patch Set: Created 4 years, 9 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 | « testing/legion/legion.isolate ('k') | testing/legion/process.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: testing/legion/legion_test_case.py
diff --git a/testing/legion/legion_test_case.py b/testing/legion/legion_test_case.py
deleted file mode 100644
index 9514e8e19be7c57d31ec8ffff7b6e0c00cd6f906..0000000000000000000000000000000000000000
--- a/testing/legion/legion_test_case.py
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 2015 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.
-
-"""Adds unittest-esque functionality to Legion."""
-
-import argparse
-import logging
-import sys
-import unittest
-
-#pylint: disable=relative-import
-import common_lib
-import task_controller
-import task_registration_server
-
-BANNER_WIDTH = 80
-
-
-class TestCase(unittest.TestCase):
- """Test case class with added Legion support."""
-
- _registration_server = None
- _initialized = False
-
- @classmethod
- def __new__(cls, *args, **kwargs):
- """Initialize the class and return a new instance."""
- cls._InitializeClass()
- return super(TestCase, cls).__new__(*args, **kwargs)
-
- def __init__(self, test_name='runTest'):
- super(TestCase, self).__init__(test_name)
- method = getattr(self, test_name, None)
- if method:
- # Install the _RunTest method
- self._TestMethod = method
- setattr(self, test_name, self._RunTest)
-
- def _RunTest(self):
- """Runs the test method and provides banner info and error reporting."""
- self._LogInfoBanner(self._testMethodName, self.shortDescription())
- try:
- return self._TestMethod()
- except:
- exc_info = sys.exc_info()
- logging.error('', exc_info=exc_info)
- raise exc_info[0], exc_info[1], exc_info[2]
-
- @classmethod
- def _InitializeClass(cls):
- """Handles class level initialization.
-
- There are 2 types of setup/teardown methods that always need to be run:
- 1) Framework level setup/teardown
- 2) Test case level setup/teardown
-
- This method installs handlers in place of setUpClass and tearDownClass that
- will ensure both types of setup/teardown methods are called correctly.
- """
- if cls._initialized:
- return
- cls._OriginalSetUpClassMethod = cls.setUpClass
- cls.setUpClass = cls._HandleSetUpClass
- cls._OriginalTearDownClassMethod = cls.tearDownClass
- cls.tearDownClass = cls._HandleTearDownClass
- cls._initialized = True
-
- @classmethod
- def _LogInfoBanner(cls, method_name, method_doc=None):
- """Formats and logs test case information."""
- logging.info('*' * BANNER_WIDTH)
- logging.info(method_name.center(BANNER_WIDTH))
- if method_doc:
- for line in method_doc.split('\n'):
- logging.info(line.center(BANNER_WIDTH))
- logging.info('*' * BANNER_WIDTH)
-
- @classmethod
- def CreateTask(cls, *args, **kwargs):
- """Convenience method to create a new task."""
- task = task_controller.TaskController(*args, **kwargs)
- cls._registration_server.RegisterTaskCallback(
- task.otp, task.OnConnect)
- return task
-
- @classmethod
- def _SetUpFramework(cls):
- """Perform the framework-specific setup operations."""
- cls._registration_server = (
- task_registration_server.TaskRegistrationServer())
- cls._registration_server.Start()
-
- @classmethod
- def _TearDownFramework(cls):
- """Perform the framework-specific teardown operations."""
- if cls._registration_server:
- cls._registration_server.Shutdown()
- task_controller.TaskController.ReleaseAllTasks()
-
- @classmethod
- def _HandleSetUpClass(cls):
- """Performs common class-level setup operations.
-
- This method performs test-wide setup such as starting the registration
- server and then calls the original setUpClass method."""
- try:
- common_lib.InitLogging()
- cls._LogInfoBanner('setUpClass', 'Performs class level setup.')
- cls._SetUpFramework()
- cls._OriginalSetUpClassMethod()
- except:
- # Make sure we tear down in case of any exceptions
- cls._HandleTearDownClass(setup_failed=True)
- exc_info = sys.exc_info()
- logging.error('', exc_info=exc_info)
- raise exc_info[0], exc_info[1], exc_info[2]
-
- @classmethod
- def _HandleTearDownClass(cls, setup_failed=False):
- """Performs common class-level tear down operations.
-
- This method calls the original tearDownClass then performs test-wide
- tear down such as stopping the registration server.
- """
- cls._LogInfoBanner('tearDownClass', 'Performs class level tear down.')
- try:
- if not setup_failed:
- cls._OriginalTearDownClassMethod()
- finally:
- cls._TearDownFramework()
-
-
-def main():
- unittest.main(verbosity=0, argv=sys.argv[:1])
« no previous file with comments | « testing/legion/legion.isolate ('k') | testing/legion/process.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698