[Jython-checkins] jython: A first pass at sysconfig.
frank.wierzbicki
jython-checkins at python.org
Thu Mar 22 04:18:21 CET 2012
http://hg.python.org/jython/rev/7599a681564a
changeset: 6467:7599a681564a
user: Frank Wierzbicki <fwierzbicki at gmail.com>
date: Wed Mar 21 20:18:13 2012 -0700
summary:
A first pass at sysconfig.
files:
Lib/sysconfig.py | 22 +++++++++++++++++++++-
Lib/test/test_sysconfig.py | 18 ++++++++++++------
2 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -82,6 +82,26 @@
'scripts': '{userbase}/bin',
'data' : '{userbase}',
},
+ 'java': {
+ 'stdlib': '{base}/lib/jython',
+ 'platstdlib': '{base}/lib/jython',
+ 'purelib': '{base}/lib/jython',
+ 'platlib': '{base}/lib/jython',
+ 'include': '{base}/include/jython',
+ 'platinclude': '{base}/include/jython',
+ 'scripts': '{base}/bin',
+ 'data' : '{base}',
+ },
+
+ 'java_user': {
+ 'stdlib': '{userbase}/lib/jython{py_version_short}',
+ 'platstdlib': '{userbase}/lib/jython{py_version_short}',
+ 'purelib': '{userbase}/lib/jython{py_version_short}/site-packages',
+ 'platlib': '{userbase}/lib/jython{py_version_short}/site-packages',
+ 'include': '{userbase}/include/jython{py_version_short}',
+ 'scripts': '{userbase}/bin',
+ 'data' : '{userbase}',
+ },
}
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
@@ -152,7 +172,7 @@
_extend_dict(vars, get_config_vars())
for key, value in _INSTALL_SCHEMES[scheme].items():
- if os.name in ('posix', 'nt'):
+ if os.name in ('posix', 'nt', 'java'):
value = os.path.expanduser(value)
res[key] = os.path.normpath(_subst_vars(value, vars))
return res
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -7,7 +7,8 @@
import subprocess
from copy import copy, deepcopy
-from test.test_support import run_unittest, TESTFN, unlink, get_attribute
+from test.test_support import (run_unittest, TESTFN, unlink, get_attribute,
+ is_jython)
import sysconfig
from sysconfig import (get_paths, get_platform, get_config_vars,
@@ -33,7 +34,8 @@
# saving the environment
self.name = os.name
self.platform = sys.platform
- self.version = sys.version
+ if not is_jython:
+ self.version = sys.version
self.sep = os.sep
self.join = os.path.join
self.isabs = os.path.isabs
@@ -53,7 +55,8 @@
del os.uname
os.name = self.name
sys.platform = self.platform
- sys.version = self.version
+ if not is_jython:
+ sys.version = self.version
os.sep = self.sep
os.path.join = self.join
os.path.isabs = self.isabs
@@ -106,6 +109,7 @@
self.assertIsInstance(cvars, dict)
self.assertTrue(cvars)
+ @unittest.skipIf(is_jython, "Not on Jython")
def test_get_platform(self):
# windows XP, 32bits
os.name = 'nt'
@@ -225,14 +229,16 @@
# XXX more platforms to tests here
+ @unittest.skipIf(is_jython, "config.h not relevent to Jython")
def test_get_config_h_filename(self):
config_h = sysconfig.get_config_h_filename()
self.assertTrue(os.path.isfile(config_h), config_h)
def test_get_scheme_names(self):
- wanted = ('nt', 'nt_user', 'os2', 'os2_home', 'osx_framework_user',
- 'posix_home', 'posix_prefix', 'posix_user')
- self.assertEqual(get_scheme_names(), wanted)
+ wanted = {'nt', 'nt_user', 'os2', 'os2_home', 'osx_framework_user',
+ 'posix_home', 'posix_prefix', 'posix_user', 'java',
+ 'java_user'}
+ self.assertEqual({name for name in get_scheme_names()}, wanted)
def test_symlink(self):
# Issue 7880
--
Repository URL: http://hg.python.org/jython
More information about the Jython-checkins
mailing list