Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
275958aa
Kaydet (Commit)
275958aa
authored
Şub 13, 2009
tarafından
Tarek Ziadé
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Issue #2461: added tests for distutils.util
üst
7e28b9c5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
215 additions
and
0 deletions
+215
-0
test_util.py
Lib/distutils/tests/test_util.py
+213
-0
NEWS
Misc/NEWS
+2
-0
No files found.
Lib/distutils/tests/test_util.py
0 → 100644
Dosyayı görüntüle @
275958aa
"""Tests for distutils.util."""
# not covered yet:
# - byte_compile
#
import
os
import
sys
import
unittest
from
distutils.errors
import
DistutilsPlatformError
from
distutils.util
import
get_platform
from
distutils.util
import
convert_path
from
distutils.util
import
change_root
from
distutils.util
import
check_environ
from
distutils.util
import
split_quoted
from
distutils.util
import
strtobool
from
distutils.util
import
rfc822_escape
from
distutils
import
util
# used to patch _environ_checked
class
utilTestCase
(
unittest
.
TestCase
):
def
setUp
(
self
):
# saving the environment
self
.
name
=
os
.
name
self
.
platform
=
sys
.
platform
self
.
version
=
sys
.
version
self
.
sep
=
os
.
sep
self
.
environ
=
os
.
environ
self
.
join
=
os
.
path
.
join
self
.
isabs
=
os
.
path
.
isabs
self
.
splitdrive
=
os
.
path
.
splitdrive
# patching os.uname
if
hasattr
(
os
,
'uname'
):
self
.
uname
=
os
.
uname
self
.
_uname
=
os
.
uname
()
os
.
uname
=
self
.
_get_uname
else
:
self
.
uname
=
None
self
.
_uname
=
None
def
tearDown
(
self
):
# getting back tne environment
os
.
name
=
self
.
name
sys
.
platform
=
self
.
platform
sys
.
version
=
self
.
version
os
.
sep
=
self
.
sep
os
.
environ
=
self
.
environ
os
.
path
.
join
=
self
.
join
os
.
path
.
isabs
=
self
.
isabs
os
.
path
.
splitdrive
=
self
.
splitdrive
if
self
.
uname
is
not
None
:
os
.
uname
=
self
.
uname
def
_set_uname
(
self
,
uname
):
self
.
_uname
=
uname
def
_get_uname
(
self
):
return
self
.
_uname
def
test_get_platform
(
self
):
# windows XP, 32bits
os
.
name
=
'nt'
sys
.
version
=
(
'2.4.4 (#71, Oct 18 2006, 08:34:43) '
'[MSC v.1310 32 bit (Intel)]'
)
sys
.
platform
=
'win32'
self
.
assertEquals
(
get_platform
(),
'win32'
)
# windows XP, amd64
os
.
name
=
'nt'
sys
.
version
=
(
'2.4.4 (#71, Oct 18 2006, 08:34:43) '
'[MSC v.1310 32 bit (Amd64)]'
)
sys
.
platform
=
'win32'
self
.
assertEquals
(
get_platform
(),
'win-amd64'
)
# windows XP, itanium
os
.
name
=
'nt'
sys
.
version
=
(
'2.4.4 (#71, Oct 18 2006, 08:34:43) '
'[MSC v.1310 32 bit (Itanium)]'
)
sys
.
platform
=
'win32'
self
.
assertEquals
(
get_platform
(),
'win-ia64'
)
# macbook
os
.
name
=
'posix'
sys
.
version
=
(
'2.5 (r25:51918, Sep 19 2006, 08:49:13) '
'
\n
[GCC 4.0.1 (Apple Computer, Inc. build 5341)]'
)
sys
.
platform
=
'darwin'
self
.
_set_uname
((
'Darwin'
,
'macziade'
,
'8.11.1'
,
(
'Darwin Kernel Version 8.11.1: '
'Wed Oct 10 18:23:28 PDT 2007; '
'root:xnu-792.25.20~1/RELEASE_I386'
),
'i386'
))
self
.
assertEquals
(
get_platform
(),
'macosx-10.3-i386'
)
# linux debian sarge
os
.
name
=
'posix'
sys
.
version
=
(
'2.3.5 (#1, Jul 4 2007, 17:28:59) '
'
\n
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]'
)
sys
.
platform
=
'linux2'
self
.
_set_uname
((
'Linux'
,
'aglae'
,
'2.6.21.1dedibox-r7'
,
'#1 Mon Apr 30 17:25:38 CEST 2007'
,
'i686'
))
self
.
assertEquals
(
get_platform
(),
'linux-i686'
)
# XXX more platforms to tests here
def
test_convert_path
(
self
):
# linux/mac
os
.
sep
=
'/'
def
_join
(
path
):
return
'/'
.
join
(
path
)
os
.
path
.
join
=
_join
self
.
assertEquals
(
convert_path
(
'/home/to/my/stuff'
),
'/home/to/my/stuff'
)
# win
os
.
sep
=
'
\\
'
def
_join
(
*
path
):
return
'
\\
'
.
join
(
path
)
os
.
path
.
join
=
_join
self
.
assertRaises
(
ValueError
,
convert_path
,
'/home/to/my/stuff'
)
self
.
assertRaises
(
ValueError
,
convert_path
,
'home/to/my/stuff/'
)
self
.
assertEquals
(
convert_path
(
'home/to/my/stuff'
),
'home
\\
to
\\
my
\\
stuff'
)
self
.
assertEquals
(
convert_path
(
'.'
),
os
.
curdir
)
def
test_change_root
(
self
):
# linux/mac
os
.
name
=
'posix'
def
_isabs
(
path
):
return
path
[
0
]
==
'/'
os
.
path
.
isabs
=
_isabs
self
.
assertEquals
(
change_root
(
'/root'
,
'/old/its/here'
),
'/root/old/its/here'
)
self
.
assertEquals
(
change_root
(
'/root'
,
'its/here'
),
'/root/its/here'
)
# windows
os
.
name
=
'nt'
def
_isabs
(
path
):
return
path
.
startswith
(
'c:
\\
'
)
os
.
path
.
isabs
=
_isabs
def
_splitdrive
(
path
):
if
path
.
startswith
(
'c:'
):
return
(
''
,
path
.
replace
(
'c:'
,
''
))
return
(
''
,
path
)
os
.
path
.
splitdrive
=
_splitdrive
def
_join
(
*
path
):
return
'
\\
'
.
join
(
path
)
os
.
path
.
join
=
_join
self
.
assertEquals
(
change_root
(
'c:
\\
root'
,
'c:
\\
old
\\
its
\\
here'
),
'c:
\\
root
\\
old
\\
its
\\
here'
)
self
.
assertEquals
(
change_root
(
'c:
\\
root'
,
'its
\\
here'
),
'c:
\\
root
\\
its
\\
here'
)
# BugsBunny os (it's a great os)
os
.
name
=
'BugsBunny'
self
.
assertRaises
(
DistutilsPlatformError
,
change_root
,
'c:
\\
root'
,
'its
\\
here'
)
# XXX platforms to be covered: os2, mac
def
test_check_environ
(
self
):
util
.
_environ_checked
=
0
# posix without HOME
if
os
.
name
==
'posix'
:
# this test won't run on windows
os
.
environ
=
{}
check_environ
()
import
pwd
self
.
assertEquals
(
os
.
environ
[
'HOME'
],
pwd
.
getpwuid
(
os
.
getuid
())[
5
])
else
:
check_environ
()
self
.
assertEquals
(
os
.
environ
[
'PLAT'
],
get_platform
())
self
.
assertEquals
(
util
.
_environ_checked
,
1
)
def
test_split_quoted
(
self
):
self
.
assertEquals
(
split_quoted
(
'""one"" "two"
\'
three
\'
\\
four'
),
[
'one'
,
'two'
,
'three'
,
'four'
])
def
test_strtobool
(
self
):
yes
=
(
'y'
,
'Y'
,
'yes'
,
'True'
,
't'
,
'true'
,
'True'
,
'On'
,
'on'
,
'1'
)
no
=
(
'n'
,
'no'
,
'f'
,
'false'
,
'off'
,
'0'
,
'Off'
,
'No'
,
'N'
)
for
y
in
yes
:
self
.
assert_
(
strtobool
(
y
))
for
n
in
no
:
self
.
assert_
(
not
strtobool
(
n
))
def
test_rfc822_escape
(
self
):
header
=
'I am a
\n
poor
\n
lonesome
\n
header
\n
'
res
=
rfc822_escape
(
header
)
wanted
=
(
'I am a
%(8s)
spoor
%(8s)
slonesome
%(8s)
s'
'header
%(8s)
s'
)
%
{
'8s'
:
'
\n
'
+
8
*
' '
}
self
.
assertEquals
(
res
,
wanted
)
def
test_suite
():
return
unittest
.
makeSuite
(
utilTestCase
)
if
__name__
==
"__main__"
:
unittest
.
main
(
defaultTest
=
"test_suite"
)
Misc/NEWS
Dosyayı görüntüle @
275958aa
...
...
@@ -155,6 +155,8 @@ Core and Builtins
Library
-------
- Issue #2461: added tests for distutils.util
- Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on
LP64 platforms (most 64-bit Linux, bsd, unix systems).
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment