[Python-checkins] r59996 - in sandbox/trunk/pep370/Lib: distutils/command/install.py test/test_site.py

christian.heimes python-checkins at python.org
Wed Jan 16 11:18:13 CET 2008


Author: christian.heimes
Date: Wed Jan 16 11:18:12 2008
New Revision: 59996
Modified:
 sandbox/trunk/pep370/Lib/distutils/command/install.py
 sandbox/trunk/pep370/Lib/test/test_site.py
Log:
Finished the integration test for the -s option
Added some checks to distutils.commands.install
Modified: sandbox/trunk/pep370/Lib/distutils/command/install.py
==============================================================================
--- sandbox/trunk/pep370/Lib/distutils/command/install.py	(original)
+++ sandbox/trunk/pep370/Lib/distutils/command/install.py	Wed Jan 16 11:18:12 2008
@@ -425,6 +425,9 @@
 return
 
 if self.user:
+ if self.install_userbase is None:
+ raise DistutilsPlatformError(
+ "User base directory is not specified")
 self.install_base = self.install_platbase = self.install_userbase
 self.select_scheme("unix_user")
 elif self.home is not None:
@@ -453,6 +456,9 @@
 def finalize_other (self): # Windows and Mac OS for now
 
 if self.user:
+ if self.install_userbase is None:
+ raise DistutilsPlatformError(
+ "User base directory is not specified")
 self.install_base = self.install_platbase = self.install_userbase
 self.select_scheme(os.name + "_user")
 elif self.home is not None:
Modified: sandbox/trunk/pep370/Lib/test/test_site.py
==============================================================================
--- sandbox/trunk/pep370/Lib/test/test_site.py	(original)
+++ sandbox/trunk/pep370/Lib/test/test_site.py	Wed Jan 16 11:18:12 2008
@@ -95,11 +95,21 @@
 def test_s_option(self):
 usersite = site.USER_SITE
 self.assert_(usersite in sys.path)
- cmd = [sys.executable, "-c",
- "\"import sys; sys.exit('%s' in sys.path)\"" % usersite
- ]
- p = subprocess.Popen(cmd)
- self.assertEqual(p.wait(), 0)
+
+ rc = subprocess.call([sys.executable, '-c', 
+ 'import sys; sys.exit("%s" in sys.path)' % usersite])
+ self.assertEqual(rc, 1)
+
+ rc = subprocess.call([sys.executable, '-s', '-c',
+ 'import sys; sys.exit("%s" in sys.path)' % usersite])
+ self.assertEqual(rc, 0)
+
+ env = os.environ.copy()
+ env["PYTHONNOUSERSITE"] = "1"
+ rc = subprocess.call([sys.executable, '-c',
+ 'import sys; sys.exit("%s" in sys.path)' % usersite],
+ env=env)
+ self.assertEqual(rc, 0)
 
 
 class PthFile(object):


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /