Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
32e23e73
Commit
32e23e73
authored
Nov 03, 2013
by
Serhiy Storchaka
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue #18702: All skipped tests now reported as skipped.
parent
68f518ce
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
816 additions
and
775 deletions
+816
-775
Lib/test/test_array.py
Lib/test/test_array.py
+9
-8
Lib/test/test_compileall.py
Lib/test/test_compileall.py
+1
-2
Lib/test/test_csv.py
Lib/test/test_csv.py
+71
-72
Lib/test/test_enumerate.py
Lib/test/test_enumerate.py
+1
-2
Lib/test/test_ftplib.py
Lib/test/test_ftplib.py
+14
-12
Lib/test/test_mailbox.py
Lib/test/test_mailbox.py
+18
-18
Lib/test/test_math.py
Lib/test/test_math.py
+30
-31
Lib/test/test_mmap.py
Lib/test/test_mmap.py
+73
-75
Lib/test/test_os.py
Lib/test/test_os.py
+125
-128
Lib/test/test_poplib.py
Lib/test/test_poplib.py
+15
-13
Lib/test/test_posix.py
Lib/test/test_posix.py
+219
-196
Lib/test/test_set.py
Lib/test/test_set.py
+4
-4
Lib/test/test_shutil.py
Lib/test/test_shutil.py
+58
-56
Lib/test/test_socket.py
Lib/test/test_socket.py
+33
-31
Lib/test/test_socketserver.py
Lib/test/test_socketserver.py
+46
-39
Lib/test/test_sys.py
Lib/test/test_sys.py
+9
-8
Lib/test/test_warnings.py
Lib/test/test_warnings.py
+1
-2
Lib/test/test_zlib.py
Lib/test/test_zlib.py
+87
-78
Misc/NEWS
Misc/NEWS
+2
-0
No files found.
Lib/test/test_array.py
View file @
32e23e73
...
@@ -9,6 +9,7 @@ from test import test_support
...
@@ -9,6 +9,7 @@ from test import test_support
from
weakref
import
proxy
from
weakref
import
proxy
import
array
,
cStringIO
import
array
,
cStringIO
from
cPickle
import
loads
,
dumps
,
HIGHEST_PROTOCOL
from
cPickle
import
loads
,
dumps
,
HIGHEST_PROTOCOL
import
sys
class
ArraySubclass
(
array
.
array
):
class
ArraySubclass
(
array
.
array
):
pass
pass
...
@@ -772,9 +773,9 @@ class BaseTest(unittest.TestCase):
...
@@ -772,9 +773,9 @@ class BaseTest(unittest.TestCase):
s
=
None
s
=
None
self
.
assertRaises
(
ReferenceError
,
len
,
p
)
self
.
assertRaises
(
ReferenceError
,
len
,
p
)
@
unittest
.
skipUnless
(
hasattr
(
sys
,
'getrefcount'
),
'test needs sys.getrefcount()'
)
def
test_bug_782369
(
self
):
def
test_bug_782369
(
self
):
import
sys
if
hasattr
(
sys
,
"getrefcount"
):
for
i
in
range
(
10
):
for
i
in
range
(
10
):
b
=
array
.
array
(
'B'
,
range
(
64
))
b
=
array
.
array
(
'B'
,
range
(
64
))
rc
=
sys
.
getrefcount
(
10
)
rc
=
sys
.
getrefcount
(
10
)
...
...
Lib/test/test_compileall.py
View file @
32e23e73
...
@@ -31,11 +31,10 @@ class CompileallTests(unittest.TestCase):
...
@@ -31,11 +31,10 @@ class CompileallTests(unittest.TestCase):
compare
=
struct
.
pack
(
'<4sl'
,
imp
.
get_magic
(),
mtime
)
compare
=
struct
.
pack
(
'<4sl'
,
imp
.
get_magic
(),
mtime
)
return
data
,
compare
return
data
,
compare
@
unittest
.
skipUnless
(
hasattr
(
os
,
'stat'
),
'test needs os.stat()'
)
def
recreation_check
(
self
,
metadata
):
def
recreation_check
(
self
,
metadata
):
"""Check that compileall recreates bytecode when the new metadata is
"""Check that compileall recreates bytecode when the new metadata is
used."""
used."""
if
not
hasattr
(
os
,
'stat'
):
return
py_compile
.
compile
(
self
.
source_path
)
py_compile
.
compile
(
self
.
source_path
)
self
.
assertEqual
(
*
self
.
data
())
self
.
assertEqual
(
*
self
.
data
())
with
open
(
self
.
bc_path
,
'rb'
)
as
file
:
with
open
(
self
.
bc_path
,
'rb'
)
as
file
:
...
...
Lib/test/test_csv.py
View file @
32e23e73
...
@@ -1014,15 +1014,14 @@ Stonecutters Seafood and Chop House+ Lemont+ IL+ 12/19/02+ Week Back
...
@@ -1014,15 +1014,14 @@ Stonecutters Seafood and Chop House+ Lemont+ IL+ 12/19/02+ Week Back
dialect
=
sniffer
.
sniff
(
self
.
sample9
)
dialect
=
sniffer
.
sniff
(
self
.
sample9
)
self
.
assertTrue
(
dialect
.
doublequote
)
self
.
assertTrue
(
dialect
.
doublequote
)
if
not
hasattr
(
sys
,
"gettotalrefcount"
):
class
NUL
:
if
test_support
.
verbose
:
print
"*** skipping leakage tests ***"
else
:
class
NUL
:
def
write
(
s
,
*
args
):
def
write
(
s
,
*
args
):
pass
pass
writelines
=
write
writelines
=
write
class
TestLeaks
(
unittest
.
TestCase
):
@
unittest
.
skipUnless
(
hasattr
(
sys
,
"gettotalrefcount"
),
'requires sys.gettotalrefcount()'
)
class
TestLeaks
(
unittest
.
TestCase
):
def
test_create_read
(
self
):
def
test_create_read
(
self
):
delta
=
0
delta
=
0
lastrc
=
sys
.
gettotalrefcount
()
lastrc
=
sys
.
gettotalrefcount
()
...
...
Lib/test/test_enumerate.py
View file @
32e23e73
...
@@ -188,11 +188,10 @@ class TestReversed(unittest.TestCase):
...
@@ -188,11 +188,10 @@ class TestReversed(unittest.TestCase):
self
.
assertRaises
(
TypeError
,
reversed
)
self
.
assertRaises
(
TypeError
,
reversed
)
self
.
assertRaises
(
TypeError
,
reversed
,
[],
'extra'
)
self
.
assertRaises
(
TypeError
,
reversed
,
[],
'extra'
)
@
unittest
.
skipUnless
(
hasattr
(
sys
,
'getrefcount'
),
'test needs sys.getrefcount()'
)
def
test_bug1229429
(
self
):
def
test_bug1229429
(
self
):
# this bug was never in reversed, it was in
# this bug was never in reversed, it was in
# PyObject_CallMethod, and reversed_new calls that sometimes.
# PyObject_CallMethod, and reversed_new calls that sometimes.
if
not
hasattr
(
sys
,
"getrefcount"
):
return
def
f
():
def
f
():
pass
pass
r
=
f
.
__reversed__
=
object
()
r
=
f
.
__reversed__
=
object
()
...
...
Lib/test/test_ftplib.py
View file @
32e23e73
...
@@ -15,7 +15,7 @@ try:
...
@@ -15,7 +15,7 @@ try:
except
ImportError
:
except
ImportError
:
ssl
=
None
ssl
=
None
from
unittest
import
TestCase
from
unittest
import
TestCase
,
SkipTest
,
skipUnless
from
test
import
test_support
from
test
import
test_support
from
test.test_support
import
HOST
,
HOSTv6
from
test.test_support
import
HOST
,
HOSTv6
threading
=
test_support
.
import_module
(
'threading'
)
threading
=
test_support
.
import_module
(
'threading'
)
...
@@ -579,8 +579,16 @@ class TestFTPClass(TestCase):
...
@@ -579,8 +579,16 @@ class TestFTPClass(TestCase):
self
.
assertRaises
(
ftplib
.
Error
,
self
.
client
.
storlines
,
'stor'
,
f
)
self
.
assertRaises
(
ftplib
.
Error
,
self
.
client
.
storlines
,
'stor'
,
f
)
@
skipUnless
(
socket
.
has_ipv6
,
"IPv6 not enabled"
)
class
TestIPv6Environment
(
TestCase
):
class
TestIPv6Environment
(
TestCase
):
@
classmethod
def
setUpClass
(
cls
):
try
:
DummyFTPServer
((
HOST
,
0
),
af
=
socket
.
AF_INET6
)
except
socket
.
error
:
raise
SkipTest
(
"IPv6 not enabled"
)
def
setUp
(
self
):
def
setUp
(
self
):
self
.
server
=
DummyFTPServer
((
HOSTv6
,
0
),
af
=
socket
.
AF_INET6
)
self
.
server
=
DummyFTPServer
((
HOSTv6
,
0
),
af
=
socket
.
AF_INET6
)
self
.
server
.
start
()
self
.
server
.
start
()
...
@@ -615,6 +623,7 @@ class TestIPv6Environment(TestCase):
...
@@ -615,6 +623,7 @@ class TestIPv6Environment(TestCase):
retr
()
retr
()
@
skipUnless
(
ssl
,
"SSL not available"
)
class
TestTLS_FTPClassMixin
(
TestFTPClass
):
class
TestTLS_FTPClassMixin
(
TestFTPClass
):
"""Repeat TestFTPClass tests starting the TLS layer for both control
"""Repeat TestFTPClass tests starting the TLS layer for both control
and data connections first.
and data connections first.
...
@@ -630,6 +639,7 @@ class TestTLS_FTPClassMixin(TestFTPClass):
...
@@ -630,6 +639,7 @@ class TestTLS_FTPClassMixin(TestFTPClass):
self
.
client
.
prot_p
()
self
.
client
.
prot_p
()
@
skipUnless
(
ssl
,
"SSL not available"
)
class
TestTLS_FTPClass
(
TestCase
):
class
TestTLS_FTPClass
(
TestCase
):
"""Specific TLS_FTP class tests."""
"""Specific TLS_FTP class tests."""
...
@@ -783,17 +793,9 @@ class TestTimeouts(TestCase):
...
@@ -783,17 +793,9 @@ class TestTimeouts(TestCase):
def
test_main
():
def
test_main
():
tests
=
[
TestFTPClass
,
TestTimeouts
]
tests
=
[
TestFTPClass
,
TestTimeouts
,
if
socket
.
has_ipv6
:
TestIPv6Environment
,
try
:
TestTLS_FTPClassMixin
,
TestTLS_FTPClass
]
DummyFTPServer
((
HOST
,
0
),
af
=
socket
.
AF_INET6
)
except
socket
.
error
:
pass
else
:
tests
.
append
(
TestIPv6Environment
)
if
ssl
is
not
None
:
tests
.
extend
([
TestTLS_FTPClassMixin
,
TestTLS_FTPClass
])
thread_info
=
test_support
.
threading_setup
()
thread_info
=
test_support
.
threading_setup
()
try
:
try
:
...
...
Lib/test/test_mailbox.py
View file @
32e23e73
...
@@ -772,10 +772,10 @@ class TestMaildir(TestMailbox, unittest.TestCase):
...
@@ -772,10 +772,10 @@ class TestMaildir(TestMailbox, unittest.TestCase):
for
msg
in
self
.
_box
:
for
msg
in
self
.
_box
:
pass
pass
@
unittest
.
skipUnless
(
hasattr
(
os
,
'umask'
),
'test needs os.umask()'
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'stat'
),
'test needs os.stat()'
)
def
test_file_permissions
(
self
):
def
test_file_permissions
(
self
):
# Verify that message files are created without execute permissions
# Verify that message files are created without execute permissions
if
not
hasattr
(
os
,
"stat"
)
or
not
hasattr
(
os
,
"umask"
):
return
msg
=
mailbox
.
MaildirMessage
(
self
.
_template
%
0
)
msg
=
mailbox
.
MaildirMessage
(
self
.
_template
%
0
)
orig_umask
=
os
.
umask
(
0
)
orig_umask
=
os
.
umask
(
0
)
try
:
try
:
...
@@ -786,12 +786,11 @@ class TestMaildir(TestMailbox, unittest.TestCase):
...
@@ -786,12 +786,11 @@ class TestMaildir(TestMailbox, unittest.TestCase):
mode
=
os
.
stat
(
path
).
st_mode
mode
=
os
.
stat
(
path
).
st_mode
self
.
assertEqual
(
mode
&
0111
,
0
)
self
.
assertEqual
(
mode
&
0111
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'umask'
),
'test needs os.umask()'
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'stat'
),
'test needs os.stat()'
)
def
test_folder_file_perms
(
self
):
def
test_folder_file_perms
(
self
):
# From bug #3228, we want to verify that the file created inside a Maildir
# From bug #3228, we want to verify that the file created inside a Maildir
# subfolder isn't marked as executable.
# subfolder isn't marked as executable.
if
not
hasattr
(
os
,
"stat"
)
or
not
hasattr
(
os
,
"umask"
):
return
orig_umask
=
os
.
umask
(
0
)
orig_umask
=
os
.
umask
(
0
)
try
:
try
:
subfolder
=
self
.
_box
.
add_folder
(
'subfolder'
)
subfolder
=
self
.
_box
.
add_folder
(
'subfolder'
)
...
@@ -991,11 +990,12 @@ class TestMbox(_TestMboxMMDF, unittest.TestCase):
...
@@ -991,11 +990,12 @@ class TestMbox(_TestMboxMMDF, unittest.TestCase):
_factory
=
lambda
self
,
path
,
factory
=
None
:
mailbox
.
mbox
(
path
,
factory
)
_factory
=
lambda
self
,
path
,
factory
=
None
:
mailbox
.
mbox
(
path
,
factory
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'umask'
),
'test needs os.umask()'
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'stat'
),
'test needs os.stat()'
)
def
test_file_perms
(
self
):
def
test_file_perms
(
self
):
# From bug #3228, we want to verify that the mailbox file isn't executable,
# From bug #3228, we want to verify that the mailbox file isn't executable,
# even if the umask is set to something that would leave executable bits set.
# even if the umask is set to something that would leave executable bits set.
# We only run this test on platforms that support umask.
# We only run this test on platforms that support umask.
if
hasattr
(
os
,
'umask'
)
and
hasattr
(
os
,
'stat'
):
try
:
try
:
old_umask
=
os
.
umask
(
0077
)
old_umask
=
os
.
umask
(
0077
)
self
.
_box
.
close
()
self
.
_box
.
close
()
...
...
Lib/test/test_math.py
View file @
32e23e73
...
@@ -906,8 +906,7 @@ class MathTests(unittest.TestCase):
...
@@ -906,8 +906,7 @@ class MathTests(unittest.TestCase):
# still fails this part of the test on some platforms. For now, we only
# still fails this part of the test on some platforms. For now, we only
# *run* test_exceptions() in verbose mode, so that this isn't normally
# *run* test_exceptions() in verbose mode, so that this isn't normally
# tested.
# tested.
@
unittest
.
skipUnless
(
verbose
,
'requires verbose mode'
)
if
verbose
:
def
test_exceptions
(
self
):
def
test_exceptions
(
self
):
try
:
try
:
x
=
math
.
exp
(
-
1000000000
)
x
=
math
.
exp
(
-
1000000000
)
...
...
Lib/test/test_mmap.py
View file @
32e23e73
...
@@ -320,9 +320,9 @@ class MmapTests(unittest.TestCase):
...
@@ -320,9 +320,9 @@ class MmapTests(unittest.TestCase):
mf
.
close
()
mf
.
close
()
f
.
close
()
f
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
os
,
"stat"
),
"needs os.stat()"
)
def
test_entire_file
(
self
):
def
test_entire_file
(
self
):
# test mapping of entire file by passing 0 for map length
# test mapping of entire file by passing 0 for map length
if
hasattr
(
os
,
"stat"
):
f
=
open
(
TESTFN
,
"w+"
)
f
=
open
(
TESTFN
,
"w+"
)
f
.
write
(
2
**
16
*
'm'
)
# Arbitrary character
f
.
write
(
2
**
16
*
'm'
)
# Arbitrary character
...
@@ -335,11 +335,10 @@ class MmapTests(unittest.TestCase):
...
@@ -335,11 +335,10 @@ class MmapTests(unittest.TestCase):
mf
.
close
()
mf
.
close
()
f
.
close
()
f
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
os
,
"stat"
),
"needs os.stat()"
)
def
test_length_0_offset
(
self
):
def
test_length_0_offset
(
self
):
# Issue #10916: test mapping of remainder of file by passing 0 for
# Issue #10916: test mapping of remainder of file by passing 0 for
# map length with an offset doesn't cause a segfault.
# map length with an offset doesn't cause a segfault.
if
not
hasattr
(
os
,
"stat"
):
self
.
skipTest
(
"needs os.stat"
)
# NOTE: allocation granularity is currently 65536 under Win64,
# NOTE: allocation granularity is currently 65536 under Win64,
# and therefore the minimum offset alignment.
# and therefore the minimum offset alignment.
with
open
(
TESTFN
,
"wb"
)
as
f
:
with
open
(
TESTFN
,
"wb"
)
as
f
:
...
@@ -352,12 +351,10 @@ class MmapTests(unittest.TestCase):
...
@@ -352,12 +351,10 @@ class MmapTests(unittest.TestCase):
finally
:
finally
:
mf
.
close
()
mf
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
os
,
"stat"
),
"needs os.stat()"
)
def
test_length_0_large_offset
(
self
):
def
test_length_0_large_offset
(
self
):
# Issue #10959: test mapping of a file by passing 0 for
# Issue #10959: test mapping of a file by passing 0 for
# map length with a large offset doesn't cause a segfault.
# map length with a large offset doesn't cause a segfault.
if
not
hasattr
(
os
,
"stat"
):
self
.
skipTest
(
"needs os.stat"
)
with
open
(
TESTFN
,
"wb"
)
as
f
:
with
open
(
TESTFN
,
"wb"
)
as
f
:
f
.
write
(
115699
*
b'm'
)
# Arbitrary character
f
.
write
(
115699
*
b'm'
)
# Arbitrary character
...
@@ -538,9 +535,8 @@ class MmapTests(unittest.TestCase):
...
@@ -538,9 +535,8 @@ class MmapTests(unittest.TestCase):
return
mmap
.
mmap
.
__new__
(
klass
,
-
1
,
*
args
,
**
kwargs
)
return
mmap
.
mmap
.
__new__
(
klass
,
-
1
,
*
args
,
**
kwargs
)
anon_mmap
(
PAGESIZE
)
anon_mmap
(
PAGESIZE
)
@
unittest
.
skipUnless
(
hasattr
(
mmap
,
'PROT_READ'
),
"needs mmap.PROT_READ"
)
def
test_prot_readonly
(
self
):
def
test_prot_readonly
(
self
):
if
not
hasattr
(
mmap
,
'PROT_READ'
):
return
mapsize
=
10
mapsize
=
10
open
(
TESTFN
,
"wb"
).
write
(
"a"
*
mapsize
)
open
(
TESTFN
,
"wb"
).
write
(
"a"
*
mapsize
)
f
=
open
(
TESTFN
,
"rb"
)
f
=
open
(
TESTFN
,
"rb"
)
...
@@ -584,7 +580,7 @@ class MmapTests(unittest.TestCase):
...
@@ -584,7 +580,7 @@ class MmapTests(unittest.TestCase):
m
.
seek
(
8
)
m
.
seek
(
8
)
self
.
assertRaises
(
ValueError
,
m
.
write
,
"bar"
)
self
.
assertRaises
(
ValueError
,
m
.
write
,
"bar"
)
if
os
.
name
==
'nt'
:
@
unittest
.
skipUnless
(
os
.
name
==
'nt'
,
'requires Windows'
)
def
test_tagname
(
self
):
def
test_tagname
(
self
):
data1
=
"0123456789"
data1
=
"0123456789"
data2
=
"abcdefghij"
data2
=
"abcdefghij"
...
@@ -610,6 +606,7 @@ class MmapTests(unittest.TestCase):
...
@@ -610,6 +606,7 @@ class MmapTests(unittest.TestCase):
m2
.
close
()
m2
.
close
()
m1
.
close
()
m1
.
close
()
@
unittest
.
skipUnless
(
os
.
name
==
'nt'
,
'requires Windows'
)
def
test_crasher_on_windows
(
self
):
def
test_crasher_on_windows
(
self
):
# Should not crash (Issue 1733986)
# Should not crash (Issue 1733986)
m
=
mmap
.
mmap
(
-
1
,
1000
,
tagname
=
"foo"
)
m
=
mmap
.
mmap
(
-
1
,
1000
,
tagname
=
"foo"
)
...
@@ -634,6 +631,7 @@ class MmapTests(unittest.TestCase):
...
@@ -634,6 +631,7 @@ class MmapTests(unittest.TestCase):
pass
pass
m
.
close
()
m
.
close
()
@
unittest
.
skipUnless
(
os
.
name
==
'nt'
,
'requires Windows'
)
def
test_invalid_descriptor
(
self
):
def
test_invalid_descriptor
(
self
):
# socket file descriptors are valid, but out of range
# socket file descriptors are valid, but out of range
# for _get_osfhandle, causing a crash when validating the
# for _get_osfhandle, causing a crash when validating the
...
...
Lib/test/test_os.py
View file @
32e23e73
...
@@ -83,9 +83,8 @@ class TemporaryFileTests(unittest.TestCase):
...
@@ -83,9 +83,8 @@ class TemporaryFileTests(unittest.TestCase):
open
(
name
,
"w"
)
open
(
name
,
"w"
)
self
.
files
.
append
(
name
)
self
.
files
.
append
(
name
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'tempnam'
),
'test needs os.tempnam()'
)
def
test_tempnam
(
self
):
def
test_tempnam
(
self
):
if
not
hasattr
(
os
,
"tempnam"
):
return
with
warnings
.
catch_warnings
():
with
warnings
.
catch_warnings
():
warnings
.
filterwarnings
(
"ignore"
,
"tempnam"
,
RuntimeWarning
,
warnings
.
filterwarnings
(
"ignore"
,
"tempnam"
,
RuntimeWarning
,
r"test_os$"
)
r"test_os$"
)
...
@@ -99,9 +98,8 @@ class TemporaryFileTests(unittest.TestCase):
...
@@ -99,9 +98,8 @@ class TemporaryFileTests(unittest.TestCase):
self
.
assertTrue
(
os
.
path
.
basename
(
name
)[:
3
]
==
"pfx"
)
self
.
assertTrue
(
os
.
path
.
basename
(
name
)[:
3
]
==
"pfx"
)
self
.
check_tempfile
(
name
)
self
.
check_tempfile
(
name
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'tmpfile'
),
'test needs os.tmpfile()'
)
def
test_tmpfile
(
self
):
def
test_tmpfile
(
self
):
if
not
hasattr
(
os
,
"tmpfile"
):
return
# As with test_tmpnam() below, the Windows implementation of tmpfile()
# As with test_tmpnam() below, the Windows implementation of tmpfile()
# attempts to create a file in the root directory of the current drive.
# attempts to create a file in the root directory of the current drive.
# On Vista and Server 2008, this test will always fail for normal users
# On Vista and Server 2008, this test will always fail for normal users
...
@@ -150,9 +148,8 @@ class TemporaryFileTests(unittest.TestCase):
...
@@ -150,9 +148,8 @@ class TemporaryFileTests(unittest.TestCase):
fp
.
close
()
fp
.
close
()
self
.
assertTrue
(
s
==
"foobar"
)
self
.
assertTrue
(
s
==
"foobar"
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'tmpnam'
),
'test needs os.tmpnam()'
)
def
test_tmpnam
(
self
):
def
test_tmpnam
(
self
):
if
not
hasattr
(
os
,
"tmpnam"
):
return
with
warnings
.
catch_warnings
():
with
warnings
.
catch_warnings
():
warnings
.
filterwarnings
(
"ignore"
,
"tmpnam"
,
RuntimeWarning
,
warnings
.
filterwarnings
(
"ignore"
,
"tmpnam"
,
RuntimeWarning
,
r"test_os$"
)
r"test_os$"
)
...
@@ -193,10 +190,8 @@ class StatAttributeTests(unittest.TestCase):
...
@@ -193,10 +190,8 @@ class StatAttributeTests(unittest.TestCase):
os
.
unlink
(
self
.
fname
)
os
.
unlink
(
self
.
fname
)
os
.
rmdir
(
test_support
.
TESTFN
)
os
.
rmdir
(
test_support
.
TESTFN
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'stat'
),
'test needs os.stat()'
)
def
test_stat_attributes
(
self
):
def
test_stat_attributes
(
self
):
if
not
hasattr
(
os
,
"stat"
):
return
import
stat
import
stat
result
=
os
.
stat
(
self
.
fname
)
result
=
os
.
stat
(
self
.
fname
)
...
@@ -256,10 +251,8 @@ class StatAttributeTests(unittest.TestCase):
...
@@ -256,10 +251,8 @@ class StatAttributeTests(unittest.TestCase):
pass
pass
@
unittest
.
skipUnless
(
hasattr
(
os
,
'statvfs'
),
'test needs os.statvfs()'
)
def
test_statvfs_attributes
(
self
):
def
test_statvfs_attributes
(
self
):
if
not
hasattr
(
os
,
"statvfs"
):
return
try
:
try
:
result
=
os
.
statvfs
(
self
.
fname
)
result
=
os
.
statvfs
(
self
.
fname
)
except
OSError
,
e
:
except
OSError
,
e
:
...
@@ -311,10 +304,10 @@ class StatAttributeTests(unittest.TestCase):
...
@@ -311,10 +304,10 @@ class StatAttributeTests(unittest.TestCase):
st2
=
os
.
stat
(
test_support
.
TESTFN
)
st2
=
os
.
stat
(
test_support
.
TESTFN
)
self
.
assertEqual
(
st2
.
st_mtime
,
int
(
st
.
st_mtime
-
delta
))
self
.
assertEqual
(
st2
.
st_mtime
,
int
(
st
.
st_mtime
-
delta
))
# Restrict test to Win32, since there is no guarantee other
# Restrict test
s
to Win32, since there is no guarantee other
# systems support centiseconds
# systems support centiseconds
if
sys
.
platform
==
'win32'
:
def
get_file_system
(
path
):
def
get_file_system
(
path
):
if
sys
.
platform
==
'win32'
:
root
=
os
.
path
.
splitdrive
(
os
.
path
.
abspath
(
path
))[
0
]
+
'
\
\
'
root
=
os
.
path
.
splitdrive
(
os
.
path
.
abspath
(
path
))[
0
]
+
'
\
\
'
import
ctypes
import
ctypes
kernel32
=
ctypes
.
windll
.
kernel32
kernel32
=
ctypes
.
windll
.
kernel32
...
@@ -322,17 +315,23 @@ class StatAttributeTests(unittest.TestCase):
...
@@ -322,17 +315,23 @@ class StatAttributeTests(unittest.TestCase):
if
kernel32
.
GetVolumeInformationA
(
root
,
None
,
0
,
None
,
None
,
None
,
buf
,
len
(
buf
)):
if
kernel32
.
GetVolumeInformationA
(
root
,
None
,
0
,
None
,
None
,
None
,
buf
,
len
(
buf
)):
return
buf
.
value
return
buf
.
value
if
get_file_system
(
test_support
.
TESTFN
)
==
"NTFS"
:
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
@
unittest
.
skipUnless
(
get_file_system
(
support
.
TESTFN
)
==
"NTFS"
,
"requires NTFS"
)
def
test_1565150
(
self
):
def
test_1565150
(
self
):
t1
=
1159195039.25
t1
=
1159195039.25
os
.
utime
(
self
.
fname
,
(
t1
,
t1
))
os
.
utime
(
self
.
fname
,
(
t1
,
t1
))
self
.
assertEqual
(
os
.
stat
(
self
.
fname
).
st_mtime
,
t1
)
self
.
assertEqual
(
os
.
stat
(
self
.
fname
).
st_mtime
,
t1
)
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
@
unittest
.
skipUnless
(
get_file_system
(
support
.
TESTFN
)
==
"NTFS"
,
"requires NTFS"
)
def
test_large_time
(
self
):
def
test_large_time
(
self
):
t1
=
5000000000
# some day in 2128
t1
=
5000000000
# some day in 2128
os
.
utime
(
self
.
fname
,
(
t1
,
t1
))
os
.
utime
(
self
.
fname
,
(
t1
,
t1
))
self
.
assertEqual
(
os
.
stat
(
self
.
fname
).
st_mtime
,
t1
)
self
.
assertEqual
(
os
.
stat
(
self
.
fname
).
st_mtime
,
t1
)
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
def
test_1686475
(
self
):
def
test_1686475
(
self
):
# Verify that an open file can be stat'ed
# Verify that an open file can be stat'ed
try
:
try
:
...
@@ -598,6 +597,7 @@ class ExecvpeTests(unittest.TestCase):
...
@@ -598,6 +597,7 @@ class ExecvpeTests(unittest.TestCase):
self
.
assertRaises
(
ValueError
,
os
.
execvpe
,
'notepad'
,
[],
None
)
self
.
assertRaises
(
ValueError
,
os
.
execvpe
,
'notepad'
,
[],
None
)
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
class
Win32ErrorTests
(
unittest
.
TestCase
):
class
Win32ErrorTests
(
unittest
.
TestCase
):
def
test_rename
(
self
):
def
test_rename
(
self
):
self
.
assertRaises
(
WindowsError
,
os
.
rename
,
test_support
.
TESTFN
,
test_support
.
TESTFN
+
".bak"
)
self
.
assertRaises
(
WindowsError
,
os
.
rename
,
test_support
.
TESTFN
,
test_support
.
TESTFN
+
".bak"
)
...
@@ -644,12 +644,12 @@ class TestInvalidFD(unittest.TestCase):
...
@@ -644,12 +644,12 @@ class TestInvalidFD(unittest.TestCase):
self
.
fail
(
"%r didn't raise a OSError with a bad file descriptor"
self
.
fail
(
"%r didn't raise a OSError with a bad file descriptor"
%
f
)
%
f
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'isatty'
),
'test needs os.isatty()'
)
def
test_isatty
(
self
):
def
test_isatty
(
self
):
if
hasattr
(
os
,
"isatty"
):
self
.
assertEqual
(
os
.
isatty
(
test_support
.
make_bad_fd
()),
False
)
self
.
assertEqual
(
os
.
isatty
(
test_support
.
make_bad_fd
()),
False
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'closerange'
),
'test needs os.closerange()'
)
def
test_closerange
(
self
):
def
test_closerange
(
self
):
if
hasattr
(
os
,
"closerange"
):
fd
=
test_support
.
make_bad_fd
()
fd
=
test_support
.
make_bad_fd
()
# Make sure none of the descriptors we are about to close are
# Make sure none of the descriptors we are about to close are
# currently valid (issue 6542).
# currently valid (issue 6542).
...
@@ -664,78 +664,76 @@ class TestInvalidFD(unittest.TestCase):
...
@@ -664,78 +664,76 @@ class TestInvalidFD(unittest.TestCase):
"Unable to acquire a range of invalid file descriptors"
)
"Unable to acquire a range of invalid file descriptors"
)
self
.
assertEqual
(
os
.
closerange
(
fd
,
fd
+
i
-
1
),
None
)
self
.
assertEqual
(
os
.
closerange
(
fd
,
fd
+
i
-
1
),
None
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'dup2'
),
'test needs os.dup2()'
)
def
test_dup2
(
self
):
def
test_dup2
(
self
):
if
hasattr
(
os
,
"dup2"
):
self
.
check
(
os
.
dup2
,
20
)
self
.
check
(
os
.
dup2
,
20
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'fchmod'
),
'test needs os.fchmod()'
)
def
test_fchmod
(
self
):
def
test_fchmod
(
self
):
if
hasattr
(
os
,
"fchmod"
):
self
.
check
(
os
.
fchmod
,
0
)
self
.
check
(
os
.
fchmod
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'fchown'
),
'test needs os.fchown()'
)
def
test_fchown
(
self
):
def
test_fchown
(
self
):
if
hasattr
(
os
,
"fchown"
):
self
.
check
(
os
.
fchown
,
-
1
,
-
1
)
self
.
check
(
os
.
fchown
,
-
1
,
-
1
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'fpathconf'
),
'test needs os.fpathconf()'
)
def
test_fpathconf
(
self
):
def
test_fpathconf
(
self
):
if
hasattr
(
os
,
"fpathconf"
):
self
.
check
(
os
.
fpathconf
,
"PC_NAME_MAX"
)
self
.
check
(
os
.
fpathconf
,
"PC_NAME_MAX"
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'ftruncate'
),
'test needs os.ftruncate()'
)
def
test_ftruncate
(
self
):
def
test_ftruncate
(
self
):
if
hasattr
(
os
,
"ftruncate"
):
self
.
check
(
os
.
ftruncate
,
0
)
self
.
check
(
os
.
ftruncate
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'lseek'
),
'test needs os.lseek()'
)
def
test_lseek
(
self
):
def
test_lseek
(
self
):
if
hasattr
(
os
,
"lseek"
):
self
.
check
(
os
.
lseek
,
0
,
0
)
self
.
check
(
os
.
lseek
,
0
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'read'
),
'test needs os.read()'
)
def
test_read
(
self
):
def
test_read
(
self
):
if
hasattr
(
os
,
"read"
):
self
.
check
(
os
.
read
,
1
)
self
.
check
(
os
.
read
,
1
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'tcsetpgrp'
),
'test needs os.tcsetpgrp()'
)
def
test_tcsetpgrpt
(
self
):
def
test_tcsetpgrpt
(
self
):
if
hasattr
(
os
,
"tcsetpgrp"
):
self
.
check
(
os
.
tcsetpgrp
,
0
)
self
.
check
(
os
.
tcsetpgrp
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'write'
),
'test needs os.write()'
)
def
test_write
(
self
):
def
test_write
(
self
):
if
hasattr
(
os
,
"write"
):
self
.
check
(
os
.
write
,
" "
)
self
.
check
(
os
.
write
,
" "
)
if
sys
.
platform
!=
'win32'
:
@
unittest
.
skipIf
(
sys
.
platform
==
"win32"
,
"Posix specific tests"
)
class
Win32ErrorTests
(
unittest
.
TestCase
):
class
PosixUidGidTests
(
unittest
.
TestCase
):
pass
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setuid'
),
'test needs os.setuid()'
)
class
PosixUidGidTests
(
unittest
.
TestCase
):
if
hasattr
(
os
,
'setuid'
):
def
test_setuid
(
self
):
def
test_setuid
(
self
):
if
os
.
getuid
()
!=
0
:
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setuid
,
0
)
self
.
assertRaises
(
os
.
error
,
os
.
setuid
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setuid
,
1
<<
32
)
self
.
assertRaises
(
OverflowError
,
os
.
setuid
,
1
<<
32
)
if
hasattr
(
os
,
'setgid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setgid'
),
'test needs os.setgid()'
)
def
test_setgid
(
self
):
def
test_setgid
(
self
):
if
os
.
getuid
()
!=
0
:
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setgid
,
0
)
self
.
assertRaises
(
os
.
error
,
os
.
setgid
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setgid
,
1
<<
32
)
self
.
assertRaises
(
OverflowError
,
os
.
setgid
,
1
<<
32
)
if
hasattr
(
os
,
'seteuid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'seteuid'
),
'test needs os.seteuid()'
)
def
test_seteuid
(
self
):
def
test_seteuid
(
self
):
if
os
.
getuid
()
!=
0
:
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
seteuid
,
0
)
self
.
assertRaises
(
os
.
error
,
os
.
seteuid
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
seteuid
,
1
<<
32
)
self
.
assertRaises
(
OverflowError
,
os
.
seteuid
,
1
<<
32
)
if
hasattr
(
os
,
'setegid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setegid'
),
'test needs os.setegid()'
)
def
test_setegid
(
self
):
def
test_setegid
(
self
):
if
os
.
getuid
()
!=
0
:
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setegid
,
0
)
self
.
assertRaises
(
os
.
error
,
os
.
setegid
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setegid
,
1
<<
32
)
self
.
assertRaises
(
OverflowError
,
os
.
setegid
,
1
<<
32
)
if
hasattr
(
os
,
'setreuid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setreuid'
),
'test needs os.setreuid()'
)
def
test_setreuid
(
self
):
def
test_setreuid
(
self
):
if
os
.
getuid
()
!=
0
:
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setreuid
,
0
,
0
)
self
.
assertRaises
(
os
.
error
,
os
.
setreuid
,
0
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setreuid
,
1
<<
32
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setreuid
,
1
<<
32
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setreuid
,
0
,
1
<<
32
)
self
.
assertRaises
(
OverflowError
,
os
.
setreuid
,
0
,
1
<<
32
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setreuid'
),
'test needs os.setreuid()'
)
def
test_setreuid_neg1
(
self
):
def
test_setreuid_neg1
(
self
):
# Needs to accept -1. We run this in a subprocess to avoid
# Needs to accept -1. We run this in a subprocess to avoid
# altering the test runner's process state (issue8045).
# altering the test runner's process state (issue8045).
...
@@ -743,22 +741,21 @@ if sys.platform != 'win32':
...
@@ -743,22 +741,21 @@ if sys.platform != 'win32':
sys
.
executable
,
'-c'
,
sys
.
executable
,
'-c'
,
'import os,sys;os.setreuid(-1,-1);sys.exit(0)'
])
'import os,sys;os.setreuid(-1,-1);sys.exit(0)'
])
if
hasattr
(
os
,
'setregid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setregid'
),
'test needs os.setregid()'
)
def
test_setregid
(
self
):
def
test_setregid
(
self
):
if
os
.
getuid
()
!=
0
:
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setregid
,
0
,
0
)
self
.
assertRaises
(
os
.
error
,
os
.
setregid
,
0
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setregid
,
1
<<
32
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setregid
,
1
<<
32
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setregid
,
0
,
1
<<
32
)
self
.
assertRaises
(
OverflowError
,
os
.
setregid
,
0
,
1
<<
32
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setregid'
),
'test needs os.setregid()'
)
def
test_setregid_neg1
(
self
):
def
test_setregid_neg1
(
self
):
# Needs to accept -1. We run this in a subprocess to avoid
# Needs to accept -1. We run this in a subprocess to avoid
# altering the test runner's process state (issue8045).
# altering the test runner's process state (issue8045).
subprocess
.
check_call
([
subprocess
.
check_call
([
sys
.
executable
,
'-c'
,
sys
.
executable
,
'-c'
,
'import os,sys;os.setregid(-1,-1);sys.exit(0)'
])
'import os,sys;os.setregid(-1,-1);sys.exit(0)'
])
else
:
class
PosixUidGidTests
(
unittest
.
TestCase
):
pass
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
class
Win32KillTests
(
unittest
.
TestCase
):
class
Win32KillTests
(
unittest
.
TestCase
):
...
...
Lib/test/test_poplib.py
View file @
32e23e73
...
@@ -11,7 +11,7 @@ import os
...
@@ -11,7 +11,7 @@ import os
import
time
import
time
import
errno
import
errno
from
unittest
import
TestCase
from
unittest
import
TestCase
,
skipUnless
from
test
import
test_support
from
test
import
test_support
from
test.test_support
import
HOST
from
test.test_support
import
HOST
threading
=
test_support
.
import_module
(
'threading'
)
threading
=
test_support
.
import_module
(
'threading'
)
...
@@ -263,7 +263,10 @@ if hasattr(poplib, 'POP3_SSL'):
...
@@ -263,7 +263,10 @@ if hasattr(poplib, 'POP3_SSL'):
else
:
else
:
DummyPOP3Handler
.
handle_read
(
self
)
DummyPOP3Handler
.
handle_read
(
self
)
class
TestPOP3_SSLClass
(
TestPOP3Class
):
requires_ssl
=
skipUnless
(
SUPPORTS_SSL
,
'SSL not supported'
)
@
requires_ssl
class
TestPOP3_SSLClass
(
TestPOP3Class
):
# repeat previous tests by using poplib.POP3_SSL
# repeat previous tests by using poplib.POP3_SSL
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -331,9 +334,8 @@ class TestTimeouts(TestCase):
...
@@ -331,9 +334,8 @@ class TestTimeouts(TestCase):
def
test_main
():
def
test_main
():
tests
=
[
TestPOP3Class
,
TestTimeouts
]
tests
=
[
TestPOP3Class
,
TestTimeouts
,
if
SUPPORTS_SSL
:
TestPOP3_SSLClass
]
tests
.
append
(
TestPOP3_SSLClass
)
thread_info
=
test_support
.
threading_setup
()
thread_info
=
test_support
.
threading_setup
()
try
:
try
:
test_support
.
run_unittest
(
*
tests
)
test_support
.
run_unittest
(
*
tests
)
...
...
Lib/test/test_posix.py
View file @
32e23e73
...
@@ -53,27 +53,32 @@ class PosixTester(unittest.TestCase):
...
@@ -53,27 +53,32 @@ class PosixTester(unittest.TestCase):
posix_func
()
posix_func
()
self
.
assertRaises
(
TypeError
,
posix_func
,
1
)
self
.
assertRaises
(
TypeError
,
posix_func
,
1
)
if
hasattr
(
posix
,
'getresuid'
):
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'getresuid'
),
'test needs posix.getresuid()'
)
def
test_getresuid
(
self
):
def
test_getresuid
(
self
):
user_ids
=
posix
.
getresuid
()
user_ids
=
posix
.
getresuid
()
self
.
assertEqual
(
len
(
user_ids
),
3
)
self
.
assertEqual
(
len
(
user_ids
),
3
)
for
val
in
user_ids
:
for
val
in
user_ids
:
self
.
assertGreaterEqual
(
val
,
0
)
self
.
assertGreaterEqual
(
val
,
0
)
if
hasattr
(
posix
,
'getresgid'
):
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'getresgid'
),
'test needs posix.getresgid()'
)
def
test_getresgid
(
self
):
def
test_getresgid
(
self
):
group_ids
=
posix
.
getresgid
()
group_ids
=
posix
.
getresgid
()
self
.
assertEqual
(
len
(
group_ids
),
3
)
self
.
assertEqual
(
len
(
group_ids
),
3
)
for
val
in
group_ids
:
for
val
in
group_ids
:
self
.
assertGreaterEqual
(
val
,
0
)
self
.
assertGreaterEqual
(
val
,
0
)
if
hasattr
(
posix
,
'setresuid'
):
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'setresuid'
),
'test needs posix.setresuid()'
)
def
test_setresuid
(
self
):
def
test_setresuid
(
self
):
current_user_ids
=
posix
.
getresuid
()
current_user_ids
=
posix
.
getresuid
()
self
.
assertIsNone
(
posix
.
setresuid
(
*
current_user_ids
))
self
.
assertIsNone
(
posix
.
setresuid
(
*
current_user_ids
))
# -1 means don't change that value.
# -1 means don't change that value.
self
.
assertIsNone
(
posix
.
setresuid
(
-
1
,
-
1
,
-
1
))
self
.
assertIsNone
(
posix
.
setresuid
(
-
1
,
-
1
,
-
1
))
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'setresuid'
),
'test needs posix.setresuid()'
)
def
test_setresuid_exception
(
self
):
def
test_setresuid_exception
(
self
):
# Don't do this test if someone is silly enough to run us as root.
# Don't do this test if someone is silly enough to run us as root.
current_user_ids
=
posix
.
getresuid
()
current_user_ids
=
posix
.
getresuid
()
...
@@ -81,13 +86,16 @@ class PosixTester(unittest.TestCase):
...
@@ -81,13 +86,16 @@ class PosixTester(unittest.TestCase):
new_user_ids
=
(
current_user_ids
[
0
]
+
1
,
-
1
,
-
1
)
new_user_ids
=
(
current_user_ids
[
0
]
+
1
,
-
1
,
-
1
)
self
.
assertRaises
(
OSError
,
posix
.
setresuid
,
*
new_user_ids
)
self
.
assertRaises
(
OSError
,
posix
.
setresuid
,
*
new_user_ids
)
if
hasattr
(
posix
,
'setresgid'
):
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'setresgid'
),
'test needs posix.setresgid()'
)
def
test_setresgid
(
self
):
def
test_setresgid
(
self
):
current_group_ids
=
posix
.
getresgid
()
current_group_ids
=
posix
.
getresgid
()
self
.
assertIsNone
(
posix
.
setresgid
(
*
current_group_ids
))
self
.
assertIsNone
(
posix
.
setresgid
(
*
current_group_ids
))
# -1 means don't change that value.
# -1 means don't change that value.
self
.
assertIsNone
(
posix
.
setresgid
(
-
1
,
-
1
,
-
1
))
self
.
assertIsNone
(
posix
.
setresgid
(
-
1
,
-
1
,
-
1
))
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'setresgid'
),
'test needs posix.setresgid()'
)
def
test_setresgid_exception
(
self
):
def
test_setresgid_exception
(
self
):
# Don't do this test if someone is silly enough to run us as root.
# Don't do this test if someone is silly enough to run us as root.
current_group_ids
=
posix
.
getresgid
()
current_group_ids
=
posix
.
getresgid
()
...
@@ -120,20 +128,23 @@ class PosixTester(unittest.TestCase):
...
@@ -120,20 +128,23 @@ class PosixTester(unittest.TestCase):
else
:
else
:
self
.
fail
(
"Expected OSError to be raised by initgroups"
)
self
.
fail
(
"Expected OSError to be raised by initgroups"
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'statvfs'
),
'test needs posix.statvfs()'
)
def
test_statvfs
(
self
):
def
test_statvfs
(
self
):
if
hasattr
(
posix
,
'statvfs'
):
self
.
assertTrue
(
posix
.
statvfs
(
os
.
curdir
))
self
.
assertTrue
(
posix
.
statvfs
(
os
.
curdir
))
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'fstatvfs'
),
'test needs posix.fstatvfs()'
)
def
test_fstatvfs
(
self
):
def
test_fstatvfs
(
self
):
if
hasattr
(
posix
,
'fstatvfs'
):
fp
=
open
(
test_support
.
TESTFN
)
fp
=
open
(
test_support
.
TESTFN
)
try
:
try
:
self
.
assertTrue
(
posix
.
fstatvfs
(
fp
.
fileno
()))
self
.
assertTrue
(
posix
.
fstatvfs
(
fp
.
fileno
()))
finally
:
finally
:
fp
.
close
()
fp
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'ftruncate'
),
'test needs posix.ftruncate()'
)
def
test_ftruncate
(
self
):
def
test_ftruncate
(
self
):
if
hasattr
(
posix
,
'ftruncate'
):
fp
=
open
(
test_support
.
TESTFN
,
'w+'
)
fp
=
open
(
test_support
.
TESTFN
,
'w+'
)
try
:
try
:
# we need to have some data to truncate
# we need to have some data to truncate
...
@@ -143,8 +154,9 @@ class PosixTester(unittest.TestCase):
...
@@ -143,8 +154,9 @@ class PosixTester(unittest.TestCase):
finally
:
finally
:
fp
.
close
()
fp
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'dup'
),
'test needs posix.dup()'
)
def
test_dup
(
self
):
def
test_dup
(
self
):
if
hasattr
(
posix
,
'dup'
):
fp
=
open
(
test_support
.
TESTFN
)
fp
=
open
(
test_support
.
TESTFN
)
try
:
try
:
fd
=
posix
.
dup
(
fp
.
fileno
())
fd
=
posix
.
dup
(
fp
.
fileno
())
...
@@ -153,13 +165,15 @@ class PosixTester(unittest.TestCase):
...
@@ -153,13 +165,15 @@ class PosixTester(unittest.TestCase):
finally
:
finally
:
fp
.
close
()
fp
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'confstr'
),
'test needs posix.confstr()'
)
def
test_confstr
(
self
):
def
test_confstr
(
self
):
if
hasattr
(
posix
,
'confstr'
):
self
.
assertRaises
(
ValueError
,
posix
.
confstr
,
"CS_garbage"
)
self
.
assertRaises
(
ValueError
,
posix
.
confstr
,
"CS_garbage"
)
self
.
assertEqual
(
len
(
posix
.
confstr
(
"CS_PATH"
))
>
0
,
True
)
self
.
assertEqual
(
len
(
posix
.
confstr
(
"CS_PATH"
))
>
0
,
True
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'dup2'
),
'test needs posix.dup2()'
)
def
test_dup2
(
self
):
def
test_dup2
(
self
):
if
hasattr
(
posix
,
'dup2'
):
fp1
=
open
(
test_support
.
TESTFN
)
fp1
=
open
(
test_support
.
TESTFN
)
fp2
=
open
(
test_support
.
TESTFN
)
fp2
=
open
(
test_support
.
TESTFN
)
try
:
try
:
...
@@ -173,14 +187,16 @@ class PosixTester(unittest.TestCase):
...
@@ -173,14 +187,16 @@ class PosixTester(unittest.TestCase):
fp2
=
posix
.
fdopen
(
fd
,
*
args
)
fp2
=
posix
.
fdopen
(
fd
,
*
args
)
fp2
.
close
()
fp2
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'fdopen'
),
'test needs posix.fdopen()'
)
def
test_fdopen
(
self
):
def
test_fdopen
(
self
):
if
hasattr
(
posix
,
'fdopen'
):
self
.
fdopen_helper
()
self
.
fdopen_helper
()
self
.
fdopen_helper
(
'r'
)
self
.
fdopen_helper
(
'r'
)
self
.
fdopen_helper
(
'r'
,
100
)
self
.
fdopen_helper
(
'r'
,
100
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'O_EXLOCK'
),
'test needs posix.O_EXLOCK'
)
def
test_osexlock
(
self
):
def
test_osexlock
(
self
):
if
hasattr
(
posix
,
"O_EXLOCK"
):
fd
=
os
.
open
(
test_support
.
TESTFN
,
fd
=
os
.
open
(
test_support
.
TESTFN
,
os
.
O_WRONLY
|
os
.
O_EXLOCK
|
os
.
O_CREAT
)
os
.
O_WRONLY
|
os
.
O_EXLOCK
|
os
.
O_CREAT
)
self
.
assertRaises
(
OSError
,
os
.
open
,
test_support
.
TESTFN
,
self
.
assertRaises
(
OSError
,
os
.
open
,
test_support
.
TESTFN
,
...
@@ -194,8 +210,9 @@ class PosixTester(unittest.TestCase):
...
@@ -194,8 +210,9 @@ class PosixTester(unittest.TestCase):
os
.
O_WRONLY
|
os
.
O_EXLOCK
|
os
.
O_NONBLOCK
)
os
.
O_WRONLY
|
os
.
O_EXLOCK
|
os
.
O_NONBLOCK
)
os
.
close
(
fd
)
os
.
close
(
fd
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'O_SHLOCK'
),
'test needs posix.O_SHLOCK'
)
def
test_osshlock
(
self
):
def
test_osshlock
(
self
):
if
hasattr
(
posix
,
"O_SHLOCK"
):
fd1
=
os
.
open
(
test_support
.
TESTFN
,
fd1
=
os
.
open
(
test_support
.
TESTFN
,
os
.
O_WRONLY
|
os
.
O_SHLOCK
|
os
.
O_CREAT
)
os
.
O_WRONLY
|
os
.
O_SHLOCK
|
os
.
O_CREAT
)
fd2
=
os
.
open
(
test_support
.
TESTFN
,
fd2
=
os
.
open
(
test_support
.
TESTFN
,
...
@@ -210,16 +227,18 @@ class PosixTester(unittest.TestCase):
...
@@ -210,16 +227,18 @@ class PosixTester(unittest.TestCase):
os
.
O_RDONLY
|
os
.
O_EXLOCK
|
os
.
O_NONBLOCK
)
os
.
O_RDONLY
|
os
.
O_EXLOCK
|
os
.
O_NONBLOCK
)
os
.
close
(
fd
)
os
.
close
(
fd
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'fstat'
),
'test needs posix.fstat()'
)
def
test_fstat
(
self
):
def
test_fstat
(
self
):
if
hasattr
(
posix
,
'fstat'
):
fp
=
open
(
test_support
.
TESTFN
)
fp
=
open
(
test_support
.
TESTFN
)
try
:
try
:
self
.
assertTrue
(
posix
.
fstat
(
fp
.
fileno
()))
self
.
assertTrue
(
posix
.
fstat
(
fp
.
fileno
()))
finally
:
finally
:
fp
.
close
()
fp
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'stat'
),
'test needs posix.stat()'
)
def
test_stat
(
self
):
def
test_stat
(
self
):
if
hasattr
(
posix
,
'stat'
):
self
.
assertTrue
(
posix
.
stat
(
test_support
.
TESTFN
))
self
.
assertTrue
(
posix
.
stat
(
test_support
.
TESTFN
))
def
_test_all_chown_common
(
self
,
chown_func
,
first_param
,
stat_func
):
def
_test_all_chown_common
(
self
,
chown_func
,
first_param
,
stat_func
):
...
@@ -313,52 +332,55 @@ class PosixTester(unittest.TestCase):
...
@@ -313,52 +332,55 @@ class PosixTester(unittest.TestCase):
self
.
_test_all_chown_common
(
posix
.
lchown
,
test_support
.
TESTFN
,
self
.
_test_all_chown_common
(
posix
.
lchown
,
test_support
.
TESTFN
,
getattr
(
posix
,
'lstat'
,
None
))
getattr
(
posix
,
'lstat'
,
None
))
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'chdir'
),
'test needs posix.chdir()'
)
def
test_chdir
(
self
):
def
test_chdir
(
self
):
if
hasattr
(
posix
,
'chdir'
):
posix
.
chdir
(
os
.
curdir
)
posix
.
chdir
(
os
.
curdir
)
self
.
assertRaises
(
OSError
,
posix
.
chdir
,
test_support
.
TESTFN
)
self
.
assertRaises
(
OSError
,
posix
.
chdir
,
test_support
.
TESTFN
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'lsdir'
),
'test needs posix.lsdir()'
)
def
test_lsdir
(
self
):
def
test_lsdir
(
self
):
if
hasattr
(
posix
,
'lsdir'
):
self
.
assertIn
(
test_support
.
TESTFN
,
posix
.
lsdir
(
os
.
curdir
))
self
.
assertIn
(
test_support
.
TESTFN
,
posix
.
lsdir
(
os
.
curdir
))
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'access'
),
'test needs posix.access()'
)
def
test_access
(
self
):
def
test_access
(
self
):
if
hasattr
(
posix
,
'access'
):
self
.
assertTrue
(
posix
.
access
(
test_support
.
TESTFN
,
os
.
R_OK
))
self
.
assertTrue
(
posix
.
access
(
test_support
.
TESTFN
,
os
.
R_OK
))
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'umask'
),
'test needs posix.umask()'
)
def
test_umask
(
self
):
def
test_umask
(
self
):
if
hasattr
(
posix
,
'umask'
):
old_mask
=
posix
.
umask
(
0
)
old_mask
=
posix
.
umask
(
0
)
self
.
assertIsInstance
(
old_mask
,
int
)
self
.
assertIsInstance
(
old_mask
,
int
)
posix
.
umask
(
old_mask
)
posix
.
umask
(
old_mask
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'strerror'
),
'test needs posix.strerror()'
)
def
test_strerror
(
self
):
def
test_strerror
(
self
):
if
hasattr
(
posix
,
'strerror'
):
self
.
assertTrue
(
posix
.
strerror
(
0
))
self
.
assertTrue
(
posix
.
strerror
(
0
))
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'pipe'
),
'test needs posix.pipe()'
)
def
test_pipe
(
self
):
def
test_pipe
(
self
):
if
hasattr
(
posix
,
'pipe'
):
reader
,
writer
=
posix
.
pipe
()
reader
,
writer
=
posix
.
pipe
()
os
.
close
(
reader
)
os
.
close
(
reader
)
os
.
close
(
writer
)
os
.
close
(
writer
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'tempnam'
),
'test needs posix.tempnam()'
)
def
test_tempnam
(
self
):
def
test_tempnam
(
self
):
if
hasattr
(
posix
,
'tempnam'
):
with
warnings
.
catch_warnings
():
with
warnings
.
catch_warnings
():
warnings
.
filterwarnings
(
"ignore"
,
"tempnam"
,
DeprecationWarning
)
warnings
.
filterwarnings
(
"ignore"
,
"tempnam"
,
DeprecationWarning
)
self
.
assertTrue
(
posix
.
tempnam
())
self
.
assertTrue
(
posix
.
tempnam
())
self
.
assertTrue
(
posix
.
tempnam
(
os
.
curdir
))
self
.
assertTrue
(
posix
.
tempnam
(
os
.
curdir
))
self
.
assertTrue
(
posix
.
tempnam
(
os
.
curdir
,
'blah'
))
self
.
assertTrue
(
posix
.
tempnam
(
os
.
curdir
,
'blah'
))
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'tmpfile'
),
'test needs posix.tmpfile()'
)
def
test_tmpfile
(
self
):
def
test_tmpfile
(
self
):
if
hasattr
(
posix
,
'tmpfile'
):
with
warnings
.
catch_warnings
():
with
warnings
.
catch_warnings
():
warnings
.
filterwarnings
(
"ignore"
,
"tmpfile"
,
DeprecationWarning
)
warnings
.
filterwarnings
(
"ignore"
,
"tmpfile"
,
DeprecationWarning
)
fp
=
posix
.
tmpfile
()
fp
=
posix
.
tmpfile
()
fp
.
close
()
fp
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'utime'
),
'test needs posix.utime()'
)
def
test_utime
(
self
):
def
test_utime
(
self
):
if
hasattr
(
posix
,
'utime'
):
now
=
time
.
time
()
now
=
time
.
time
()
posix
.
utime
(
test_support
.
TESTFN
,
None
)
posix
.
utime
(
test_support
.
TESTFN
,
None
)
self
.
assertRaises
(
TypeError
,
posix
.
utime
,
test_support
.
TESTFN
,
(
None
,
None
))
self
.
assertRaises
(
TypeError
,
posix
.
utime
,
test_support
.
TESTFN
,
(
None
,
None
))
...
@@ -428,8 +450,9 @@ class PosixTester(unittest.TestCase):
...
@@ -428,8 +450,9 @@ class PosixTester(unittest.TestCase):
finally
:
finally
:
posix
.
lchflags
(
_DUMMY_SYMLINK
,
dummy_symlink_st
.
st_flags
)
posix
.
lchflags
(
_DUMMY_SYMLINK
,
dummy_symlink_st
.
st_flags
)
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'getcwd'
),
'test needs posix.getcwd()'
)
def
test_getcwd_long_pathnames
(
self
):
def
test_getcwd_long_pathnames
(
self
):
if
hasattr
(
posix
,
'getcwd'
):
dirname
=
'getcwd-test-directory-0123456789abcdef-01234567890abcdef'
dirname
=
'getcwd-test-directory-0123456789abcdef-01234567890abcdef'
curdir
=
os
.
getcwd
()
curdir
=
os
.
getcwd
()
base_path
=
os
.
path
.
abspath
(
test_support
.
TESTFN
)
+
'.getcwd'
base_path
=
os
.
path
.
abspath
(
test_support
.
TESTFN
)
+
'.getcwd'
...
@@ -522,7 +545,7 @@ class PosixGroupsTester(unittest.TestCase):
...
@@ -522,7 +545,7 @@ class PosixGroupsTester(unittest.TestCase):
posix
.
initgroups
(
name
,
self
.
saved_groups
[
0
])
posix
.
initgroups
(
name
,
self
.
saved_groups
[
0
])
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'initgroups'
),
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'initgroups'
),
"test needs posix.initgroups()"
)
'test needs posix.initgroups()'
)
def
test_initgroups
(
self
):
def
test_initgroups
(
self
):
# find missing group
# find missing group
...
@@ -532,7 +555,7 @@ class PosixGroupsTester(unittest.TestCase):
...
@@ -532,7 +555,7 @@ class PosixGroupsTester(unittest.TestCase):
self
.
assertIn
(
g
,
posix
.
getgroups
())
self
.
assertIn
(
g
,
posix
.
getgroups
())
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'setgroups'
),
@
unittest
.
skipUnless
(
hasattr
(
posix
,
'setgroups'
),
"test needs posix.setgroups()"
)
'test needs posix.setgroups()'
)
def
test_setgroups
(
self
):
def
test_setgroups
(
self
):
for
groups
in
[[
0
],
range
(
16
)]:
for
groups
in
[[
0
],
range
(
16
)]:
posix
.
setgroups
(
groups
)
posix
.
setgroups
(
groups
)
...
...
Lib/test/test_set.py
View file @
32e23e73
...
@@ -561,8 +561,8 @@ class TestSet(TestJointOps):
...
@@ -561,8 +561,8 @@ class TestSet(TestJointOps):
s
=
None
s
=
None
self
.
assertRaises
(
ReferenceError
,
str
,
p
)
self
.
assertRaises
(
ReferenceError
,
str
,
p
)
# C API test only available in a debug build
@
unittest
.
skipUnless
(
hasattr
(
set
,
"test_c_api"
),
if
hasattr
(
set
,
"test_c_api"
):
'C API test only available in a debug build'
)
def
test_c_api
(
self
):
def
test_c_api
(
self
):
self
.
assertEqual
(
set
().
test_c_api
(),
True
)
self
.
assertEqual
(
set
().
test_c_api
(),
True
)
...
...
Lib/test/test_shutil.py
View file @
32e23e73
...
@@ -78,10 +78,11 @@ class TestShutil(unittest.TestCase):
...
@@ -78,10 +78,11 @@ class TestShutil(unittest.TestCase):
filename
=
tempfile
.
mktemp
()
filename
=
tempfile
.
mktemp
()
self
.
assertRaises
(
OSError
,
shutil
.
rmtree
,
filename
)
self
.
assertRaises
(
OSError
,
shutil
.
rmtree
,
filename
)
# See bug #1071513 for why we don't run this on cygwin
@
unittest
.
skipUnless
(
hasattr
(
os
,
'chmod'
),
'requires os.chmod()'
)
# and bug #1076467 for why we don't run this as root.
@
unittest
.
skipIf
(
sys
.
platform
[:
6
]
==
'cygwin'
,
if
(
hasattr
(
os
,
'chmod'
)
and
sys
.
platform
[:
6
]
!=
'cygwin'
"This test can't be run on Cygwin (issue #1071513)."
)
and
not
(
hasattr
(
os
,
'geteuid'
)
and
os
.
geteuid
()
==
0
)):
@
unittest
.
skipIf
(
hasattr
(
os
,
'geteuid'
)
and
os
.
geteuid
()
==
0
,
"This test can't be run reliably as root (issue #1076467)."
)
def
test_on_error
(
self
):
def
test_on_error
(
self
):
self
.
errorState
=
0
self
.
errorState
=
0
os
.
mkdir
(
TESTFN
)
os
.
mkdir
(
TESTFN
)
...
@@ -308,8 +309,8 @@ class TestShutil(unittest.TestCase):
...
@@ -308,8 +309,8 @@ class TestShutil(unittest.TestCase):
finally
:
finally
:
shutil
.
rmtree
(
TESTFN
,
ignore_errors
=
True
)
shutil
.
rmtree
(
TESTFN
,
ignore_errors
=
True
)
if
hasattr
(
os
,
"mkfifo"
):
# Issue #3002: copyfile and copytree block indefinitely on named pipes
# Issue #3002: copyfile and copytree block indefinitely on named pipes
@
unittest
.
skipUnless
(
hasattr
(
os
,
"mkfifo"
),
'requires os.mkfifo()'
)
def
test_copyfile_named_pipe
(
self
):
def
test_copyfile_named_pipe
(
self
):
os
.
mkfifo
(
TESTFN
)
os
.
mkfifo
(
TESTFN
)
try
:
try
:
...
@@ -320,6 +321,7 @@ class TestShutil(unittest.TestCase):
...
@@ -320,6 +321,7 @@ class TestShutil(unittest.TestCase):
finally
:
finally
:
os
.
remove
(
TESTFN
)
os
.
remove
(
TESTFN
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
"mkfifo"
),
'requires os.mkfifo()'
)
def
test_copytree_named_pipe
(
self
):
def
test_copytree_named_pipe
(
self
):
os
.
mkdir
(
TESTFN
)
os
.
mkdir
(
TESTFN
)
try
:
try
:
...
...
Lib/test/test_socket.py
View file @
32e23e73
...
@@ -343,9 +343,10 @@ class GeneralModuleTests(unittest.TestCase):
...
@@ -343,9 +343,10 @@ class GeneralModuleTests(unittest.TestCase):
if
not
fqhn
in
all_host_names
:
if
not
fqhn
in
all_host_names
:
self
.
fail
(
"Error testing host resolution mechanisms. (fqdn: %s, all: %s)"
%
(
fqhn
,
repr
(
all_host_names
)))
self
.
fail
(
"Error testing host resolution mechanisms. (fqdn: %s, all: %s)"
%
(
fqhn
,
repr
(
all_host_names
)))
@
unittest
.
skipUnless
(
hasattr
(
sys
,
'getrefcount'
),
'test needs sys.getrefcount()'
)
def
testRefCountGetNameInfo
(
self
):
def
testRefCountGetNameInfo
(
self
):
# Testing reference count for getnameinfo
# Testing reference count for getnameinfo
if
hasattr
(
sys
,
"getrefcount"
):
try
:
try
:
# On some versions, this loses a reference
# On some versions, this loses a reference
orig
=
sys
.
getrefcount
(
__name__
)
orig
=
sys
.
getrefcount
(
__name__
)
...
@@ -459,17 +460,17 @@ class GeneralModuleTests(unittest.TestCase):
...
@@ -459,17 +460,17 @@ class GeneralModuleTests(unittest.TestCase):
# Check that setting it to an invalid type raises TypeError
# Check that setting it to an invalid type raises TypeError
self
.
assertRaises
(
TypeError
,
socket
.
setdefaulttimeout
,
"spam"
)
self
.
assertRaises
(
TypeError
,
socket
.
setdefaulttimeout
,
"spam"
)
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'inet_aton'
),
'test needs socket.inet_aton()'
)
def
testIPv4_inet_aton_fourbytes
(
self
):
def
testIPv4_inet_aton_fourbytes
(
self
):
if
not
hasattr
(
socket
,
'inet_aton'
):
return
# No inet_aton, nothing to check
# Test that issue1008086 and issue767150 are fixed.
# Test that issue1008086 and issue767150 are fixed.
# It must return 4 bytes.
# It must return 4 bytes.
self
.
assertEqual
(
'
\
x00
'
*
4
,
socket
.
inet_aton
(
'0.0.0.0'
))
self
.
assertEqual
(
'
\
x00
'
*
4
,
socket
.
inet_aton
(
'0.0.0.0'
))
self
.
assertEqual
(
'
\
xff
'
*
4
,
socket
.
inet_aton
(
'255.255.255.255'
))
self
.
assertEqual
(
'
\
xff
'
*
4
,
socket
.
inet_aton
(
'255.255.255.255'
))
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'inet_pton'
),
'test needs socket.inet_pton()'
)
def
testIPv4toString
(
self
):
def
testIPv4toString
(
self
):
if
not
hasattr
(
socket
,
'inet_pton'
):
return
# No inet_pton() on this platform
from
socket
import
inet_aton
as
f
,
inet_pton
,
AF_INET
from
socket
import
inet_aton
as
f
,
inet_pton
,
AF_INET
g
=
lambda
a
:
inet_pton
(
AF_INET
,
a
)
g
=
lambda
a
:
inet_pton
(
AF_INET
,
a
)
...
@@ -484,9 +485,9 @@ class GeneralModuleTests(unittest.TestCase):
...
@@ -484,9 +485,9 @@ class GeneralModuleTests(unittest.TestCase):
self
.
assertEqual
(
'
\
xaa
\
xaa
\
xaa
\
xaa
'
,
g
(
'170.170.170.170'
))
self
.
assertEqual
(
'
\
xaa
\
xaa
\
xaa
\
xaa
'
,
g
(
'170.170.170.170'
))
self
.
assertEqual
(
'
\
xff
\
xff
\
xff
\
xff
'
,
g
(
'255.255.255.255'
))
self
.
assertEqual
(
'
\
xff
\
xff
\
xff
\
xff
'
,
g
(
'255.255.255.255'
))
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'inet_pton'
),
'test needs socket.inet_pton()'
)
def
testIPv6toString
(
self
):
def
testIPv6toString
(
self
):
if
not
hasattr
(
socket
,
'inet_pton'
):
return
# No inet_pton() on this platform
try
:
try
:
from
socket
import
inet_pton
,
AF_INET6
,
has_ipv6
from
socket
import
inet_pton
,
AF_INET6
,
has_ipv6
if
not
has_ipv6
:
if
not
has_ipv6
:
...
@@ -503,9 +504,9 @@ class GeneralModuleTests(unittest.TestCase):
...
@@ -503,9 +504,9 @@ class GeneralModuleTests(unittest.TestCase):
f
(
'45ef:76cb:1a:56ef:afeb:bac:1924:aeae'
)
f
(
'45ef:76cb:1a:56ef:afeb:bac:1924:aeae'
)
)
)
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'inet_ntop'
),
'test needs socket.inet_ntop()'
)
def
testStringToIPv4
(
self
):
def
testStringToIPv4
(
self
):
if
not
hasattr
(
socket
,
'inet_ntop'
):
return
# No inet_ntop() on this platform
from
socket
import
inet_ntoa
as
f
,
inet_ntop
,
AF_INET
from
socket
import
inet_ntoa
as
f
,
inet_ntop
,
AF_INET
g
=
lambda
a
:
inet_ntop
(
AF_INET
,
a
)
g
=
lambda
a
:
inet_ntop
(
AF_INET
,
a
)
...
@@ -518,9 +519,9 @@ class GeneralModuleTests(unittest.TestCase):
...
@@ -518,9 +519,9 @@ class GeneralModuleTests(unittest.TestCase):
self
.
assertEqual
(
'170.85.170.85'
,
g
(
'
\
xaa
\
x55
\
xaa
\
x55
'
))
self
.
assertEqual
(
'170.85.170.85'
,
g
(
'
\
xaa
\
x55
\
xaa
\
x55
'
))
self
.
assertEqual
(
'255.255.255.255'
,
g
(
'
\
xff
\
xff
\
xff
\
xff
'
))
self
.
assertEqual
(
'255.255.255.255'
,
g
(
'
\
xff
\
xff
\
xff
\
xff
'
))
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'inet_ntop'
),
'test needs socket.inet_ntop()'
)
def
testStringToIPv6
(
self
):
def
testStringToIPv6
(
self
):
if
not
hasattr
(
socket
,
'inet_ntop'
):
return
# No inet_ntop() on this platform
try
:
try
:
from
socket
import
inet_ntop
,
AF_INET6
,
has_ipv6
from
socket
import
inet_ntop
,
AF_INET6
,
has_ipv6
if
not
has_ipv6
:
if
not
has_ipv6
:
...
@@ -871,6 +872,8 @@ class TCPCloserTest(ThreadedTCPSocketTest):
...
@@ -871,6 +872,8 @@ class TCPCloserTest(ThreadedTCPSocketTest):
self
.
cli
.
connect
((
HOST
,
self
.
port
))
self
.
cli
.
connect
((
HOST
,
self
.
port
))
time
.
sleep
(
1.0
)
time
.
sleep
(
1.0
)
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'socketpair'
),
'test needs socket.socketpair()'
)
@
unittest
.
skipUnless
(
thread
,
'Threading required for this test.'
)
@
unittest
.
skipUnless
(
thread
,
'Threading required for this test.'
)
class
BasicSocketPairTest
(
SocketPairTest
):
class
BasicSocketPairTest
(
SocketPairTest
):
...
@@ -1456,12 +1459,12 @@ class TCPTimeoutTest(SocketTCPTest):
...
@@ -1456,12 +1459,12 @@ class TCPTimeoutTest(SocketTCPTest):
if
not
ok
:
if
not
ok
:
self
.
fail
(
"accept() returned success when we did not expect it"
)
self
.
fail
(
"accept() returned success when we did not expect it"
)
@
unittest
.
skipUnless
(
hasattr
(
signal
,
'alarm'
),
'test needs signal.alarm()'
)
def
testInterruptedTimeout
(
self
):
def
testInterruptedTimeout
(
self
):
# XXX I don't know how to do this test on MSWindows or any other
# XXX I don't know how to do this test on MSWindows or any other
# plaform that doesn't support signal.alarm() or os.kill(), though
# plaform that doesn't support signal.alarm() or os.kill(), though
# the bug should have existed on all platforms.
# the bug should have existed on all platforms.
if
not
hasattr
(
signal
,
"alarm"
):
return
# can only test on *nix
self
.
serv
.
settimeout
(
5.0
)
# must be longer than alarm
self
.
serv
.
settimeout
(
5.0
)
# must be longer than alarm
class
Alarm
(
Exception
):
class
Alarm
(
Exception
):
pass
pass
...
@@ -1521,6 +1524,7 @@ class TestExceptions(unittest.TestCase):
...
@@ -1521,6 +1524,7 @@ class TestExceptions(unittest.TestCase):
self
.
assertTrue
(
issubclass
(
socket
.
gaierror
,
socket
.
error
))
self
.
assertTrue
(
issubclass
(
socket
.
gaierror
,
socket
.
error
))
self
.
assertTrue
(
issubclass
(
socket
.
timeout
,
socket
.
error
))
self
.
assertTrue
(
issubclass
(
socket
.
timeout
,
socket
.
error
))
@
unittest
.
skipUnless
(
sys
.
platform
==
'linux'
,
'Linux specific test'
)
class
TestLinuxAbstractNamespace
(
unittest
.
TestCase
):
class
TestLinuxAbstractNamespace
(
unittest
.
TestCase
):
UNIX_PATH_MAX
=
108
UNIX_PATH_MAX
=
108
...
@@ -1635,11 +1639,11 @@ def isTipcAvailable():
...
@@ -1635,11 +1639,11 @@ def isTipcAvailable():
for
line
in
f
:
for
line
in
f
:
if
line
.
startswith
(
"tipc "
):
if
line
.
startswith
(
"tipc "
):
return
True
return
True
if
test_support
.
verbose
:
print
"TIPC module is not loaded, please 'sudo modprobe tipc'"
return
False
return
False
class
TIPCTest
(
unittest
.
TestCase
):
@
unittest
.
skipUnless
(
isTipcAvailable
(),
"TIPC module is not loaded, please 'sudo modprobe tipc'"
)
class
TIPCTest
(
unittest
.
TestCase
):
def
testRDM
(
self
):
def
testRDM
(
self
):
srv
=
socket
.
socket
(
socket
.
AF_TIPC
,
socket
.
SOCK_RDM
)
srv
=
socket
.
socket
(
socket
.
AF_TIPC
,
socket
.
SOCK_RDM
)
cli
=
socket
.
socket
(
socket
.
AF_TIPC
,
socket
.
SOCK_RDM
)
cli
=
socket
.
socket
(
socket
.
AF_TIPC
,
socket
.
SOCK_RDM
)
...
@@ -1659,7 +1663,9 @@ class TIPCTest (unittest.TestCase):
...
@@ -1659,7 +1663,9 @@ class TIPCTest (unittest.TestCase):
self
.
assertEqual
(
msg
,
MSG
)
self
.
assertEqual
(
msg
,
MSG
)
class
TIPCThreadableTest
(
unittest
.
TestCase
,
ThreadableTest
):
@
unittest
.
skipUnless
(
isTipcAvailable
(),
"TIPC module is not loaded, please 'sudo modprobe tipc'"
)
class
TIPCThreadableTest
(
unittest
.
TestCase
,
ThreadableTest
):
def
__init__
(
self
,
methodName
=
'runTest'
):
def
__init__
(
self
,
methodName
=
'runTest'
):
unittest
.
TestCase
.
__init__
(
self
,
methodName
=
methodName
)
unittest
.
TestCase
.
__init__
(
self
,
methodName
=
methodName
)
ThreadableTest
.
__init__
(
self
)
ThreadableTest
.
__init__
(
self
)
...
@@ -1712,13 +1718,9 @@ def test_main():
...
@@ -1712,13 +1718,9 @@ def test_main():
NetworkConnectionAttributesTest
,
NetworkConnectionAttributesTest
,
NetworkConnectionBehaviourTest
,
NetworkConnectionBehaviourTest
,
])
])
if
hasattr
(
socket
,
"socketpair"
):
tests
.
append
(
BasicSocketPairTest
)
tests
.
append
(
BasicSocketPairTest
)
if
sys
.
platform
==
'linux2'
:
tests
.
append
(
TestLinuxAbstractNamespace
)
tests
.
append
(
TestLinuxAbstractNamespace
)
if
isTipcAvailable
():
tests
.
extend
([
TIPCTest
,
TIPCThreadableTest
])
tests
.
append
(
TIPCTest
)
tests
.
append
(
TIPCThreadableTest
)
thread_info
=
test_support
.
threading_setup
()
thread_info
=
test_support
.
threading_setup
()
test_support
.
run_unittest
(
*
tests
)
test_support
.
run_unittest
(
*
tests
)
...
...
Lib/test/test_socketserver.py
View file @
32e23e73
...
@@ -27,7 +27,10 @@ TEST_STR = "hello world\n"
...
@@ -27,7 +27,10 @@ TEST_STR = "hello world\n"
HOST
=
test
.
test_support
.
HOST
HOST
=
test
.
test_support
.
HOST
HAVE_UNIX_SOCKETS
=
hasattr
(
socket
,
"AF_UNIX"
)
HAVE_UNIX_SOCKETS
=
hasattr
(
socket
,
"AF_UNIX"
)
requires_unix_sockets
=
unittest
.
skipUnless
(
HAVE_UNIX_SOCKETS
,
'requires Unix sockets'
)
HAVE_FORKING
=
hasattr
(
os
,
"fork"
)
and
os
.
name
!=
"os2"
HAVE_FORKING
=
hasattr
(
os
,
"fork"
)
and
os
.
name
!=
"os2"
requires_forking
=
unittest
.
skipUnless
(
HAVE_FORKING
,
'requires forking'
)
def
signal_alarm
(
n
):
def
signal_alarm
(
n
):
"""Call signal.alarm when it exists (i.e. not on Windows)."""
"""Call signal.alarm when it exists (i.e. not on Windows)."""
...
@@ -188,25 +191,27 @@ class SocketServerTest(unittest.TestCase):
...
@@ -188,25 +191,27 @@ class SocketServerTest(unittest.TestCase):
SocketServer
.
StreamRequestHandler
,
SocketServer
.
StreamRequestHandler
,
self
.
stream_examine
)
self
.
stream_examine
)
if
HAVE_FORKING
:
@
requires_forking
def
test_ForkingTCPServer
(
self
):
def
test_ForkingTCPServer
(
self
):
with
simple_subprocess
(
self
):
with
simple_subprocess
(
self
):
self
.
run_server
(
SocketServer
.
ForkingTCPServer
,
self
.
run_server
(
SocketServer
.
ForkingTCPServer
,
SocketServer
.
StreamRequestHandler
,
SocketServer
.
StreamRequestHandler
,
self
.
stream_examine
)
self
.
stream_examine
)
if
HAVE_UNIX_SOCKETS
:
@
requires_unix_sockets
def
test_UnixStreamServer
(
self
):
def
test_UnixStreamServer
(
self
):
self
.
run_server
(
SocketServer
.
UnixStreamServer
,
self
.
run_server
(
SocketServer
.
UnixStreamServer
,
SocketServer
.
StreamRequestHandler
,
SocketServer
.
StreamRequestHandler
,
self
.
stream_examine
)
self
.
stream_examine
)
@
requires_unix_sockets
def
test_ThreadingUnixStreamServer
(
self
):
def
test_ThreadingUnixStreamServer
(
self
):
self
.
run_server
(
SocketServer
.
ThreadingUnixStreamServer
,
self
.
run_server
(
SocketServer
.
ThreadingUnixStreamServer
,
SocketServer
.
StreamRequestHandler
,
SocketServer
.
StreamRequestHandler
,
self
.
stream_examine
)
self
.
stream_examine
)
if
HAVE_FORKING
:
@
requires_unix_sockets
@
requires_forking
def
test_ForkingUnixStreamServer
(
self
):
def
test_ForkingUnixStreamServer
(
self
):
with
simple_subprocess
(
self
):
with
simple_subprocess
(
self
):
self
.
run_server
(
ForkingUnixStreamServer
,
self
.
run_server
(
ForkingUnixStreamServer
,
...
@@ -223,7 +228,7 @@ class SocketServerTest(unittest.TestCase):
...
@@ -223,7 +228,7 @@ class SocketServerTest(unittest.TestCase):
SocketServer
.
DatagramRequestHandler
,
SocketServer
.
DatagramRequestHandler
,
self
.
dgram_examine
)
self
.
dgram_examine
)
if
HAVE_FORKING
:
@
requires_forking
def
test_ForkingUDPServer
(
self
):
def
test_ForkingUDPServer
(
self
):
with
simple_subprocess
(
self
):
with
simple_subprocess
(
self
):
self
.
run_server
(
SocketServer
.
ForkingUDPServer
,
self
.
run_server
(
SocketServer
.
ForkingUDPServer
,
...
@@ -265,18 +270,20 @@ class SocketServerTest(unittest.TestCase):
...
@@ -265,18 +270,20 @@ class SocketServerTest(unittest.TestCase):
# Alas, on Linux (at least) recvfrom() doesn't return a meaningful
# Alas, on Linux (at least) recvfrom() doesn't return a meaningful
# client address so this cannot work:
# client address so this cannot work:
#
if HAVE_UNIX_SOCKETS:
#
@requires_unix_sockets
# def test_UnixDatagramServer(self):
# def test_UnixDatagramServer(self):
# self.run_server(SocketServer.UnixDatagramServer,
# self.run_server(SocketServer.UnixDatagramServer,
# SocketServer.DatagramRequestHandler,
# SocketServer.DatagramRequestHandler,
# self.dgram_examine)
# self.dgram_examine)
#
#
# @requires_unix_sockets
# def test_ThreadingUnixDatagramServer(self):
# def test_ThreadingUnixDatagramServer(self):
# self.run_server(SocketServer.ThreadingUnixDatagramServer,
# self.run_server(SocketServer.ThreadingUnixDatagramServer,
# SocketServer.DatagramRequestHandler,
# SocketServer.DatagramRequestHandler,
# self.dgram_examine)
# self.dgram_examine)
#
#
# if HAVE_FORKING:
# @requires_unix_sockets
# @requires_forking
# def test_ForkingUnixDatagramServer(self):
# def test_ForkingUnixDatagramServer(self):
# self.run_server(SocketServer.ForkingUnixDatagramServer,
# self.run_server(SocketServer.ForkingUnixDatagramServer,
# SocketServer.DatagramRequestHandler,
# SocketServer.DatagramRequestHandler,
...
...
Lib/test/test_sys.py
View file @
32e23e73
...
@@ -266,8 +266,9 @@ class SysModuleTest(unittest.TestCase):
...
@@ -266,8 +266,9 @@ class SysModuleTest(unittest.TestCase):
# still has 5 elements
# still has 5 elements
maj
,
min
,
buildno
,
plat
,
csd
=
sys
.
getwindowsversion
()
maj
,
min
,
buildno
,
plat
,
csd
=
sys
.
getwindowsversion
()
@
unittest
.
skipUnless
(
hasattr
(
sys
,
"setdlopenflags"
),
'test needs sys.setdlopenflags()'
)
def
test_dlopenflags
(
self
):
def
test_dlopenflags
(
self
):
if
hasattr
(
sys
,
"setdlopenflags"
):
self
.
assertTrue
(
hasattr
(
sys
,
"getdlopenflags"
))
self
.
assertTrue
(
hasattr
(
sys
,
"getdlopenflags"
))
self
.
assertRaises
(
TypeError
,
sys
.
getdlopenflags
,
42
)
self
.
assertRaises
(
TypeError
,
sys
.
getdlopenflags
,
42
)
oldflags
=
sys
.
getdlopenflags
()
oldflags
=
sys
.
getdlopenflags
()
...
...
Lib/test/test_warnings.py
View file @
32e23e73
...
@@ -259,11 +259,10 @@ class WarnTests(unittest.TestCase):
...
@@ -259,11 +259,10 @@ class WarnTests(unittest.TestCase):
finally
:
finally
:
warning_tests
.
__file__
=
filename
warning_tests
.
__file__
=
filename
@
unittest
.
skipUnless
(
hasattr
(
sys
,
'argv'
),
'test needs sys.argv'
)
def
test_missing_filename_main_with_argv
(
self
):
def
test_missing_filename_main_with_argv
(
self
):
# If __file__ is not specified and the caller is __main__ and sys.argv
# If __file__ is not specified and the caller is __main__ and sys.argv
# exists, then use sys.argv[0] as the file.
# exists, then use sys.argv[0] as the file.
if
not
hasattr
(
sys
,
'argv'
):
return
filename
=
warning_tests
.
__file__
filename
=
warning_tests
.
__file__
module_name
=
warning_tests
.
__name__
module_name
=
warning_tests
.
__name__
try
:
try
:
...
...
Lib/test/test_zlib.py
View file @
32e23e73
...
@@ -12,6 +12,13 @@ except ImportError:
...
@@ -12,6 +12,13 @@ except ImportError:
zlib
=
import_module
(
'zlib'
)
zlib
=
import_module
(
'zlib'
)
requires_Compress_copy
=
unittest
.
skipUnless
(
hasattr
(
zlib
.
compressobj
(),
"copy"
),
'requires Compress.copy()'
)
requires_Decompress_copy
=
unittest
.
skipUnless
(
hasattr
(
zlib
.
decompressobj
(),
"copy"
),
'requires Decompress.copy()'
)
class
ChecksumTestCase
(
unittest
.
TestCase
):
class
ChecksumTestCase
(
unittest
.
TestCase
):
# checksum test cases
# checksum test cases
...
@@ -339,11 +346,11 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
...
@@ -339,11 +346,11 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
"mode=%i, level=%i"
)
%
(
sync
,
level
))
"mode=%i, level=%i"
)
%
(
sync
,
level
))
del
obj
del
obj
@
unittest
.
skipUnless
(
hasattr
(
zlib
,
'Z_SYNC_FLUSH'
),
'requires zlib.Z_SYNC_FLUSH'
)
def
test_odd_flush
(
self
):
def
test_odd_flush
(
self
):
# Test for odd flushing bugs noted in 2.0, and hopefully fixed in 2.1
# Test for odd flushing bugs noted in 2.0, and hopefully fixed in 2.1
import
random
import
random
if
hasattr
(
zlib
,
'Z_SYNC_FLUSH'
):
# Testing on 17K of "random" data
# Testing on 17K of "random" data
# Create compressor and decompressor objects
# Create compressor and decompressor objects
...
@@ -408,7 +415,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
...
@@ -408,7 +415,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
data
=
zlib
.
compress
(
input2
)
data
=
zlib
.
compress
(
input2
)
self
.
assertEqual
(
dco
.
flush
(),
input1
[
1
:])
self
.
assertEqual
(
dco
.
flush
(),
input1
[
1
:])
if
hasattr
(
zlib
.
compressobj
(),
"copy"
):
@
requires_Compress_copy
def
test_compresscopy
(
self
):
def
test_compresscopy
(
self
):
# Test copying a compression object
# Test copying a compression object
data0
=
HAMLET_SCENE
data0
=
HAMLET_SCENE
...
@@ -431,6 +438,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
...
@@ -431,6 +438,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
self
.
assertEqual
(
zlib
.
decompress
(
s0
),
data0
+
data0
)
self
.
assertEqual
(
zlib
.
decompress
(
s0
),
data0
+
data0
)
self
.
assertEqual
(
zlib
.
decompress
(
s1
),
data0
+
data1
)
self
.
assertEqual
(
zlib
.
decompress
(
s1
),
data0
+
data1
)
@
requires_Compress_copy
def
test_badcompresscopy
(
self
):
def
test_badcompresscopy
(
self
):
# Test copying a compression object in an inconsistent state
# Test copying a compression object in an inconsistent state
c
=
zlib
.
compressobj
()
c
=
zlib
.
compressobj
()
...
@@ -463,7 +471,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
...
@@ -463,7 +471,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
self
.
assertEqual
(
dco
.
unconsumed_tail
,
b''
)
self
.
assertEqual
(
dco
.
unconsumed_tail
,
b''
)
self
.
assertEqual
(
dco
.
unused_data
,
remainder
)
self
.
assertEqual
(
dco
.
unused_data
,
remainder
)
if
hasattr
(
zlib
.
decompressobj
(),
"copy"
):
@
requires_Decompress_copy
def
test_decompresscopy
(
self
):
def
test_decompresscopy
(
self
):
# Test copying a decompression object
# Test copying a decompression object
data
=
HAMLET_SCENE
data
=
HAMLET_SCENE
...
@@ -485,6 +493,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
...
@@ -485,6 +493,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
self
.
assertEqual
(
s0
,
s1
)
self
.
assertEqual
(
s0
,
s1
)
self
.
assertEqual
(
s0
,
data
)
self
.
assertEqual
(
s0
,
data
)
@
requires_Decompress_copy
def
test_baddecompresscopy
(
self
):
def
test_baddecompresscopy
(
self
):
# Test copying a compression object in an inconsistent state
# Test copying a compression object in an inconsistent state
data
=
zlib
.
compress
(
HAMLET_SCENE
)
data
=
zlib
.
compress
(
HAMLET_SCENE
)
...
...
Misc/NEWS
View file @
32e23e73
...
@@ -23,6 +23,8 @@ Library
...
@@ -23,6 +23,8 @@ Library
Tests
Tests
-----
-----
- Issue #18702: All skipped tests now reported as skipped.
- Issue #19085: Added basic tests for all tkinter widget options.
- Issue #19085: Added basic tests for all tkinter widget options.
...
...
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