Mercurial > cpython-lru_cache-weakref
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 |
| 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()) |
