summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/tests/test_build_ext.py
diff options
context:
space:
mode:
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)
commitc811fb2d56e3c5847ac5c5a6d59bbc8b75e8effa (patch)
tree5ff6cd8d813c987692bb47a34ead82234ac4e05e /Lib/distutils/tests/test_build_ext.py
parent04612d60929d5cda8d4cd215dfa2fc050d20b530 (diff)
downloadcpython-c811fb2d56e3c5847ac5c5a6d59bbc8b75e8effa.zip
cpython-c811fb2d56e3c5847ac5c5a6d59bbc8b75e8effa.tar.gz
cpython-c811fb2d56e3c5847ac5c5a6d59bbc8b75e8effa.tar.bz2
Add tests for build_ext --user (backport from 3.2)
Diffstat (limited to 'Lib/distutils/tests/test_build_ext.py')
-rw-r--r--Lib/distutils/tests/test_build_ext.py36
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.