| 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')
|
|
|