Back to index

python3.2  3.2.2
Public Member Functions | Public Attributes
distutils.tests.test_install_lib.InstallLibTestCase Class Reference
Inheritance diagram for distutils.tests.test_install_lib.InstallLibTestCase:
Inheritance graph
[legend]
Collaboration diagram for distutils.tests.test_install_lib.InstallLibTestCase:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def test_finalize_options
def test_byte_compile
def test_get_outputs
def test_get_inputs
def test_dont_write_bytecode
def setUp
def tearDown
def mkdtemp
def write_file
def create_dist
def setUp
def tearDown
def get_logs
def clear_logs
def setUp
def tearDown

Public Attributes

 old_cwd
 tempdirs
_PyObject_HEAD_EXTRA Py_ssize_t ob_refcnt
struct _typeobjectob_type
 threshold
 logs
_PyObject_HEAD_EXTRA Py_ssize_t ob_refcnt
struct _typeobjectob_type
 old_environ
_PyObject_HEAD_EXTRA Py_ssize_t ob_refcnt
struct _typeobjectob_type

Detailed Description

Definition at line 15 of file test_install_lib.py.


Member Function Documentation

Definition at line 45 of file support.py.

00045 
00046     def clear_logs(self):
00047         self.logs = []
00048 

Here is the caller graph for this function:

def distutils.tests.support.TempdirManager.create_dist (   self,
  pkg_name = 'foo',
  kw 
) [inherited]
Will generate a test environment.

This function creates:
 - a Distribution instance using keywords
 - a temporary directory with a package structure

It returns the package directory and the distribution
instance.

Definition at line 92 of file support.py.

00092 
00093     def create_dist(self, pkg_name='foo', **kw):
00094         """Will generate a test environment.
00095 
00096         This function creates:
00097          - a Distribution instance using keywords
00098          - a temporary directory with a package structure
00099 
00100         It returns the package directory and the distribution
00101         instance.
00102         """
00103         tmp_dir = self.mkdtemp()
00104         pkg_dir = os.path.join(tmp_dir, pkg_name)
00105         os.mkdir(pkg_dir)
00106         dist = Distribution(attrs=kw)
00107 
00108         return pkg_dir, dist
00109 

Here is the call graph for this function:

Here is the caller graph for this function:

def distutils.tests.support.LoggingSilencer.get_logs (   self,
  levels 
) [inherited]

Definition at line 37 of file support.py.

00037 
00038     def get_logs(self, *levels):
00039         def _format(msg, args):
00040             if len(args) == 0:
00041                 return msg
00042             return msg % args
00043         return [_format(msg, args) for level, msg, args
00044                 in self.logs if level in levels]

Here is the call graph for this function:

Here is the caller graph for this function:

Create a temporary directory that will be cleaned up.

Returns the path of the directory.

Definition at line 69 of file support.py.

00069 
00070     def mkdtemp(self):
00071         """Create a temporary directory that will be cleaned up.
00072 
00073         Returns the path of the directory.
00074         """
00075         d = tempfile.mkdtemp()
00076         self.tempdirs.append(d)
00077         return d

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented in distutils.tests.test_upload.uploadTestCase, distutils.tests.test_register.RegisterTestCase, distutils.tests.test_config.PyPIRCCommandTestCase, distutils.tests.test_sdist.SDistTestCase, distutils.tests.test_dist.DistributionTestCase, distutils.tests.test_bdist_dumb.BuildDumbTestCase, distutils.tests.test_bdist_rpm.BuildRpmTestCase, and distutils.tests.test_config_cmd.ConfigTestCase.

Definition at line 17 of file support.py.

00017 
00018     def setUp(self):
00019         super().setUp()
00020         self.threshold = log.set_threshold(log.FATAL)
00021         # catching warnings
00022         # when log will be replaced by logging
00023         # we won't need such monkey-patch anymore
00024         self._old_log = log.Log._log
00025         log.Log._log = self._log
00026         self.logs = []

Here is the caller graph for this function:

def distutils.tests.support.EnvironGuard.setUp (   self) [inherited]

Reimplemented in distutils.tests.test_dist.MetadataTestCase, distutils.tests.test_register.RegisterTestCase, distutils.tests.test_upload.uploadTestCase, distutils.tests.test_config.PyPIRCCommandTestCase, distutils.tests.test_sdist.SDistTestCase, distutils.tests.test_cygwinccompiler.CygwinCCompilerTestCase, distutils.tests.test_bdist_dumb.BuildDumbTestCase, distutils.tests.test_bdist_rpm.BuildRpmTestCase, distutils.tests.test_dir_util.DirUtilTestCase, distutils.tests.test_file_util.FileUtilTestCase, and distutils.tests.test_config_cmd.ConfigTestCase.

Definition at line 60 of file support.py.

00060 
00061     def tearDown(self):
00062         # Restore working dir, for Solaris and derivatives, where rmdir()
00063         # on the current directory fails.
00064         os.chdir(self.old_cwd)
00065         super().tearDown()
00066         while self.tempdirs:
00067             d = self.tempdirs.pop()
00068             shutil.rmtree(d, os.name in ('nt', 'cygwin'))

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented in distutils.tests.test_dist.MetadataTestCase, distutils.tests.test_register.RegisterTestCase, distutils.tests.test_upload.uploadTestCase, distutils.tests.test_config.PyPIRCCommandTestCase, distutils.tests.test_sdist.SDistTestCase, distutils.tests.test_dist.DistributionTestCase, distutils.tests.test_util.UtilTestCase, distutils.tests.test_core.CoreTestCase, distutils.tests.test_bdist_dumb.BuildDumbTestCase, and distutils.tests.test_sysconfig.SysconfigTestCase.

Definition at line 127 of file support.py.

00127 
00128     def tearDown(self):
00129         for key, value in self.old_environ.items():
00130             if os.environ.get(key) != value:
00131                 os.environ[key] = value
00132 
00133         for key in tuple(os.environ.keys()):
00134             if key not in self.old_environ:
00135                 del os.environ[key]
00136 
00137         super(EnvironGuard, self).tearDown()
00138 

Here is the caller graph for this function:

Definition at line 37 of file test_install_lib.py.

00037 
00038     def test_byte_compile(self):
00039         pkg_dir, dist = self.create_dist()
00040         cmd = install_lib(dist)
00041         cmd.compile = cmd.optimize = 1
00042 
00043         f = os.path.join(pkg_dir, 'foo.py')
00044         self.write_file(f, '# python file')
00045         cmd.byte_compile([f])
00046         self.assertTrue(os.path.exists(os.path.join(pkg_dir, 'foo.pyc')))
00047         self.assertTrue(os.path.exists(os.path.join(pkg_dir, 'foo.pyo')))

Here is the call graph for this function:

Definition at line 82 of file test_install_lib.py.

00082 
00083     def test_dont_write_bytecode(self):
00084         # makes sure byte_compile is not used
00085         pkg_dir, dist = self.create_dist()
00086         cmd = install_lib(dist)
00087         cmd.compile = 1
00088         cmd.optimize = 1
00089 
00090         old_dont_write_bytecode = sys.dont_write_bytecode
00091         sys.dont_write_bytecode = True
00092         try:
00093             cmd.byte_compile([])
00094         finally:
00095             sys.dont_write_bytecode = old_dont_write_bytecode
00096 
00097         self.assertTrue('byte-compiling is disabled' in self.logs[0][1])

Here is the call graph for this function:

Definition at line 17 of file test_install_lib.py.

00017 
00018     def test_finalize_options(self):
00019         pkg_dir, dist = self.create_dist()
00020         cmd = install_lib(dist)
00021 
00022         cmd.finalize_options()
00023         self.assertEqual(cmd.compile, 1)
00024         self.assertEqual(cmd.optimize, 0)
00025 
00026         # optimize must be 0, 1, or 2
00027         cmd.optimize = 'foo'
00028         self.assertRaises(DistutilsOptionError, cmd.finalize_options)
00029         cmd.optimize = '4'
00030         self.assertRaises(DistutilsOptionError, cmd.finalize_options)
00031 
00032         cmd.optimize = '2'
00033         cmd.finalize_options()
00034         self.assertEqual(cmd.optimize, 2)

Here is the call graph for this function:

Definition at line 65 of file test_install_lib.py.

00065 
00066     def test_get_inputs(self):
00067         pkg_dir, dist = self.create_dist()
00068         cmd = install_lib(dist)
00069 
00070         # setting up a dist environment
00071         cmd.compile = cmd.optimize = 1
00072         cmd.install_dir = pkg_dir
00073         f = os.path.join(pkg_dir, 'foo.py')
00074         self.write_file(f, '# python file')
00075         cmd.distribution.py_modules = [pkg_dir]
00076         cmd.distribution.ext_modules = [Extension('foo', ['xxx'])]
00077         cmd.distribution.packages = [pkg_dir]
00078         cmd.distribution.script_name = 'setup.py'
00079 
00080         # get_input should return 2 elements
00081         self.assertEqual(len(cmd.get_inputs()), 2)

Here is the call graph for this function:

Definition at line 48 of file test_install_lib.py.

00048 
00049     def test_get_outputs(self):
00050         pkg_dir, dist = self.create_dist()
00051         cmd = install_lib(dist)
00052 
00053         # setting up a dist environment
00054         cmd.compile = cmd.optimize = 1
00055         cmd.install_dir = pkg_dir
00056         f = os.path.join(pkg_dir, 'foo.py')
00057         self.write_file(f, '# python file')
00058         cmd.distribution.py_modules = [pkg_dir]
00059         cmd.distribution.ext_modules = [Extension('foo', ['xxx'])]
00060         cmd.distribution.packages = [pkg_dir]
00061         cmd.distribution.script_name = 'setup.py'
00062 
00063         # get_output should return 4 elements
00064         self.assertTrue(len(cmd.get_outputs()) >= 2)

Here is the call graph for this function:

def distutils.tests.support.TempdirManager.write_file (   self,
  path,
  content = 'xxx' 
) [inherited]
Writes a file in the given path.


path can be a string or a sequence.

Definition at line 78 of file support.py.

00078 
00079     def write_file(self, path, content='xxx'):
00080         """Writes a file in the given path.
00081 
00082 
00083         path can be a string or a sequence.
00084         """
00085         if isinstance(path, (list, tuple)):
00086             path = os.path.join(*path)
00087         f = open(path, 'w')
00088         try:
00089             f.write(content)
00090         finally:
00091             f.close()

Here is the caller graph for this function:


Member Data Documentation

Definition at line 25 of file support.py.

Definition at line 107 of file object.h.

Definition at line 107 of file object.h.

Definition at line 107 of file object.h.

struct _typeobject* _object::ob_type [inherited]

Definition at line 108 of file object.h.

struct _typeobject* _object::ob_type [inherited]

Definition at line 108 of file object.h.

struct _typeobject* _object::ob_type [inherited]

Definition at line 108 of file object.h.

Definition at line 57 of file support.py.

Definition at line 125 of file support.py.

Definition at line 58 of file support.py.

Definition at line 19 of file support.py.


The documentation for this class was generated from the following file: