diff options
author | Éric Araujo <merwok@netwok.org> | 2011-08-26 00:00:14 (GMT) |
---|---|---|
committer | Éric Araujo <merwok@netwok.org> | 2011-08-26 00:00:14 (GMT) |
commit | c811fb2d56e3c5847ac5c5a6d59bbc8b75e8effa (patch) | |
tree | 5ff6cd8d813c987692bb47a34ead82234ac4e05e /Lib | |
parent | 04612d60929d5cda8d4cd215dfa2fc050d20b530 (diff) | |
download | cpython-c811fb2d56e3c5847ac5c5a6d59bbc8b75e8effa.zip cpython-c811fb2d56e3c5847ac5c5a6d59bbc8b75e8effa.tar.gz cpython-c811fb2d56e3c5847ac5c5a6d59bbc8b75e8effa.tar.bz2 |
Add tests for build_ext --user (backport from 3.2)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/distutils/tests/test_build_ext.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py index 30de0e2..2fa63d3 100644 --- a/Lib/distutils/tests/test_build_ext.py +++ b/Lib/distutils/tests/test_build_ext.py @@ -27,6 +27,12 @@ class BuildExtTestCase(support.TempdirManager, self.xx_created = False sys.path.append(self.tmp_dir) self.addCleanup(sys.path.remove, self.tmp_dir) + if sys.version > "2.6": + import site + self.old_user_base = site.USER_BASE + site.USER_BASE = self.mkdtemp() + from distutils.command import build_ext + build_ext.USER_BASE = site.USER_BASE def tearDown(self): if self.xx_created: @@ -97,6 +103,36 @@ class BuildExtTestCase(support.TempdirManager, # make sure we get some library dirs under solaris self.assertTrue(len(cmd.library_dirs) > 0) + def test_user_site(self): + # site.USER_SITE was introduced in 2.6 + if sys.version < '2.6': + return + + import site + dist = Distribution({'name': 'xx'}) + cmd = build_ext(dist) + + # making sure the user option is there + options = [name for name, short, label in + cmd.user_options] + self.assertIn('user', options) + + # setting a value + cmd.user = 1 + + # setting user based lib and include + lib = os.path.join(site.USER_BASE, 'lib') + incl = os.path.join(site.USER_BASE, 'include') + os.mkdir(lib) + os.mkdir(incl) + + cmd.ensure_finalized() + + # see if include_dirs and library_dirs were set + self.assertIn(lib, cmd.library_dirs) + self.assertIn(lib, cmd.rpath) + self.assertIn(incl, cmd.include_dirs) + def test_finalize_options(self): # Make sure Python's include directories (for Python.h, pyconfig.h, # etc.) are in the include search path. |