annotate Lib/distutils/tests/test_install_lib.py @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents b36cb4602e21
children 097389413dd3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
58208
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
1 """Tests for distutils.command.install_data."""
59045
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
2 import os
58208
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
3 import sys
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
4 import unittest
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
5
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
6 from distutils.command.install_lib import install_lib
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
7 from distutils.extension import Extension
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
8 from distutils.tests import support
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
9 from distutils.errors import DistutilsOptionError
67854
6270946115d0 Merged revisions 86236,86240,86332,86340,87271,87273,87447 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 66348
diff changeset
10 from test.test_support import run_unittest
58208
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
11
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
12 class InstallLibTestCase(support.TempdirManager,
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
13 support.LoggingSilencer,
56591
2b6359709188 Merged revisions 75491 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 55593
diff changeset
14 support.EnvironGuard,
58208
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
15 unittest.TestCase):
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
16
53974
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
17 def test_finalize_options(self):
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
18 pkg_dir, dist = self.create_dist()
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
19 cmd = install_lib(dist)
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
20
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
21 cmd.finalize_options()
66348
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 59045
diff changeset
22 self.assertEqual(cmd.compile, 1)
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 59045
diff changeset
23 self.assertEqual(cmd.optimize, 0)
53974
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
24
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
25 # optimize must be 0, 1, or 2
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
26 cmd.optimize = 'foo'
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
27 self.assertRaises(DistutilsOptionError, cmd.finalize_options)
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
28 cmd.optimize = '4'
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
29 self.assertRaises(DistutilsOptionError, cmd.finalize_options)
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
30
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
31 cmd.optimize = '2'
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
32 cmd.finalize_options()
66348
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 59045
diff changeset
33 self.assertEqual(cmd.optimize, 2)
53974
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
34
59045
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
35 def _setup_byte_compile(self):
53974
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
36 pkg_dir, dist = self.create_dist()
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
37 cmd = install_lib(dist)
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
38 cmd.compile = cmd.optimize = 1
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
39
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
40 f = os.path.join(pkg_dir, 'foo.py')
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
41 self.write_file(f, '# python file')
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
42 cmd.byte_compile([f])
59045
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
43 return pkg_dir
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
44
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
45 @unittest.skipIf(sys.dont_write_bytecode, 'byte-compile not enabled')
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
46 def test_byte_compile(self):
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
47 pkg_dir = self._setup_byte_compile()
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
48 if sys.flags.optimize < 1:
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
49 self.assertTrue(os.path.exists(os.path.join(pkg_dir, 'foo.pyc')))
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
50 else:
a4c45f8e70aa Issue 6292: for the moment at least, the test suite passes if run
R. David Murray <rdmurray@bitdance.com>
parents: 56720
diff changeset
51 self.assertTrue(os.path.exists(os.path.join(pkg_dir, 'foo.pyo')))
53974
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
52
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
53 def test_get_outputs(self):
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
54 pkg_dir, dist = self.create_dist()
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
55 cmd = install_lib(dist)
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
56
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
57 # setting up a dist environment
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
58 cmd.compile = cmd.optimize = 1
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
59 cmd.install_dir = pkg_dir
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
60 f = os.path.join(pkg_dir, 'foo.py')
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
61 self.write_file(f, '# python file')
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
62 cmd.distribution.py_modules = [pkg_dir]
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
63 cmd.distribution.ext_modules = [Extension('foo', ['xxx'])]
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
64 cmd.distribution.packages = [pkg_dir]
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
65 cmd.distribution.script_name = 'setup.py'
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
66
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
67 # get_output should return 4 elements
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 53986
diff changeset
68 self.assertTrue(len(cmd.get_outputs()) >= 2)
53974
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
69
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
70 def test_get_inputs(self):
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
71 pkg_dir, dist = self.create_dist()
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
72 cmd = install_lib(dist)
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
73
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
74 # setting up a dist environment
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
75 cmd.compile = cmd.optimize = 1
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
76 cmd.install_dir = pkg_dir
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
77 f = os.path.join(pkg_dir, 'foo.py')
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
78 self.write_file(f, '# python file')
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
79 cmd.distribution.py_modules = [pkg_dir]
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
80 cmd.distribution.ext_modules = [Extension('foo', ['xxx'])]
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
81 cmd.distribution.packages = [pkg_dir]
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
82 cmd.distribution.script_name = 'setup.py'
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
83
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
84 # get_input should return 2 elements
66348
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 59045
diff changeset
85 self.assertEqual(len(cmd.get_inputs()), 2)
53974
5224a258d5bb Merged revisions 72535 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
86
58208
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
87 def test_dont_write_bytecode(self):
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
88 # makes sure byte_compile is not used
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
89 pkg_dir, dist = self.create_dist()
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
90 cmd = install_lib(dist)
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
91 cmd.compile = 1
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
92 cmd.optimize = 1
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
93
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
94 old_dont_write_bytecode = sys.dont_write_bytecode
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
95 sys.dont_write_bytecode = True
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
96 try:
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
97 cmd.byte_compile([])
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
98 finally:
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
99 sys.dont_write_bytecode = old_dont_write_bytecode
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
100
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
101 self.assertTrue('byte-compiling is disabled' in self.logs[0][1])
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
102
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
103 def test_suite():
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
104 return unittest.makeSuite(InstallLibTestCase)
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
105
d8468208e882 added more test coverage from trunk for #7617
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
106 if __name__ == "__main__":
67854
6270946115d0 Merged revisions 86236,86240,86332,86340,87271,87273,87447 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 66348
diff changeset
107 run_unittest(test_suite())