Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_platform.py @ 70817:dd775b1561ba
Fix markup.
| author | Georg Brandl <georg@python.org> |
|---|---|
| date | Tue, 14 Jun 2011 21:09:55 +0200 |
| parents | 5a745404facf |
| children | 0025ce38fbd0 |
| rev | line source |
|---|---|
|
47378
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
1 import os |
|
47082
b630729571e6
Merged revisions 63208-63209,63211-63212,63214-63217,63219-63224,63226-63227,63229-63232,63234-63235,63237-63239,63241,63243-63246,63250-63254,63256-63259,63261,63263-63264,63266-63267,63269-63270,63272-63273,63275-63276,63278,63280-63281,63283-63284,63286-63287,63289-63290,63292-63293,63295-63296,63298-63299,63301-63302,63304-63305,63307,63309-63314,63316-63322,63324-63325,63327-63335,63337-63338,63340-63342,63344-63346,63348 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents:
37879
diff
changeset
|
2 import platform |
|
49441
c2d0196ea58b
Added the test for issue3762.
Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp>
parents:
47570
diff
changeset
|
3 import subprocess |
|
70755
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
4 import sys |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
5 import unittest |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
6 import warnings |
|
47082
b630729571e6
Merged revisions 63208-63209,63211-63212,63214-63217,63219-63224,63226-63227,63229-63232,63234-63235,63237-63239,63241,63243-63246,63250-63254,63256-63259,63261,63263-63264,63266-63267,63269-63270,63272-63273,63275-63276,63278,63280-63281,63283-63284,63286-63287,63289-63290,63292-63293,63295-63296,63298-63299,63301-63302,63304-63305,63307,63309-63314,63316-63322,63324-63325,63327-63335,63337-63338,63340-63342,63344-63346,63348 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents:
37879
diff
changeset
|
7 |
|
47201
9c930a32cebb
#2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents:
47082
diff
changeset
|
8 from test import support |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
9 |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
10 class PlatformTest(unittest.TestCase): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
11 def test_architecture(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
12 res = platform.architecture() |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
13 |
|
67183
5aa433a277f9
Fix #9333. The symlink function is always available now, raising OSError
Brian Curtin <brian.curtin@gmail.com>
parents:
66606
diff
changeset
|
14 @support.skip_unless_symlink |
|
62874
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
15 def test_architecture_via_symlink(self): # issue3762 |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
16 # On Windows, the EXE needs to know where pythonXY.dll is at so we have |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
17 # to add the directory to the path. |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
18 if sys.platform == "win32": |
|
62900
e97cdd5c5e4f
Re-flow several long lines from #1578269.
Brian Curtin <brian.curtin@gmail.com>
parents:
62874
diff
changeset
|
19 os.environ["Path"] = "{};{}".format( |
|
e97cdd5c5e4f
Re-flow several long lines from #1578269.
Brian Curtin <brian.curtin@gmail.com>
parents:
62874
diff
changeset
|
20 os.path.dirname(sys.executable), os.environ["Path"]) |
|
62874
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
21 |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
22 def get(python): |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
23 cmd = [python, '-c', |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
24 'import platform; print(platform.architecture())'] |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
25 p = subprocess.Popen(cmd, stdout=subprocess.PIPE) |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
26 return p.communicate() |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
27 real = os.path.realpath(sys.executable) |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
28 link = os.path.abspath(support.TESTFN) |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
29 os.symlink(real, link) |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
30 try: |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
31 self.assertEqual(get(real), get(link)) |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
32 finally: |
|
730b728e5aef
Implement #1578269. Patch by Jason R. Coombs.
Brian Curtin <brian.curtin@gmail.com>
parents:
59974
diff
changeset
|
33 os.remove(link) |
|
49441
c2d0196ea58b
Added the test for issue3762.
Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp>
parents:
47570
diff
changeset
|
34 |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
35 def test_platform(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
36 for aliased in (False, True): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
37 for terse in (False, True): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
38 res = platform.platform(aliased, terse) |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
39 |
|
52365
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
40 def test_system(self): |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
41 res = platform.system() |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
42 |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
43 def test_node(self): |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
44 res = platform.node() |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
45 |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
46 def test_release(self): |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
47 res = platform.release() |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
48 |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
49 def test_version(self): |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
50 res = platform.version() |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
51 |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
52 def test_machine(self): |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
53 res = platform.machine() |
|
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
54 |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
55 def test_processor(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
56 res = platform.processor() |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
57 |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
58 def setUp(self): |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
59 self.save_version = sys.version |
|
68275
f3f8b39eaa1e
Adapt platform and test_platform to the build identification changes.
Georg Brandl <georg@python.org>
parents:
66340
diff
changeset
|
60 self.save_mercurial = sys._mercurial |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
61 self.save_platform = sys.platform |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
62 |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
63 def tearDown(self): |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
64 sys.version = self.save_version |
|
68275
f3f8b39eaa1e
Adapt platform and test_platform to the build identification changes.
Georg Brandl <georg@python.org>
parents:
66340
diff
changeset
|
65 sys._mercurial = self.save_mercurial |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
66 sys.platform = self.save_platform |
|
52365
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
67 |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
68 def test_sys_version(self): |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
69 # Old test. |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
70 for input, output in ( |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
71 ('2.4.3 (#1, Jun 21 2006, 13:54:21) \n[GCC 3.3.4 (pre 3.3.5 20040809)]', |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
72 ('CPython', '2.4.3', '', '', '1', 'Jun 21 2006 13:54:21', 'GCC 3.3.4 (pre 3.3.5 20040809)')), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
73 ('IronPython 1.0.60816 on .NET 2.0.50727.42', |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
74 ('IronPython', '1.0.60816', '', '', '', '', '.NET 2.0.50727.42')), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
75 ('IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42', |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
76 ('IronPython', '1.0.0', '', '', '', '', '.NET 2.0.50727.42')), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
77 ): |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
78 # branch and revision are not "parsed", but fetched |
|
68278
0e7e3b1621da
Remove sys.subversion and svn build identification leftovers.
Georg Brandl <georg@python.org>
parents:
68277
diff
changeset
|
79 # from sys._mercurial. Ignore them |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
80 (name, version, branch, revision, buildno, builddate, compiler) \ |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
81 = platform._sys_version(input) |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
82 self.assertEqual( |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
83 (name, version, '', '', buildno, builddate, compiler), output) |
|
52365
475808698eaf
Merged revisions 70628 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49587
diff
changeset
|
84 |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
85 # Tests for python_implementation(), python_version(), python_branch(), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
86 # python_revision(), python_build(), and python_compiler(). |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
87 sys_versions = { |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
88 ("2.6.1 (r261:67515, Dec 6 2008, 15:26:00) \n[GCC 4.0.1 (Apple Computer, Inc. build 5370)]", |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
89 ('CPython', 'tags/r261', '67515'), self.save_platform) |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
90 : |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
91 ("CPython", "2.6.1", "tags/r261", "67515", |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
92 ('r261:67515', 'Dec 6 2008 15:26:00'), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
93 'GCC 4.0.1 (Apple Computer, Inc. build 5370)'), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
94 ("IronPython 2.0 (2.0.0.0) on .NET 2.0.50727.3053", None, "cli") |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
95 : |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
96 ("IronPython", "2.0.0", "", "", ("", ""), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
97 ".NET 2.0.50727.3053"), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
98 ("2.5 (trunk:6107, Mar 26 2009, 13:02:18) \n[Java HotSpot(TM) Client VM (\"Apple Computer, Inc.\")]", |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
99 ('Jython', 'trunk', '6107'), "java1.5.0_16") |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
100 : |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
101 ("Jython", "2.5.0", "trunk", "6107", |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
102 ('trunk:6107', 'Mar 26 2009'), "java1.5.0_16"), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
103 ("2.5.2 (63378, Mar 26 2009, 18:03:29)\n[PyPy 1.0.0]", |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
104 ('PyPy', 'trunk', '63378'), self.save_platform) |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
105 : |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
106 ("PyPy", "2.5.2", "trunk", "63378", ('63378', 'Mar 26 2009'), |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
107 "") |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
108 } |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
109 for (version_tag, subversion, sys_platform), info in \ |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
110 sys_versions.items(): |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
111 sys.version = version_tag |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
112 if subversion is None: |
|
68275
f3f8b39eaa1e
Adapt platform and test_platform to the build identification changes.
Georg Brandl <georg@python.org>
parents:
66340
diff
changeset
|
113 if hasattr(sys, "_mercurial"): |
|
f3f8b39eaa1e
Adapt platform and test_platform to the build identification changes.
Georg Brandl <georg@python.org>
parents:
66340
diff
changeset
|
114 del sys._mercurial |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
115 else: |
|
68275
f3f8b39eaa1e
Adapt platform and test_platform to the build identification changes.
Georg Brandl <georg@python.org>
parents:
66340
diff
changeset
|
116 sys._mercurial = subversion |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
117 if sys_platform is not None: |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
118 sys.platform = sys_platform |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
119 self.assertEqual(platform.python_implementation(), info[0]) |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
120 self.assertEqual(platform.python_version(), info[1]) |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
121 self.assertEqual(platform.python_branch(), info[2]) |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
122 self.assertEqual(platform.python_revision(), info[3]) |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
123 self.assertEqual(platform.python_build(), info[4]) |
|
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
52365
diff
changeset
|
124 self.assertEqual(platform.python_compiler(), info[5]) |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
125 |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
126 def test_system_alias(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
127 res = platform.system_alias( |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
128 platform.system(), |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
129 platform.release(), |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
130 platform.version(), |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
131 ) |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
132 |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
133 def test_uname(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
134 res = platform.uname() |
|
55593
0bb232078b8c
Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents:
52389
diff
changeset
|
135 self.assertTrue(any(res)) |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
136 |
|
59915
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
137 @unittest.skipUnless(sys.platform.startswith('win'), "windows only test") |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
138 def test_uname_win32_ARCHITEW6432(self): |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
139 # Issue 7860: make sure we get architecture from the correct variable |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
140 # on 64 bit Windows: if PROCESSOR_ARCHITEW6432 exists we should be |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
141 # using it, per |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
142 # http://blogs.msdn.com/david.wang/archive/2006/03/26/HOWTO-Detect-Process-Bitness.aspx |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
143 try: |
|
59974
cd0ca56b7880
Fix porting mistake in r79298.
R. David Murray <rdmurray@bitdance.com>
parents:
59915
diff
changeset
|
144 with support.EnvironmentVarGuard() as environ: |
|
59915
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
145 if 'PROCESSOR_ARCHITEW6432' in environ: |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
146 del environ['PROCESSOR_ARCHITEW6432'] |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
147 environ['PROCESSOR_ARCHITECTURE'] = 'foo' |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
148 platform._uname_cache = None |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
149 system, node, release, version, machine, processor = platform.uname() |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
150 self.assertEqual(machine, 'foo') |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
151 environ['PROCESSOR_ARCHITEW6432'] = 'bar' |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
152 platform._uname_cache = None |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
153 system, node, release, version, machine, processor = platform.uname() |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
154 self.assertEqual(machine, 'bar') |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
155 finally: |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
156 platform._uname_cache = None |
|
b7872b0e8ab2
Merged revisions 79294 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
59613
diff
changeset
|
157 |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
158 def test_java_ver(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
159 res = platform.java_ver() |
|
47082
b630729571e6
Merged revisions 63208-63209,63211-63212,63214-63217,63219-63224,63226-63227,63229-63232,63234-63235,63237-63239,63241,63243-63246,63250-63254,63256-63259,63261,63263-63264,63266-63267,63269-63270,63272-63273,63275-63276,63278,63280-63281,63283-63284,63286-63287,63289-63290,63292-63293,63295-63296,63298-63299,63301-63302,63304-63305,63307,63309-63314,63316-63322,63324-63325,63327-63335,63337-63338,63340-63342,63344-63346,63348 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents:
37879
diff
changeset
|
160 if sys.platform == 'java': |
|
55593
0bb232078b8c
Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents:
52389
diff
changeset
|
161 self.assertTrue(all(res)) |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
162 |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
163 def test_win32_ver(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
164 res = platform.win32_ver() |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
165 |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
166 def test_mac_ver(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
167 res = platform.mac_ver() |
|
47378
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
168 |
|
47570
0ca2418c7702
Windows has no os.uname. Use platform.uname() instead.
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
47378
diff
changeset
|
169 if platform.uname()[0] == 'Darwin': |
|
47378
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
170 # We're on a MacOSX system, check that |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
171 # the right version information is returned |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
172 fd = os.popen('sw_vers', 'r') |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
173 real_ver = None |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
174 for ln in fd: |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
175 if ln.startswith('ProductVersion:'): |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
176 real_ver = ln.strip().split()[-1] |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
177 break |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
178 fd.close() |
|
55593
0bb232078b8c
Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents:
52389
diff
changeset
|
179 self.assertFalse(real_ver is None) |
|
55814
77ab93ca065e
Merged revisions 74641 via svnmerge from
Brett Cannon <bcannon@gmail.com>
parents:
55593
diff
changeset
|
180 result_list = res[0].split('.') |
|
77ab93ca065e
Merged revisions 74641 via svnmerge from
Brett Cannon <bcannon@gmail.com>
parents:
55593
diff
changeset
|
181 expect_list = real_ver.split('.') |
|
77ab93ca065e
Merged revisions 74641 via svnmerge from
Brett Cannon <bcannon@gmail.com>
parents:
55593
diff
changeset
|
182 len_diff = len(result_list) - len(expect_list) |
|
77ab93ca065e
Merged revisions 74641 via svnmerge from
Brett Cannon <bcannon@gmail.com>
parents:
55593
diff
changeset
|
183 # On Snow Leopard, sw_vers reports 10.6.0 as 10.6 |
|
77ab93ca065e
Merged revisions 74641 via svnmerge from
Brett Cannon <bcannon@gmail.com>
parents:
55593
diff
changeset
|
184 if len_diff > 0: |
|
77ab93ca065e
Merged revisions 74641 via svnmerge from
Brett Cannon <bcannon@gmail.com>
parents:
55593
diff
changeset
|
185 expect_list.extend(['0'] * len_diff) |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
63157
diff
changeset
|
186 self.assertEqual(result_list, expect_list) |
|
47378
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
187 |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
188 # res[1] claims to contain |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
189 # (version, dev_stage, non_release_version) |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
190 # That information is no longer available |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
63157
diff
changeset
|
191 self.assertEqual(res[1], ('', '', '')) |
|
47378
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
192 |
|
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
193 if sys.byteorder == 'little': |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
63157
diff
changeset
|
194 self.assertEqual(res[2], 'i386') |
|
47378
1d29bfa27368
Merged revisions 63460,63464 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47201
diff
changeset
|
195 else: |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
63157
diff
changeset
|
196 self.assertEqual(res[2], 'PowerPC') |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
197 |
|
63157
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
198 |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
199 @unittest.skipUnless(sys.platform == 'darwin', "OSX only test") |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
200 def test_mac_ver_with_fork(self): |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
201 # Issue7895: platform.mac_ver() crashes when using fork without exec |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
202 # |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
203 # This test checks that the fix for that issue works. |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
204 # |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
205 pid = os.fork() |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
206 if pid == 0: |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
207 # child |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
208 info = platform.mac_ver() |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
209 os._exit(0) |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
210 |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
211 else: |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
212 # parent |
|
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
213 cpid, sts = os.waitpid(pid, 0) |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
63157
diff
changeset
|
214 self.assertEqual(cpid, pid) |
|
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
63157
diff
changeset
|
215 self.assertEqual(sts, 0) |
|
63157
183c5625e00b
Merged revisions 83075 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
58482
diff
changeset
|
216 |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
217 def test_dist(self): |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
218 res = platform.dist() |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
219 |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
220 def test_libc_ver(self): |
|
37879
f731859e9b3b
Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
Thomas Wouters <thomas@python.org>
parents:
35900
diff
changeset
|
221 import os |
|
47082
b630729571e6
Merged revisions 63208-63209,63211-63212,63214-63217,63219-63224,63226-63227,63229-63232,63234-63235,63237-63239,63241,63243-63246,63250-63254,63256-63259,63261,63263-63264,63266-63267,63269-63270,63272-63273,63275-63276,63278,63280-63281,63283-63284,63286-63287,63289-63290,63292-63293,63295-63296,63298-63299,63301-63302,63304-63305,63307,63309-63314,63316-63322,63324-63325,63327-63335,63337-63338,63340-63342,63344-63346,63348 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents:
37879
diff
changeset
|
222 if os.path.isdir(sys.executable) and \ |
|
b630729571e6
Merged revisions 63208-63209,63211-63212,63214-63217,63219-63224,63226-63227,63229-63232,63234-63235,63237-63239,63241,63243-63246,63250-63254,63256-63259,63261,63263-63264,63266-63267,63269-63270,63272-63273,63275-63276,63278,63280-63281,63283-63284,63286-63287,63289-63290,63292-63293,63295-63296,63298-63299,63301-63302,63304-63305,63307,63309-63314,63316-63322,63324-63325,63327-63335,63337-63338,63340-63342,63344-63346,63348 via svnmerge from
Alexandre Vassalotti <alexandre@peadrop.com>
parents:
37879
diff
changeset
|
223 os.path.exists(sys.executable+'.exe'): |
|
37879
f731859e9b3b
Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
Thomas Wouters <thomas@python.org>
parents:
35900
diff
changeset
|
224 # Cygwin horror |
|
59613
77c71f258df7
Merged revisions 78018,78035-78040,78042-78043,78046,78048-78052,78054,78059,78075-78080 via svnmerge from
Georg Brandl <georg@python.org>
parents:
58482
diff
changeset
|
225 executable = sys.executable + '.exe' |
|
77c71f258df7
Merged revisions 78018,78035-78040,78042-78043,78046,78048-78052,78054,78059,78075-78080 via svnmerge from
Georg Brandl <georg@python.org>
parents:
58482
diff
changeset
|
226 else: |
|
77c71f258df7
Merged revisions 78018,78035-78040,78042-78043,78046,78048-78052,78054,78059,78075-78080 via svnmerge from
Georg Brandl <georg@python.org>
parents:
58482
diff
changeset
|
227 executable = sys.executable |
|
77c71f258df7
Merged revisions 78018,78035-78040,78042-78043,78046,78048-78052,78054,78059,78075-78080 via svnmerge from
Georg Brandl <georg@python.org>
parents:
58482
diff
changeset
|
228 res = platform.libc_ver(executable) |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
229 |
|
49587
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
230 def test_parse_release_file(self): |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
231 |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
232 for input, output in ( |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
233 # Examples of release file contents: |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
234 ('SuSE Linux 9.3 (x86-64)', ('SuSE Linux ', '9.3', 'x86-64')), |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
235 ('SUSE LINUX 10.1 (X86-64)', ('SUSE LINUX ', '10.1', 'X86-64')), |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
236 ('SUSE LINUX 10.1 (i586)', ('SUSE LINUX ', '10.1', 'i586')), |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
237 ('Fedora Core release 5 (Bordeaux)', ('Fedora Core', '5', 'Bordeaux')), |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
238 ('Red Hat Linux release 8.0 (Psyche)', ('Red Hat Linux', '8.0', 'Psyche')), |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
239 ('Red Hat Linux release 9 (Shrike)', ('Red Hat Linux', '9', 'Shrike')), |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
240 ('Red Hat Enterprise Linux release 4 (Nahant)', ('Red Hat Enterprise Linux', '4', 'Nahant')), |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
241 ('CentOS release 4', ('CentOS', '4', None)), |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
242 ('Rocks release 4.2.1 (Cydonia)', ('Rocks', '4.2.1', 'Cydonia')), |
|
58482
0cce60b68e46
Merged revisions 77735 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
55814
diff
changeset
|
243 ('', ('', '', '')), # If there's nothing there. |
|
49587
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
244 ): |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
245 self.assertEqual(platform._parse_release_file(input), output) |
|
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
246 |
|
68215
20a5a08c3b6c
Issue #11377: Deprecate platform.popen() and reimplement it with os.popen().
Victor Stinner <victor.stinner@haypocalc.com>
parents:
67183
diff
changeset
|
247 def test_popen(self): |
|
68217
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
248 mswindows = (sys.platform == "win32") |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
249 |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
250 if mswindows: |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
251 command = '"{}" -c "print(\'Hello\')"'.format(sys.executable) |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
252 else: |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
253 command = "'{}' -c 'print(\"Hello\")'".format(sys.executable) |
|
70755
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
254 with warnings.catch_warnings(): |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
255 warnings.simplefilter("ignore", DeprecationWarning) |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
256 with platform.popen(command) as stdout: |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
257 hello = stdout.read().strip() |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
258 stdout.close() |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
259 self.assertEqual(hello, "Hello") |
|
68215
20a5a08c3b6c
Issue #11377: Deprecate platform.popen() and reimplement it with os.popen().
Victor Stinner <victor.stinner@haypocalc.com>
parents:
67183
diff
changeset
|
260 |
|
20a5a08c3b6c
Issue #11377: Deprecate platform.popen() and reimplement it with os.popen().
Victor Stinner <victor.stinner@haypocalc.com>
parents:
67183
diff
changeset
|
261 data = 'plop' |
|
68217
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
262 if mswindows: |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
263 command = '"{}" -c "import sys; data=sys.stdin.read(); exit(len(data))"' |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
264 else: |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
265 command = "'{}' -c 'import sys; data=sys.stdin.read(); exit(len(data))'" |
|
f5398fb81428
Issue #11377: Fix quoting on Windows in test_platform
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68215
diff
changeset
|
266 command = command.format(sys.executable) |
|
70755
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
267 with warnings.catch_warnings(): |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
268 warnings.simplefilter("ignore", DeprecationWarning) |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
269 with platform.popen(command, 'w') as stdin: |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
270 stdout = stdin.write(data) |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
271 ret = stdin.close() |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
272 self.assertIsNotNone(ret) |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
273 if os.name == 'nt': |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
274 returncode = ret |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
275 else: |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
276 returncode = ret >> 8 |
|
5a745404facf
test_platform: ignore DeprecationWarning on popen() test
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68278
diff
changeset
|
277 self.assertEqual(returncode, len(data)) |
|
68215
20a5a08c3b6c
Issue #11377: Deprecate platform.popen() and reimplement it with os.popen().
Victor Stinner <victor.stinner@haypocalc.com>
parents:
67183
diff
changeset
|
278 |
|
49587
f66688e69f66
Merged revisions 66974,66977,66984,66989,66992,66994-66996,66998-67000,67007,67015 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49441
diff
changeset
|
279 |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
280 def test_main(): |
|
47201
9c930a32cebb
#2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents:
47082
diff
changeset
|
281 support.run_unittest( |
|
35900
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
282 PlatformTest |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
283 ) |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
284 |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
285 if __name__ == '__main__': |
|
e9be9e6188f4
Add a rudimentary test for the platform module that at least calls each
Walter Dörwald <walter@livinglogic.de>
parents:
diff
changeset
|
286 test_main() |
