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

Unified Diff: tests/trial_dir.py

Issue 8508015: Create a new depot_tools_testing_lib to move utility modules there (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Renamed to testing_support Created 9 years, 1 month 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 | « tests/super_mox.py ('k') | tests/trychange_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/trial_dir.py
diff --git a/tests/trial_dir.py b/tests/trial_dir.py
deleted file mode 100644
index 16fab8045c9610cbcfd204adb1cdac2a78a7a24b..0000000000000000000000000000000000000000
--- a/tests/trial_dir.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2011 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 atexit
-import logging
-import os
-import sys
-import tempfile
-import unittest
-
-import gclient_utils
-
-
-class TrialDir(object):
- """Manages a temporary directory.
-
- On first object creation, TrialDir.TRIAL_ROOT will be set to a new temporary
- directory created in /tmp or the equivalent. It will be deleted on process
- exit unless TrialDir.SHOULD_LEAK is set to True.
- """
- # When SHOULD_LEAK is set to True, temporary directories created while the
- # tests are running aren't deleted at the end of the tests. Expect failures
- # when running more than one test due to inter-test side-effects. Helps with
- # debugging.
- SHOULD_LEAK = False
-
- # Main root directory.
- TRIAL_ROOT = None
-
- def __init__(self, subdir, leak=False):
- self.leak = self.SHOULD_LEAK or leak
- self.subdir = subdir
- self.root_dir = None
-
- def set_up(self):
- """All late initialization comes here."""
- # You can override self.TRIAL_ROOT.
- if not self.TRIAL_ROOT:
- # Was not yet initialized.
- TrialDir.TRIAL_ROOT = os.path.realpath(tempfile.mkdtemp(prefix='trial'))
- atexit.register(self._clean)
- self.root_dir = os.path.join(TrialDir.TRIAL_ROOT, self.subdir)
- gclient_utils.RemoveDirectory(self.root_dir)
- os.makedirs(self.root_dir)
-
- def tear_down(self):
- """Cleans the trial subdirectory for this instance."""
- if not self.leak:
- logging.debug('Removing %s' % self.root_dir)
- gclient_utils.RemoveDirectory(self.root_dir)
- else:
- logging.error('Leaking %s' % self.root_dir)
- self.root_dir = None
-
- @staticmethod
- def _clean():
- """Cleans the root trial directory."""
- if not TrialDir.SHOULD_LEAK:
- logging.debug('Removing %s' % TrialDir.TRIAL_ROOT)
- gclient_utils.RemoveDirectory(TrialDir.TRIAL_ROOT)
- else:
- logging.error('Leaking %s' % TrialDir.TRIAL_ROOT)
-
-
-class TrialDirMixIn(object):
- def setUp(self):
- # Create a specific directory just for the test.
- self.trial = TrialDir(self.id())
- self.trial.set_up()
-
- def tearDown(self):
- self.trial.tear_down()
-
- @property
- def root_dir(self):
- return self.trial.root_dir
-
-
-class TestCase(unittest.TestCase, TrialDirMixIn):
- """Base unittest class that cleans off a trial directory in tearDown()."""
- def setUp(self):
- unittest.TestCase.setUp(self)
- TrialDirMixIn.setUp(self)
-
- def tearDown(self):
- TrialDirMixIn.tearDown(self)
- unittest.TestCase.tearDown(self)
-
-
-if '-l' in sys.argv:
- # See SHOULD_LEAK definition in TrialDir for its purpose.
- TrialDir.SHOULD_LEAK = True
- print 'Leaking!'
- sys.argv.remove('-l')
« no previous file with comments | « tests/super_mox.py ('k') | tests/trychange_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698