annotate Lib/distutils/tests/test_util.py @ 54294:dba767bc3155 legacy-trunk

remove mention of old ctypes version
author Benjamin Peterson <benjamin@python.org>
date Sat, 23 May 2009 20:59:09 +0000
parents 241daa259af9
children 0bb232078b8c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
1 """Tests for distutils.util."""
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
2 # not covered yet:
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
3 # - byte_compile
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
4 #
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
5 import os
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
6 import sys
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
7 import unittest
53130
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
8 from copy import copy
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
9
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
10 from distutils.errors import DistutilsPlatformError
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
11 from distutils.util import (get_platform, convert_path, change_root,
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
12 check_environ, split_quoted, strtobool,
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
13 rfc822_escape)
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
14 from distutils import util # used to patch _environ_checked
53278
e42020a5220a Merged revisions 71758 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53130
diff changeset
15 from distutils.sysconfig import get_config_vars
e42020a5220a Merged revisions 71758 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53130
diff changeset
16 from distutils import sysconfig
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
17 from distutils.tests import support
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
18
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
19 class UtilTestCase(support.EnvironGuard, unittest.TestCase):
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
20
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
21 def setUp(self):
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
22 super(UtilTestCase, self).setUp()
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
23 # saving the environment
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
24 self.name = os.name
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
25 self.platform = sys.platform
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
26 self.version = sys.version
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
27 self.sep = os.sep
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
28 self.join = os.path.join
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
29 self.isabs = os.path.isabs
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
30 self.splitdrive = os.path.splitdrive
53278
e42020a5220a Merged revisions 71758 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53130
diff changeset
31 self._config_vars = copy(sysconfig._config_vars)
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
32
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
33 # patching os.uname
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
34 if hasattr(os, 'uname'):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
35 self.uname = os.uname
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
36 self._uname = os.uname()
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
37 else:
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
38 self.uname = None
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
39 self._uname = None
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
40
51621
e91b04db6d19 Merged revisions 69602 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 51614
diff changeset
41 os.uname = self._get_uname
e91b04db6d19 Merged revisions 69602 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 51614
diff changeset
42
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
43 def tearDown(self):
53130
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
44 # getting back the environment
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
45 os.name = self.name
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
46 sys.platform = self.platform
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
47 sys.version = self.version
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
48 os.sep = self.sep
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
49 os.path.join = self.join
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
50 os.path.isabs = self.isabs
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
51 os.path.splitdrive = self.splitdrive
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
52 if self.uname is not None:
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
53 os.uname = self.uname
52130
48fe623171a4 Merged revisions 70308 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 51621
diff changeset
54 else:
48fe623171a4 Merged revisions 70308 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 51621
diff changeset
55 del os.uname
53278
e42020a5220a Merged revisions 71758 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53130
diff changeset
56 sysconfig._config_vars = copy(self._config_vars)
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
57 super(UtilTestCase, self).tearDown()
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
58
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
59 def _set_uname(self, uname):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
60 self._uname = uname
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
61
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
62 def _get_uname(self):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
63 return self._uname
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
64
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
65 def test_get_platform(self):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
66
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
67 # windows XP, 32bits
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
68 os.name = 'nt'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
69 sys.version = ('2.4.4 (#71, Oct 18 2006, 08:34:43) '
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
70 '[MSC v.1310 32 bit (Intel)]')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
71 sys.platform = 'win32'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
72 self.assertEquals(get_platform(), 'win32')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
73
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
74 # windows XP, amd64
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
75 os.name = 'nt'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
76 sys.version = ('2.4.4 (#71, Oct 18 2006, 08:34:43) '
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
77 '[MSC v.1310 32 bit (Amd64)]')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
78 sys.platform = 'win32'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
79 self.assertEquals(get_platform(), 'win-amd64')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
80
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
81 # windows XP, itanium
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
82 os.name = 'nt'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
83 sys.version = ('2.4.4 (#71, Oct 18 2006, 08:34:43) '
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
84 '[MSC v.1310 32 bit (Itanium)]')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
85 sys.platform = 'win32'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
86 self.assertEquals(get_platform(), 'win-ia64')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
87
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
88 # macbook
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
89 os.name = 'posix'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
90 sys.version = ('2.5 (r25:51918, Sep 19 2006, 08:49:13) '
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
91 '\n[GCC 4.0.1 (Apple Computer, Inc. build 5341)]')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
92 sys.platform = 'darwin'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
93 self._set_uname(('Darwin', 'macziade', '8.11.1',
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
94 ('Darwin Kernel Version 8.11.1: '
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
95 'Wed Oct 10 18:23:28 PDT 2007; '
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
96 'root:xnu-792.25.20~1/RELEASE_I386'), 'i386'))
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
97 self.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.3'
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
98
53130
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
99 get_config_vars()['CFLAGS'] = ('-fno-strict-aliasing -DNDEBUG -g '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
100 '-fwrapv -O3 -Wall -Wstrict-prototypes')
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
101
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
102 self.assertEquals(get_platform(), 'macosx-10.3-i386')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
103
53130
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
104 # macbook with fat binaries (fat, universal or fat64)
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
105 self.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.4'
53130
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
106 get_config_vars()['CFLAGS'] = ('-arch ppc -arch i386 -isysroot '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
107 '/Developer/SDKs/MacOSX10.4u.sdk '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
108 '-fno-strict-aliasing -fno-common '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
109 '-dynamic -DNDEBUG -g -O3')
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
110
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
111 self.assertEquals(get_platform(), 'macosx-10.4-fat')
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
112
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
113 get_config_vars()['CFLAGS'] = ('-arch x86_64 -arch i386 -isysroot '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
114 '/Developer/SDKs/MacOSX10.4u.sdk '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
115 '-fno-strict-aliasing -fno-common '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
116 '-dynamic -DNDEBUG -g -O3')
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
117
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
118 self.assertEquals(get_platform(), 'macosx-10.4-universal')
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
119
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
120 get_config_vars()['CFLAGS'] = ('-arch x86_64 -isysroot '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
121 '/Developer/SDKs/MacOSX10.4u.sdk '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
122 '-fno-strict-aliasing -fno-common '
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
123 '-dynamic -DNDEBUG -g -O3')
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
124
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
125 self.assertEquals(get_platform(), 'macosx-10.4-fat64')
53098f270bbd Merged revisions 71560 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52130
diff changeset
126
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
127 # linux debian sarge
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
128 os.name = 'posix'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
129 sys.version = ('2.3.5 (#1, Jul 4 2007, 17:28:59) '
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
130 '\n[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
131 sys.platform = 'linux2'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
132 self._set_uname(('Linux', 'aglae', '2.6.21.1dedibox-r7',
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
133 '#1 Mon Apr 30 17:25:38 CEST 2007', 'i686'))
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
134
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
135 self.assertEquals(get_platform(), 'linux-i686')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
136
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
137 # XXX more platforms to tests here
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
138
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
139 def test_convert_path(self):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
140 # linux/mac
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
141 os.sep = '/'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
142 def _join(path):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
143 return '/'.join(path)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
144 os.path.join = _join
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
145
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
146 self.assertEquals(convert_path('/home/to/my/stuff'),
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
147 '/home/to/my/stuff')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
148
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
149 # win
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
150 os.sep = '\\'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
151 def _join(*path):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
152 return '\\'.join(path)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
153 os.path.join = _join
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
154
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
155 self.assertRaises(ValueError, convert_path, '/home/to/my/stuff')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
156 self.assertRaises(ValueError, convert_path, 'home/to/my/stuff/')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
157
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
158 self.assertEquals(convert_path('home/to/my/stuff'),
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
159 'home\\to\\my\\stuff')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
160 self.assertEquals(convert_path('.'),
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
161 os.curdir)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
162
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
163 def test_change_root(self):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
164 # linux/mac
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
165 os.name = 'posix'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
166 def _isabs(path):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
167 return path[0] == '/'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
168 os.path.isabs = _isabs
51621
e91b04db6d19 Merged revisions 69602 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 51614
diff changeset
169 def _join(*path):
e91b04db6d19 Merged revisions 69602 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 51614
diff changeset
170 return '/'.join(path)
e91b04db6d19 Merged revisions 69602 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 51614
diff changeset
171 os.path.join = _join
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
172
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
173 self.assertEquals(change_root('/root', '/old/its/here'),
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
174 '/root/old/its/here')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
175 self.assertEquals(change_root('/root', 'its/here'),
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
176 '/root/its/here')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
177
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
178 # windows
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
179 os.name = 'nt'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
180 def _isabs(path):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
181 return path.startswith('c:\\')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
182 os.path.isabs = _isabs
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
183 def _splitdrive(path):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
184 if path.startswith('c:'):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
185 return ('', path.replace('c:', ''))
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
186 return ('', path)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
187 os.path.splitdrive = _splitdrive
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
188 def _join(*path):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
189 return '\\'.join(path)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
190 os.path.join = _join
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
191
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
192 self.assertEquals(change_root('c:\\root', 'c:\\old\\its\\here'),
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
193 'c:\\root\\old\\its\\here')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
194 self.assertEquals(change_root('c:\\root', 'its\\here'),
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
195 'c:\\root\\its\\here')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
196
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
197 # BugsBunny os (it's a great os)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
198 os.name = 'BugsBunny'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
199 self.assertRaises(DistutilsPlatformError,
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
200 change_root, 'c:\\root', 'its\\here')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
201
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
202 # XXX platforms to be covered: os2, mac
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
203
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
204 def test_check_environ(self):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
205 util._environ_checked = 0
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
206
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
207 # posix without HOME
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
208 if os.name == 'posix': # this test won't run on windows
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
209 check_environ()
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
210 import pwd
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
211 self.assertEquals(self.environ['HOME'],
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
212 pwd.getpwuid(os.getuid())[5])
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
213 else:
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
214 check_environ()
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
215
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
216 self.assertEquals(self.environ['PLAT'], get_platform())
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
217 self.assertEquals(util._environ_checked, 1)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
218
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
219 def test_split_quoted(self):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
220 self.assertEquals(split_quoted('""one"" "two" \'three\' \\four'),
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
221 ['one', 'two', 'three', 'four'])
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
222
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
223 def test_strtobool(self):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
224 yes = ('y', 'Y', 'yes', 'True', 't', 'true', 'True', 'On', 'on', '1')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
225 no = ('n', 'no', 'f', 'false', 'off', '0', 'Off', 'No', 'N')
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
226
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
227 for y in yes:
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
228 self.assert_(strtobool(y))
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
229
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
230 for n in no:
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
231 self.assert_(not strtobool(n))
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
232
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
233 def test_rfc822_escape(self):
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
234 header = 'I am a\npoor\nlonesome\nheader\n'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
235 res = rfc822_escape(header)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
236 wanted = ('I am a%(8s)spoor%(8s)slonesome%(8s)s'
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
237 'header%(8s)s') % {'8s': '\n'+8*' '}
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
238 self.assertEquals(res, wanted)
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
239
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
240 def test_suite():
53982
241daa259af9 Merged revisions 72543 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53941
diff changeset
241 return unittest.makeSuite(UtilTestCase)
51614
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
242
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
243 if __name__ == "__main__":
6135ff7243dd Merged revisions 69594 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
244 unittest.main(defaultTest="test_suite")