Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_sysconfig.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 | 27045f93e4cb |
| children | 1d061f83a6bf |
| rev | line source |
|---|---|
|
72832
27045f93e4cb
Fix test_sysconfig when prefix != exec-prefix (#9100).
Éric Araujo <merwok@netwok.org>
parents:
72153
diff
changeset
|
1 """Tests for sysconfig.""" |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
2 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
3 import unittest |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
4 import sys |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
5 import os |
| 58766 | 6 import shutil |
|
59501
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
7 import subprocess |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
8 from copy import copy, deepcopy |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
9 |
|
59501
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
10 from test.test_support import run_unittest, TESTFN, unlink, get_attribute |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
11 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
12 import sysconfig |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
13 from sysconfig import (get_paths, get_platform, get_config_vars, |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
14 get_path, get_path_names, _INSTALL_SCHEMES, |
|
58648
992cae246a0c
sysconfig.get_scheme_names now returns a sorted tuple
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58472
diff
changeset
|
15 _get_default_scheme, _expand_vars, |
|
61764
021f5ec5d2d4
#8759: Fixed user paths in sysconfig for posix and os2 schemes
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
61421
diff
changeset
|
16 get_scheme_names, get_config_var) |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
17 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
18 class TestSysConfig(unittest.TestCase): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
19 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
20 def setUp(self): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
21 """Make a copy of sys.path""" |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
22 super(TestSysConfig, self).setUp() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
23 self.sys_path = sys.path[:] |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
24 self.makefile = None |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
25 # patching os.uname |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
26 if hasattr(os, 'uname'): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
27 self.uname = os.uname |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
28 self._uname = os.uname() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
29 else: |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
30 self.uname = None |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
31 self._uname = None |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
32 os.uname = self._get_uname |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
33 # saving the environment |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
34 self.name = os.name |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
35 self.platform = sys.platform |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
36 self.version = sys.version |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
37 self.sep = os.sep |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
38 self.join = os.path.join |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
39 self.isabs = os.path.isabs |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
40 self.splitdrive = os.path.splitdrive |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
41 self._config_vars = copy(sysconfig._CONFIG_VARS) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
42 self.old_environ = deepcopy(os.environ) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
43 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
44 def tearDown(self): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
45 """Restore sys.path""" |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
46 sys.path[:] = self.sys_path |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
47 if self.makefile is not None: |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
48 os.unlink(self.makefile) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
49 self._cleanup_testfn() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
50 if self.uname is not None: |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
51 os.uname = self.uname |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
52 else: |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
53 del os.uname |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
54 os.name = self.name |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
55 sys.platform = self.platform |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
56 sys.version = self.version |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
57 os.sep = self.sep |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
58 os.path.join = self.join |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
59 os.path.isabs = self.isabs |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
60 os.path.splitdrive = self.splitdrive |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
61 sysconfig._CONFIG_VARS = copy(self._config_vars) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
62 for key, value in self.old_environ.items(): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
63 if os.environ.get(key) != value: |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
64 os.environ[key] = value |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
65 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
66 for key in os.environ.keys(): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
67 if key not in self.old_environ: |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
68 del os.environ[key] |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
69 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
70 super(TestSysConfig, self).tearDown() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
71 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
72 def _set_uname(self, uname): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
73 self._uname = uname |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
74 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
75 def _get_uname(self): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
76 return self._uname |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
77 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
78 def _cleanup_testfn(self): |
|
58817
70e115c34f97
Remove unused imports in test modules.
Georg Brandl <georg@python.org>
parents:
58766
diff
changeset
|
79 path = TESTFN |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
80 if os.path.isfile(path): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
81 os.remove(path) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
82 elif os.path.isdir(path): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
83 shutil.rmtree(path) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
84 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
85 def test_get_path_names(self): |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
86 self.assertEqual(get_path_names(), sysconfig._SCHEME_KEYS) |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
87 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
88 def test_get_paths(self): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
89 scheme = get_paths() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
90 default_scheme = _get_default_scheme() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
91 wanted = _expand_vars(default_scheme, None) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
92 wanted = wanted.items() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
93 wanted.sort() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
94 scheme = scheme.items() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
95 scheme.sort() |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
96 self.assertEqual(scheme, wanted) |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
97 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
98 def test_get_path(self): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
99 # xxx make real tests here |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
100 for scheme in _INSTALL_SCHEMES: |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
101 for name in _INSTALL_SCHEMES[scheme]: |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
102 res = get_path(name, scheme) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
103 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
104 def test_get_config_vars(self): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
105 cvars = get_config_vars() |
|
58472
6ffcdafa0118
use assert[Not]IsInstance where appropriate
Ezio Melotti <ezio.melotti@gmail.com>
parents:
58457
diff
changeset
|
106 self.assertIsInstance(cvars, dict) |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
107 self.assertTrue(cvars) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
108 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
109 def test_get_platform(self): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
110 # windows XP, 32bits |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
111 os.name = 'nt' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
112 sys.version = ('2.4.4 (#71, Oct 18 2006, 08:34:43) ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
113 '[MSC v.1310 32 bit (Intel)]') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
114 sys.platform = 'win32' |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
115 self.assertEqual(get_platform(), 'win32') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
116 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
117 # windows XP, amd64 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
118 os.name = 'nt' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
119 sys.version = ('2.4.4 (#71, Oct 18 2006, 08:34:43) ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
120 '[MSC v.1310 32 bit (Amd64)]') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
121 sys.platform = 'win32' |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
122 self.assertEqual(get_platform(), 'win-amd64') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
123 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
124 # windows XP, itanium |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
125 os.name = 'nt' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
126 sys.version = ('2.4.4 (#71, Oct 18 2006, 08:34:43) ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
127 '[MSC v.1310 32 bit (Itanium)]') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
128 sys.platform = 'win32' |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
129 self.assertEqual(get_platform(), 'win-ia64') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
130 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
131 # macbook |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
132 os.name = 'posix' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
133 sys.version = ('2.5 (r25:51918, Sep 19 2006, 08:49:13) ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
134 '\n[GCC 4.0.1 (Apple Computer, Inc. build 5341)]') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
135 sys.platform = 'darwin' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
136 self._set_uname(('Darwin', 'macziade', '8.11.1', |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
137 ('Darwin Kernel Version 8.11.1: ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
138 'Wed Oct 10 18:23:28 PDT 2007; ' |
|
58457
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
139 'root:xnu-792.25.20~1/RELEASE_I386'), 'PowerPC')) |
|
70143
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
140 get_config_vars()['MACOSX_DEPLOYMENT_TARGET'] = '10.3' |
|
58457
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
141 |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
142 get_config_vars()['CFLAGS'] = ('-fno-strict-aliasing -DNDEBUG -g ' |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
143 '-fwrapv -O3 -Wall -Wstrict-prototypes') |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
144 |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
145 maxint = sys.maxint |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
146 try: |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
147 sys.maxint = 2147483647 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
148 self.assertEqual(get_platform(), 'macosx-10.3-ppc') |
|
58457
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
149 sys.maxint = 9223372036854775807 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
150 self.assertEqual(get_platform(), 'macosx-10.3-ppc64') |
|
58457
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
151 finally: |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
152 sys.maxint = maxint |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
153 |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
154 |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
155 self._set_uname(('Darwin', 'macziade', '8.11.1', |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
156 ('Darwin Kernel Version 8.11.1: ' |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
157 'Wed Oct 10 18:23:28 PDT 2007; ' |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
158 'root:xnu-792.25.20~1/RELEASE_I386'), 'i386')) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
159 get_config_vars()['MACOSX_DEPLOYMENT_TARGET'] = '10.3' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
160 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
161 get_config_vars()['CFLAGS'] = ('-fno-strict-aliasing -DNDEBUG -g ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
162 '-fwrapv -O3 -Wall -Wstrict-prototypes') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
163 |
|
58457
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
164 maxint = sys.maxint |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
165 try: |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
166 sys.maxint = 2147483647 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
167 self.assertEqual(get_platform(), 'macosx-10.3-i386') |
|
58457
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
168 sys.maxint = 9223372036854775807 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
169 self.assertEqual(get_platform(), 'macosx-10.3-x86_64') |
|
58457
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
170 finally: |
|
bad5e03e2445
fixed the 64bits tests for get_platform() - mac osx
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58450
diff
changeset
|
171 sys.maxint = maxint |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
172 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
173 # macbook with fat binaries (fat, universal or fat64) |
|
70143
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
174 get_config_vars()['MACOSX_DEPLOYMENT_TARGET'] = '10.4' |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
175 get_config_vars()['CFLAGS'] = ('-arch ppc -arch i386 -isysroot ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
176 '/Developer/SDKs/MacOSX10.4u.sdk ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
177 '-fno-strict-aliasing -fno-common ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
178 '-dynamic -DNDEBUG -g -O3') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
179 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
180 self.assertEqual(get_platform(), 'macosx-10.4-fat') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
181 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
182 get_config_vars()['CFLAGS'] = ('-arch x86_64 -arch i386 -isysroot ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
183 '/Developer/SDKs/MacOSX10.4u.sdk ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
184 '-fno-strict-aliasing -fno-common ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
185 '-dynamic -DNDEBUG -g -O3') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
186 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
187 self.assertEqual(get_platform(), 'macosx-10.4-intel') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
188 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
189 get_config_vars()['CFLAGS'] = ('-arch x86_64 -arch ppc -arch i386 -isysroot ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
190 '/Developer/SDKs/MacOSX10.4u.sdk ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
191 '-fno-strict-aliasing -fno-common ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
192 '-dynamic -DNDEBUG -g -O3') |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
193 self.assertEqual(get_platform(), 'macosx-10.4-fat3') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
194 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
195 get_config_vars()['CFLAGS'] = ('-arch ppc64 -arch x86_64 -arch ppc -arch i386 -isysroot ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
196 '/Developer/SDKs/MacOSX10.4u.sdk ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
197 '-fno-strict-aliasing -fno-common ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
198 '-dynamic -DNDEBUG -g -O3') |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
199 self.assertEqual(get_platform(), 'macosx-10.4-universal') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
200 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
201 get_config_vars()['CFLAGS'] = ('-arch x86_64 -arch ppc64 -isysroot ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
202 '/Developer/SDKs/MacOSX10.4u.sdk ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
203 '-fno-strict-aliasing -fno-common ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
204 '-dynamic -DNDEBUG -g -O3') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
205 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
206 self.assertEqual(get_platform(), 'macosx-10.4-fat64') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
207 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
208 for arch in ('ppc', 'i386', 'x86_64', 'ppc64'): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
209 get_config_vars()['CFLAGS'] = ('-arch %s -isysroot ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
210 '/Developer/SDKs/MacOSX10.4u.sdk ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
211 '-fno-strict-aliasing -fno-common ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
212 '-dynamic -DNDEBUG -g -O3'%(arch,)) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
213 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
214 self.assertEqual(get_platform(), 'macosx-10.4-%s'%(arch,)) |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
215 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
216 # linux debian sarge |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
217 os.name = 'posix' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
218 sys.version = ('2.3.5 (#1, Jul 4 2007, 17:28:59) ' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
219 '\n[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]') |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
220 sys.platform = 'linux2' |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
221 self._set_uname(('Linux', 'aglae', '2.6.21.1dedibox-r7', |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
222 '#1 Mon Apr 30 17:25:38 CEST 2007', 'i686')) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
223 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
224 self.assertEqual(get_platform(), 'linux-i686') |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
225 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
226 # XXX more platforms to tests here |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
227 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
228 def test_get_config_h_filename(self): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
229 config_h = sysconfig.get_config_h_filename() |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
230 self.assertTrue(os.path.isfile(config_h), config_h) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
231 |
|
58648
992cae246a0c
sysconfig.get_scheme_names now returns a sorted tuple
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58472
diff
changeset
|
232 def test_get_scheme_names(self): |
| 61421 | 233 wanted = ('nt', 'nt_user', 'os2', 'os2_home', 'osx_framework_user', |
|
61420
2f7ab922121a
r80967 introduced a new scheme
Benjamin Peterson <benjamin@python.org>
parents:
59505
diff
changeset
|
234 'posix_home', 'posix_prefix', 'posix_user') |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
61764
diff
changeset
|
235 self.assertEqual(get_scheme_names(), wanted) |
|
58648
992cae246a0c
sysconfig.get_scheme_names now returns a sorted tuple
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
58472
diff
changeset
|
236 |
|
59501
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
237 def test_symlink(self): |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
238 # Issue 7880 |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
239 symlink = get_attribute(os, "symlink") |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
240 def get(python): |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
241 cmd = [python, '-c', |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
242 'import sysconfig; print sysconfig.get_platform()'] |
|
59505
ad8f63d9dcd8
It is not optimal to test sys.stderr on a debug build.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
59501
diff
changeset
|
243 p = subprocess.Popen(cmd, stdout=subprocess.PIPE) |
|
59501
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
244 return p.communicate() |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
245 real = os.path.realpath(sys.executable) |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
246 link = os.path.abspath(TESTFN) |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
247 symlink(real, link) |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
248 try: |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
249 self.assertEqual(get(real), get(link)) |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
250 finally: |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
251 unlink(link) |
|
adbb37d3d0e5
Issue #7880: Fix sysconfig when the python executable is a symbolic link.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
252 |
|
61764
021f5ec5d2d4
#8759: Fixed user paths in sysconfig for posix and os2 schemes
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
61421
diff
changeset
|
253 def test_user_similar(self): |
|
72153
4dcbae65df3f
Fix test_sysconfig when run from a Python installed under /site (#10086).
Éric Araujo <merwok@netwok.org>
parents:
70143
diff
changeset
|
254 # Issue #8759: make sure the posix scheme for the users |
|
61764
021f5ec5d2d4
#8759: Fixed user paths in sysconfig for posix and os2 schemes
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
61421
diff
changeset
|
255 # is similar to the global posix_prefix one |
|
021f5ec5d2d4
#8759: Fixed user paths in sysconfig for posix and os2 schemes
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
61421
diff
changeset
|
256 base = get_config_var('base') |
|
021f5ec5d2d4
#8759: Fixed user paths in sysconfig for posix and os2 schemes
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
61421
diff
changeset
|
257 user = get_config_var('userbase') |
|
72832
27045f93e4cb
Fix test_sysconfig when prefix != exec-prefix (#9100).
Éric Araujo <merwok@netwok.org>
parents:
72153
diff
changeset
|
258 # the global scheme mirrors the distinction between prefix and |
|
27045f93e4cb
Fix test_sysconfig when prefix != exec-prefix (#9100).
Éric Araujo <merwok@netwok.org>
parents:
72153
diff
changeset
|
259 # exec-prefix but not the user scheme, so we have to adapt the paths |
|
27045f93e4cb
Fix test_sysconfig when prefix != exec-prefix (#9100).
Éric Araujo <merwok@netwok.org>
parents:
72153
diff
changeset
|
260 # before comparing (issue #9100) |
|
27045f93e4cb
Fix test_sysconfig when prefix != exec-prefix (#9100).
Éric Araujo <merwok@netwok.org>
parents:
72153
diff
changeset
|
261 adapt = sys.prefix != sys.exec_prefix |
|
61764
021f5ec5d2d4
#8759: Fixed user paths in sysconfig for posix and os2 schemes
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
61421
diff
changeset
|
262 for name in ('stdlib', 'platstdlib', 'purelib', 'platlib'): |
|
021f5ec5d2d4
#8759: Fixed user paths in sysconfig for posix and os2 schemes
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
61421
diff
changeset
|
263 global_path = get_path(name, 'posix_prefix') |
|
72832
27045f93e4cb
Fix test_sysconfig when prefix != exec-prefix (#9100).
Éric Araujo <merwok@netwok.org>
parents:
72153
diff
changeset
|
264 if adapt: |
|
27045f93e4cb
Fix test_sysconfig when prefix != exec-prefix (#9100).
Éric Araujo <merwok@netwok.org>
parents:
72153
diff
changeset
|
265 global_path = global_path.replace(sys.exec_prefix, sys.prefix) |
|
27045f93e4cb
Fix test_sysconfig when prefix != exec-prefix (#9100).
Éric Araujo <merwok@netwok.org>
parents:
72153
diff
changeset
|
266 base = base.replace(sys.exec_prefix, sys.prefix) |
|
61764
021f5ec5d2d4
#8759: Fixed user paths in sysconfig for posix and os2 schemes
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
61421
diff
changeset
|
267 user_path = get_path(name, 'posix_user') |
|
72153
4dcbae65df3f
Fix test_sysconfig when run from a Python installed under /site (#10086).
Éric Araujo <merwok@netwok.org>
parents:
70143
diff
changeset
|
268 self.assertEqual(user_path, global_path.replace(base, user, 1)) |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
269 |
|
70143
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
270 @unittest.skipUnless(sys.platform == "darwin", "test only relevant on MacOSX") |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
271 def test_platform_in_subprocess(self): |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
272 my_platform = sysconfig.get_platform() |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
273 |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
274 # Test without MACOSX_DEPLOYMENT_TARGET in the environment |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
275 |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
276 env = os.environ.copy() |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
277 if 'MACOSX_DEPLOYMENT_TARGET' in env: |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
278 del env['MACOSX_DEPLOYMENT_TARGET'] |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
279 |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
280 with open('/dev/null', 'w') as devnull_fp: |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
281 p = subprocess.Popen([ |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
282 sys.executable, '-c', |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
283 'import sysconfig; print(sysconfig.get_platform())', |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
284 ], |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
285 stdout=subprocess.PIPE, |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
286 stderr=devnull_fp, |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
287 env=env) |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
288 test_platform = p.communicate()[0].strip() |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
289 test_platform = test_platform.decode('utf-8') |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
290 status = p.wait() |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
291 |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
292 self.assertEqual(status, 0) |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
293 self.assertEqual(my_platform, test_platform) |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
294 |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
295 |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
296 # Test with MACOSX_DEPLOYMENT_TARGET in the environment, and |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
297 # using a value that is unlikely to be the default one. |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
298 env = os.environ.copy() |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
299 env['MACOSX_DEPLOYMENT_TARGET'] = '10.1' |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
300 |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
301 p = subprocess.Popen([ |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
302 sys.executable, '-c', |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
303 'import sysconfig; print(sysconfig.get_platform())', |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
304 ], |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
305 stdout=subprocess.PIPE, |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
306 stderr=open('/dev/null'), |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
307 env=env) |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
308 test_platform = p.communicate()[0].strip() |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
309 test_platform = test_platform.decode('utf-8') |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
310 status = p.wait() |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
311 |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
312 self.assertEqual(status, 0) |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
313 self.assertEqual(my_platform, test_platform) |
|
9874f213edb2
Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66348
diff
changeset
|
314 |
|
58450
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
315 def test_main(): |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
316 run_unittest(TestSysConfig) |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
317 |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
318 if __name__ == "__main__": |
|
fa69e891edf4
taking sysconfig out of distutils
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
319 test_main() |
