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
Expand all
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
from
weakref
import
proxy
import
array
,
cStringIO
from
cPickle
import
loads
,
dumps
,
HIGHEST_PROTOCOL
import
sys
class
ArraySubclass
(
array
.
array
):
pass
...
...
@@ -772,9 +773,9 @@ class BaseTest(unittest.TestCase):
s
=
None
self
.
assertRaises
(
ReferenceError
,
len
,
p
)
@
unittest
.
skipUnless
(
hasattr
(
sys
,
'getrefcount'
),
'test needs sys.getrefcount()'
)
def
test_bug_782369
(
self
):
import
sys
if
hasattr
(
sys
,
"getrefcount"
):
for
i
in
range
(
10
):
b
=
array
.
array
(
'B'
,
range
(
64
))
rc
=
sys
.
getrefcount
(
10
)
...
...
Lib/test/test_compileall.py
View file @
32e23e73
...
...
@@ -31,11 +31,10 @@ class CompileallTests(unittest.TestCase):
compare
=
struct
.
pack
(
'<4sl'
,
imp
.
get_magic
(),
mtime
)
return
data
,
compare
@
unittest
.
skipUnless
(
hasattr
(
os
,
'stat'
),
'test needs os.stat()'
)
def
recreation_check
(
self
,
metadata
):
"""Check that compileall recreates bytecode when the new metadata is
used."""
if
not
hasattr
(
os
,
'stat'
):
return
py_compile
.
compile
(
self
.
source_path
)
self
.
assertEqual
(
*
self
.
data
())
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
dialect
=
sniffer
.
sniff
(
self
.
sample9
)
self
.
assertTrue
(
dialect
.
doublequote
)
if
not
hasattr
(
sys
,
"gettotalrefcount"
):
if
test_support
.
verbose
:
print
"*** skipping leakage tests ***"
else
:
class
NUL
:
class
NUL
:
def
write
(
s
,
*
args
):
pass
writelines
=
write
class
TestLeaks
(
unittest
.
TestCase
):
@
unittest
.
skipUnless
(
hasattr
(
sys
,
"gettotalrefcount"
),
'requires sys.gettotalrefcount()'
)
class
TestLeaks
(
unittest
.
TestCase
):
def
test_create_read
(
self
):
delta
=
0
lastrc
=
sys
.
gettotalrefcount
()
...
...
Lib/test/test_enumerate.py
View file @
32e23e73
...
...
@@ -188,11 +188,10 @@ class TestReversed(unittest.TestCase):
self
.
assertRaises
(
TypeError
,
reversed
)
self
.
assertRaises
(
TypeError
,
reversed
,
[],
'extra'
)
@
unittest
.
skipUnless
(
hasattr
(
sys
,
'getrefcount'
),
'test needs sys.getrefcount()'
)
def
test_bug1229429
(
self
):
# this bug was never in reversed, it was in
# PyObject_CallMethod, and reversed_new calls that sometimes.
if
not
hasattr
(
sys
,
"getrefcount"
):
return
def
f
():
pass
r
=
f
.
__reversed__
=
object
()
...
...
Lib/test/test_ftplib.py
View file @
32e23e73
...
...
@@ -15,7 +15,7 @@ try:
except
ImportError
:
ssl
=
None
from
unittest
import
TestCase
from
unittest
import
TestCase
,
SkipTest
,
skipUnless
from
test
import
test_support
from
test.test_support
import
HOST
,
HOSTv6
threading
=
test_support
.
import_module
(
'threading'
)
...
...
@@ -579,8 +579,16 @@ class TestFTPClass(TestCase):
self
.
assertRaises
(
ftplib
.
Error
,
self
.
client
.
storlines
,
'stor'
,
f
)
@
skipUnless
(
socket
.
has_ipv6
,
"IPv6 not enabled"
)
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
):
self
.
server
=
DummyFTPServer
((
HOSTv6
,
0
),
af
=
socket
.
AF_INET6
)
self
.
server
.
start
()
...
...
@@ -615,6 +623,7 @@ class TestIPv6Environment(TestCase):
retr
()
@
skipUnless
(
ssl
,
"SSL not available"
)
class
TestTLS_FTPClassMixin
(
TestFTPClass
):
"""Repeat TestFTPClass tests starting the TLS layer for both control
and data connections first.
...
...
@@ -630,6 +639,7 @@ class TestTLS_FTPClassMixin(TestFTPClass):
self
.
client
.
prot_p
()
@
skipUnless
(
ssl
,
"SSL not available"
)
class
TestTLS_FTPClass
(
TestCase
):
"""Specific TLS_FTP class tests."""
...
...
@@ -783,17 +793,9 @@ class TestTimeouts(TestCase):
def
test_main
():
tests
=
[
TestFTPClass
,
TestTimeouts
]
if
socket
.
has_ipv6
:
try
:
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
])
tests
=
[
TestFTPClass
,
TestTimeouts
,
TestIPv6Environment
,
TestTLS_FTPClassMixin
,
TestTLS_FTPClass
]
thread_info
=
test_support
.
threading_setup
()
try
:
...
...
Lib/test/test_mailbox.py
View file @
32e23e73
...
...
@@ -772,10 +772,10 @@ class TestMaildir(TestMailbox, unittest.TestCase):
for
msg
in
self
.
_box
:
pass
@
unittest
.
skipUnless
(
hasattr
(
os
,
'umask'
),
'test needs os.umask()'
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'stat'
),
'test needs os.stat()'
)
def
test_file_permissions
(
self
):
# 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
)
orig_umask
=
os
.
umask
(
0
)
try
:
...
...
@@ -786,12 +786,11 @@ class TestMaildir(TestMailbox, unittest.TestCase):
mode
=
os
.
stat
(
path
).
st_mode
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
):
# From bug #3228, we want to verify that the file created inside a Maildir
# subfolder isn't marked as executable.
if
not
hasattr
(
os
,
"stat"
)
or
not
hasattr
(
os
,
"umask"
):
return
orig_umask
=
os
.
umask
(
0
)
try
:
subfolder
=
self
.
_box
.
add_folder
(
'subfolder'
)
...
...
@@ -991,11 +990,12 @@ class TestMbox(_TestMboxMMDF, unittest.TestCase):
_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
):
# 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.
# We only run this test on platforms that support umask.
if
hasattr
(
os
,
'umask'
)
and
hasattr
(
os
,
'stat'
):
try
:
old_umask
=
os
.
umask
(
0077
)
self
.
_box
.
close
()
...
...
Lib/test/test_math.py
View file @
32e23e73
...
...
@@ -906,8 +906,7 @@ class MathTests(unittest.TestCase):
# 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
# tested.
if
verbose
:
@
unittest
.
skipUnless
(
verbose
,
'requires verbose mode'
)
def
test_exceptions
(
self
):
try
:
x
=
math
.
exp
(
-
1000000000
)
...
...
Lib/test/test_mmap.py
View file @
32e23e73
...
...
@@ -320,9 +320,9 @@ class MmapTests(unittest.TestCase):
mf
.
close
()
f
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
os
,
"stat"
),
"needs os.stat()"
)
def
test_entire_file
(
self
):
# test mapping of entire file by passing 0 for map length
if
hasattr
(
os
,
"stat"
):
f
=
open
(
TESTFN
,
"w+"
)
f
.
write
(
2
**
16
*
'm'
)
# Arbitrary character
...
...
@@ -335,11 +335,10 @@ class MmapTests(unittest.TestCase):
mf
.
close
()
f
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
os
,
"stat"
),
"needs os.stat()"
)
def
test_length_0_offset
(
self
):
# Issue #10916: test mapping of remainder of file by passing 0 for
# 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,
# and therefore the minimum offset alignment.
with
open
(
TESTFN
,
"wb"
)
as
f
:
...
...
@@ -352,12 +351,10 @@ class MmapTests(unittest.TestCase):
finally
:
mf
.
close
()
@
unittest
.
skipUnless
(
hasattr
(
os
,
"stat"
),
"needs os.stat()"
)
def
test_length_0_large_offset
(
self
):
# Issue #10959: test mapping of a file by passing 0 for
# 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
:
f
.
write
(
115699
*
b'm'
)
# Arbitrary character
...
...
@@ -538,9 +535,8 @@ class MmapTests(unittest.TestCase):
return
mmap
.
mmap
.
__new__
(
klass
,
-
1
,
*
args
,
**
kwargs
)
anon_mmap
(
PAGESIZE
)
@
unittest
.
skipUnless
(
hasattr
(
mmap
,
'PROT_READ'
),
"needs mmap.PROT_READ"
)
def
test_prot_readonly
(
self
):
if
not
hasattr
(
mmap
,
'PROT_READ'
):
return
mapsize
=
10
open
(
TESTFN
,
"wb"
).
write
(
"a"
*
mapsize
)
f
=
open
(
TESTFN
,
"rb"
)
...
...
@@ -584,7 +580,7 @@ class MmapTests(unittest.TestCase):
m
.
seek
(
8
)
self
.
assertRaises
(
ValueError
,
m
.
write
,
"bar"
)
if
os
.
name
==
'nt'
:
@
unittest
.
skipUnless
(
os
.
name
==
'nt'
,
'requires Windows'
)
def
test_tagname
(
self
):
data1
=
"0123456789"
data2
=
"abcdefghij"
...
...
@@ -610,6 +606,7 @@ class MmapTests(unittest.TestCase):
m2
.
close
()
m1
.
close
()
@
unittest
.
skipUnless
(
os
.
name
==
'nt'
,
'requires Windows'
)
def
test_crasher_on_windows
(
self
):
# Should not crash (Issue 1733986)
m
=
mmap
.
mmap
(
-
1
,
1000
,
tagname
=
"foo"
)
...
...
@@ -634,6 +631,7 @@ class MmapTests(unittest.TestCase):
pass
m
.
close
()
@
unittest
.
skipUnless
(
os
.
name
==
'nt'
,
'requires Windows'
)
def
test_invalid_descriptor
(
self
):
# socket file descriptors are valid, but out of range
# 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):
open
(
name
,
"w"
)
self
.
files
.
append
(
name
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'tempnam'
),
'test needs os.tempnam()'
)
def
test_tempnam
(
self
):
if
not
hasattr
(
os
,
"tempnam"
):
return
with
warnings
.
catch_warnings
():
warnings
.
filterwarnings
(
"ignore"
,
"tempnam"
,
RuntimeWarning
,
r"test_os$"
)
...
...
@@ -99,9 +98,8 @@ class TemporaryFileTests(unittest.TestCase):
self
.
assertTrue
(
os
.
path
.
basename
(
name
)[:
3
]
==
"pfx"
)
self
.
check_tempfile
(
name
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'tmpfile'
),
'test needs os.tmpfile()'
)
def
test_tmpfile
(
self
):
if
not
hasattr
(
os
,
"tmpfile"
):
return
# As with test_tmpnam() below, the Windows implementation of tmpfile()
# 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
...
...
@@ -150,9 +148,8 @@ class TemporaryFileTests(unittest.TestCase):
fp
.
close
()
self
.
assertTrue
(
s
==
"foobar"
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'tmpnam'
),
'test needs os.tmpnam()'
)
def
test_tmpnam
(
self
):
if
not
hasattr
(
os
,
"tmpnam"
):
return
with
warnings
.
catch_warnings
():
warnings
.
filterwarnings
(
"ignore"
,
"tmpnam"
,
RuntimeWarning
,
r"test_os$"
)
...
...
@@ -193,10 +190,8 @@ class StatAttributeTests(unittest.TestCase):
os
.
unlink
(
self
.
fname
)
os
.
rmdir
(
test_support
.
TESTFN
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'stat'
),
'test needs os.stat()'
)
def
test_stat_attributes
(
self
):
if
not
hasattr
(
os
,
"stat"
):
return
import
stat
result
=
os
.
stat
(
self
.
fname
)
...
...
@@ -256,10 +251,8 @@ class StatAttributeTests(unittest.TestCase):
pass
@
unittest
.
skipUnless
(
hasattr
(
os
,
'statvfs'
),
'test needs os.statvfs()'
)
def
test_statvfs_attributes
(
self
):
if
not
hasattr
(
os
,
"statvfs"
):
return
try
:
result
=
os
.
statvfs
(
self
.
fname
)
except
OSError
,
e
:
...
...
@@ -311,10 +304,10 @@ class StatAttributeTests(unittest.TestCase):
st2
=
os
.
stat
(
test_support
.
TESTFN
)
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
if
sys
.
platform
==
'win32'
:
def
get_file_system
(
path
):
if
sys
.
platform
==
'win32'
:
root
=
os
.
path
.
splitdrive
(
os
.
path
.
abspath
(
path
))[
0
]
+
'
\
\
'
import
ctypes
kernel32
=
ctypes
.
windll
.
kernel32
...
...
@@ -322,17 +315,23 @@ class StatAttributeTests(unittest.TestCase):
if
kernel32
.
GetVolumeInformationA
(
root
,
None
,
0
,
None
,
None
,
None
,
buf
,
len
(
buf
)):
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
):
t1
=
1159195039.25
os
.
utime
(
self
.
fname
,
(
t1
,
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
):
t1
=
5000000000
# some day in 2128
os
.
utime
(
self
.
fname
,
(
t1
,
t1
))
self
.
assertEqual
(
os
.
stat
(
self
.
fname
).
st_mtime
,
t1
)
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
def
test_1686475
(
self
):
# Verify that an open file can be stat'ed
try
:
...
...
@@ -598,6 +597,7 @@ class ExecvpeTests(unittest.TestCase):
self
.
assertRaises
(
ValueError
,
os
.
execvpe
,
'notepad'
,
[],
None
)
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
class
Win32ErrorTests
(
unittest
.
TestCase
):
def
test_rename
(
self
):
self
.
assertRaises
(
WindowsError
,
os
.
rename
,
test_support
.
TESTFN
,
test_support
.
TESTFN
+
".bak"
)
...
...
@@ -644,12 +644,12 @@ class TestInvalidFD(unittest.TestCase):
self
.
fail
(
"%r didn't raise a OSError with a bad file descriptor"
%
f
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'isatty'
),
'test needs os.isatty()'
)
def
test_isatty
(
self
):
if
hasattr
(
os
,
"isatty"
):
self
.
assertEqual
(
os
.
isatty
(
test_support
.
make_bad_fd
()),
False
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'closerange'
),
'test needs os.closerange()'
)
def
test_closerange
(
self
):
if
hasattr
(
os
,
"closerange"
):
fd
=
test_support
.
make_bad_fd
()
# Make sure none of the descriptors we are about to close are
# currently valid (issue 6542).
...
...
@@ -664,78 +664,76 @@ class TestInvalidFD(unittest.TestCase):
"Unable to acquire a range of invalid file descriptors"
)
self
.
assertEqual
(
os
.
closerange
(
fd
,
fd
+
i
-
1
),
None
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'dup2'
),
'test needs os.dup2()'
)
def
test_dup2
(
self
):
if
hasattr
(
os
,
"dup2"
):
self
.
check
(
os
.
dup2
,
20
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'fchmod'
),
'test needs os.fchmod()'
)
def
test_fchmod
(
self
):
if
hasattr
(
os
,
"fchmod"
):
self
.
check
(
os
.
fchmod
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'fchown'
),
'test needs os.fchown()'
)
def
test_fchown
(
self
):
if
hasattr
(
os
,
"fchown"
):
self
.
check
(
os
.
fchown
,
-
1
,
-
1
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'fpathconf'
),
'test needs os.fpathconf()'
)
def
test_fpathconf
(
self
):
if
hasattr
(
os
,
"fpathconf"
):
self
.
check
(
os
.
fpathconf
,
"PC_NAME_MAX"
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'ftruncate'
),
'test needs os.ftruncate()'
)
def
test_ftruncate
(
self
):
if
hasattr
(
os
,
"ftruncate"
):
self
.
check
(
os
.
ftruncate
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'lseek'
),
'test needs os.lseek()'
)
def
test_lseek
(
self
):
if
hasattr
(
os
,
"lseek"
):
self
.
check
(
os
.
lseek
,
0
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'read'
),
'test needs os.read()'
)
def
test_read
(
self
):
if
hasattr
(
os
,
"read"
):
self
.
check
(
os
.
read
,
1
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'tcsetpgrp'
),
'test needs os.tcsetpgrp()'
)
def
test_tcsetpgrpt
(
self
):
if
hasattr
(
os
,
"tcsetpgrp"
):
self
.
check
(
os
.
tcsetpgrp
,
0
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'write'
),
'test needs os.write()'
)
def
test_write
(
self
):
if
hasattr
(
os
,
"write"
):
self
.
check
(
os
.
write
,
" "
)
if
sys
.
platform
!=
'win32'
:
class
Win32ErrorTests
(
unittest
.
TestCase
):
pass
class
PosixUidGidTests
(
unittest
.
TestCase
):
if
hasattr
(
os
,
'setuid'
):
@
unittest
.
skipIf
(
sys
.
platform
==
"win32"
,
"Posix specific tests"
)
class
PosixUidGidTests
(
unittest
.
TestCase
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setuid'
),
'test needs os.setuid()'
)
def
test_setuid
(
self
):
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setuid
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setuid
,
1
<<
32
)
if
hasattr
(
os
,
'setgid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setgid'
),
'test needs os.setgid()'
)
def
test_setgid
(
self
):
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setgid
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setgid
,
1
<<
32
)
if
hasattr
(
os
,
'seteuid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'seteuid'
),
'test needs os.seteuid()'
)
def
test_seteuid
(
self
):
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
seteuid
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
seteuid
,
1
<<
32
)
if
hasattr
(
os
,
'setegid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setegid'
),
'test needs os.setegid()'
)
def
test_setegid
(
self
):
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setegid
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setegid
,
1
<<
32
)
if
hasattr
(
os
,
'setreuid'
):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setreuid'
),
'test needs os.setreuid()'
)
def
test_setreuid
(
self
):
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setreuid
,
0
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setreuid
,
1
<<
32
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setreuid
,
0
,
1
<<
32
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setreuid'
),
'test needs os.setreuid()'
)
def
test_setreuid_neg1
(
self
):
# Needs to accept -1. We run this in a subprocess to avoid
# altering the test runner's process state (issue8045).
...
...
@@ -743,22 +741,21 @@ if sys.platform != 'win32':
sys
.
executable
,
'-c'
,
'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
):
if
os
.
getuid
()
!=
0
:
self
.
assertRaises
(
os
.
error
,
os
.
setregid
,
0
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setregid
,
1
<<
32
,
0
)
self
.
assertRaises
(
OverflowError
,
os
.
setregid
,
0
,
1
<<
32
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
'setregid'
),
'test needs os.setregid()'
)
def
test_setregid_neg1
(
self
):
# Needs to accept -1. We run this in a subprocess to avoid
# altering the test runner's process state (issue8045).
subprocess
.
check_call
([
sys
.
executable
,
'-c'
,
'import os,sys;os.setregid(-1,-1);sys.exit(0)'
])
else
:
class
PosixUidGidTests
(
unittest
.
TestCase
):
pass
@
unittest
.
skipUnless
(
sys
.
platform
==
"win32"
,
"Win32 specific tests"
)
class
Win32KillTests
(
unittest
.
TestCase
):
...
...
Lib/test/test_poplib.py
View file @
32e23e73
...
...
@@ -11,7 +11,7 @@ import os
import
time
import
errno
from
unittest
import
TestCase
from
unittest
import
TestCase
,
skipUnless
from
test
import
test_support
from
test.test_support
import
HOST
threading
=
test_support
.
import_module
(
'threading'
)
...
...
@@ -263,7 +263,10 @@ if hasattr(poplib, 'POP3_SSL'):
else
:
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
def
setUp
(
self
):
...
...
@@ -331,9 +334,8 @@ class TestTimeouts(TestCase):
def
test_main
():
tests
=
[
TestPOP3Class
,
TestTimeouts
]
if
SUPPORTS_SSL
:
tests
.
append
(
TestPOP3_SSLClass
)
tests
=
[
TestPOP3Class
,
TestTimeouts
,
TestPOP3_SSLClass
]
thread_info
=
test_support
.
threading_setup
()
try
:
test_support
.
run_unittest
(
*
tests
)
...
...
Lib/test/test_posix.py
View file @
32e23e73
This diff is collapsed.
Click to expand it.
Lib/test/test_set.py
View file @
32e23e73
...
...
@@ -561,8 +561,8 @@ class TestSet(TestJointOps):
s
=
None
self
.
assertRaises
(
ReferenceError
,
str
,
p
)
# C API test only available in a debug build
if
hasattr
(
set
,
"test_c_api"
):
@
unittest
.
skipUnless
(
hasattr
(
set
,
"test_c_api"
),
'C API test only available in a debug build'
)
def
test_c_api
(
self
):
self
.
assertEqual
(
set
().
test_c_api
(),
True
)
...
...
Lib/test/test_shutil.py
View file @
32e23e73
...
...
@@ -78,10 +78,11 @@ class TestShutil(unittest.TestCase):
filename
=
tempfile
.
mktemp
()
self
.
assertRaises
(
OSError
,
shutil
.
rmtree
,
filename
)
# See bug #1071513 for why we don't run this on cygwin
# and bug #1076467 for why we don't run this as root.
if
(
hasattr
(
os
,
'chmod'
)
and
sys
.
platform
[:
6
]
!=
'cygwin'
and
not
(
hasattr
(
os
,
'geteuid'
)
and
os
.
geteuid
()
==
0
)):
@
unittest
.
skipUnless
(
hasattr
(
os
,
'chmod'
),
'requires os.chmod()'
)
@
unittest
.
skipIf
(
sys
.
platform
[:
6
]
==
'cygwin'
,
"This test can't be run on Cygwin (issue #1071513)."
)
@
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
):
self
.
errorState
=
0
os
.
mkdir
(
TESTFN
)
...
...
@@ -308,8 +309,8 @@ class TestShutil(unittest.TestCase):
finally
:
shutil
.
rmtree
(
TESTFN
,
ignore_errors
=
True
)
if
hasattr
(
os
,
"mkfifo"
):
# Issue #3002: copyfile and copytree block indefinitely on named pipes
@
unittest
.
skipUnless
(
hasattr
(
os
,
"mkfifo"
),
'requires os.mkfifo()'
)
def
test_copyfile_named_pipe
(
self
):
os
.
mkfifo
(
TESTFN
)
try
:
...
...
@@ -320,6 +321,7 @@ class TestShutil(unittest.TestCase):
finally
:
os
.
remove
(
TESTFN
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
"mkfifo"
),
'requires os.mkfifo()'
)
def
test_copytree_named_pipe
(
self
):
os
.
mkdir
(
TESTFN
)
try
:
...
...
Lib/test/test_socket.py
View file @
32e23e73
...
...
@@ -343,9 +343,10 @@ class GeneralModuleTests(unittest.TestCase):
if
not
fqhn
in
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
):
# Testing reference count for getnameinfo
if
hasattr
(
sys
,
"getrefcount"
):
try
:
# On some versions, this loses a reference
orig
=
sys
.
getrefcount
(
__name__
)
...
...
@@ -459,17 +460,17 @@ class GeneralModuleTests(unittest.TestCase):
# Check that setting it to an invalid type raises TypeError
self
.
assertRaises
(
TypeError
,
socket
.
setdefaulttimeout
,
"spam"
)
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'inet_aton'
),
'test needs socket.inet_aton()'
)
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.
# It must return 4 bytes.
self
.
assertEqual
(
'
\
x00
'
*
4
,
socket
.
inet_aton
(
'0.0.0.0'
))
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
):
if
not
hasattr
(
socket
,
'inet_pton'
):
return
# No inet_pton() on this platform
from
socket
import
inet_aton
as
f
,
inet_pton
,
AF_INET
g
=
lambda
a
:
inet_pton
(
AF_INET
,
a
)
...
...
@@ -484,9 +485,9 @@ class GeneralModuleTests(unittest.TestCase):
self
.
assertEqual
(
'
\
xaa
\
xaa
\
xaa
\
xaa
'
,
g
(
'170.170.170.170'
))
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
):
if
not
hasattr
(
socket
,
'inet_pton'
):
return
# No inet_pton() on this platform
try
:
from
socket
import
inet_pton
,
AF_INET6
,
has_ipv6
if
not
has_ipv6
:
...
...
@@ -503,9 +504,9 @@ class GeneralModuleTests(unittest.TestCase):
f
(
'45ef:76cb:1a:56ef:afeb:bac:1924:aeae'
)
)
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'inet_ntop'
),
'test needs socket.inet_ntop()'
)
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
g
=
lambda
a
:
inet_ntop
(
AF_INET
,
a
)
...
...
@@ -518,9 +519,9 @@ class GeneralModuleTests(unittest.TestCase):
self
.
assertEqual
(
'170.85.170.85'
,
g
(
'
\
xaa
\
x55
\
xaa
\
x55
'
))
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
):
if
not
hasattr
(
socket
,
'inet_ntop'
):
return
# No inet_ntop() on this platform
try
:
from
socket
import
inet_ntop
,
AF_INET6
,
has_ipv6
if
not
has_ipv6
:
...
...
@@ -871,6 +872,8 @@ class TCPCloserTest(ThreadedTCPSocketTest):
self
.
cli
.
connect
((
HOST
,
self
.
port
))
time
.
sleep
(
1.0
)
@
unittest
.
skipUnless
(
hasattr
(
socket
,
'socketpair'
),
'test needs socket.socketpair()'
)
@
unittest
.
skipUnless
(
thread
,
'Threading required for this test.'
)
class
BasicSocketPairTest
(
SocketPairTest
):
...
...
@@ -1456,12 +1459,12 @@ class TCPTimeoutTest(SocketTCPTest):
if
not
ok
:
self
.
fail
(
"accept() returned success when we did not expect it"
)
@
unittest
.
skipUnless
(
hasattr
(
signal
,
'alarm'
),
'test needs signal.alarm()'
)
def
testInterruptedTimeout
(
self
):
# 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
# 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
class
Alarm
(
Exception
):
pass
...
...
@@ -1521,6 +1524,7 @@ class TestExceptions(unittest.TestCase):
self
.
assertTrue
(
issubclass
(
socket
.
gaierror
,
socket
.
error
))
self
.
assertTrue
(
issubclass
(
socket
.
timeout
,
socket
.
error
))
@
unittest
.
skipUnless
(
sys
.
platform
==
'linux'
,
'Linux specific test'
)
class
TestLinuxAbstractNamespace
(
unittest
.
TestCase
):
UNIX_PATH_MAX
=
108
...
...
@@ -1635,11 +1639,11 @@ def isTipcAvailable():
for
line
in
f
:
if
line
.
startswith
(
"tipc "
):
return
True
if
test_support
.
verbose
:
print
"TIPC module is not loaded, please 'sudo modprobe tipc'"
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
):
srv
=
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):
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'
):
unittest
.
TestCase
.
__init__
(
self
,
methodName
=
methodName
)
ThreadableTest
.
__init__
(
self
)
...
...
@@ -1712,13 +1718,9 @@ def test_main():
NetworkConnectionAttributesTest
,
NetworkConnectionBehaviourTest
,
])
if
hasattr
(
socket
,
"socketpair"
):
tests
.
append
(
BasicSocketPairTest
)
if
sys
.
platform
==
'linux2'
:
tests
.
append
(
TestLinuxAbstractNamespace
)
if
isTipcAvailable
():
tests
.
append
(
TIPCTest
)
tests
.
append
(
TIPCThreadableTest
)
tests
.
extend
([
TIPCTest
,
TIPCThreadableTest
])
thread_info
=
test_support
.
threading_setup
()
test_support
.
run_unittest
(
*
tests
)
...
...
Lib/test/test_socketserver.py
View file @
32e23e73
...
...
@@ -27,7 +27,10 @@ TEST_STR = "hello world\n"
HOST
=
test
.
test_support
.
HOST
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"
requires_forking
=
unittest
.
skipUnless
(
HAVE_FORKING
,
'requires forking'
)
def
signal_alarm
(
n
):
"""Call signal.alarm when it exists (i.e. not on Windows)."""
...
...
@@ -188,25 +191,27 @@ class SocketServerTest(unittest.TestCase):
SocketServer
.
StreamRequestHandler
,
self
.
stream_examine
)
if
HAVE_FORKING
:
@
requires_forking
def
test_ForkingTCPServer
(
self
):
with
simple_subprocess
(
self
):
self
.
run_server
(
SocketServer
.
ForkingTCPServer
,
SocketServer
.
StreamRequestHandler
,
self
.
stream_examine
)
if
HAVE_UNIX_SOCKETS
:
@
requires_unix_sockets
def
test_UnixStreamServer
(
self
):
self
.
run_server
(
SocketServer
.
UnixStreamServer
,
SocketServer
.
StreamRequestHandler
,
self
.
stream_examine
)
@
requires_unix_sockets
def
test_ThreadingUnixStreamServer
(
self
):
self
.
run_server
(
SocketServer
.
ThreadingUnixStreamServer
,
SocketServer
.
StreamRequestHandler
,
self
.
stream_examine
)
if
HAVE_FORKING
:
@
requires_unix_sockets
@
requires_forking
def
test_ForkingUnixStreamServer
(
self
):
with
simple_subprocess
(
self
):
self
.
run_server
(
ForkingUnixStreamServer
,
...
...
@@ -223,7 +228,7 @@ class SocketServerTest(unittest.TestCase):
SocketServer
.
DatagramRequestHandler
,
self
.
dgram_examine
)
if
HAVE_FORKING
:
@
requires_forking
def
test_ForkingUDPServer
(
self
):
with
simple_subprocess
(
self
):
self
.
run_server
(
SocketServer
.
ForkingUDPServer
,
...
...
@@ -265,18 +270,20 @@ class SocketServerTest(unittest.TestCase):
# Alas, on Linux (at least) recvfrom() doesn't return a meaningful
# client address so this cannot work:
#
if HAVE_UNIX_SOCKETS:
#
@requires_unix_sockets
# def test_UnixDatagramServer(self):
# self.run_server(SocketServer.UnixDatagramServer,
# SocketServer.DatagramRequestHandler,
# self.dgram_examine)
#
# @requires_unix_sockets
# def test_ThreadingUnixDatagramServer(self):
# self.run_server(SocketServer.ThreadingUnixDatagramServer,
# SocketServer.DatagramRequestHandler,
# self.dgram_examine)
#
# if HAVE_FORKING:
# @requires_unix_sockets
# @requires_forking
# def test_ForkingUnixDatagramServer(self):
# self.run_server(SocketServer.ForkingUnixDatagramServer,
# SocketServer.DatagramRequestHandler,
...
...
Lib/test/test_sys.py
View file @
32e23e73
...
...
@@ -266,8 +266,9 @@ class SysModuleTest(unittest.TestCase):
# still has 5 elements
maj
,
min
,
buildno
,
plat
,
csd
=
sys
.
getwindowsversion
()
@
unittest
.
skipUnless
(
hasattr
(
sys
,
"setdlopenflags"
),
'test needs sys.setdlopenflags()'
)
def
test_dlopenflags
(
self
):
if
hasattr
(
sys
,
"setdlopenflags"
):
self
.
assertTrue
(
hasattr
(
sys
,
"getdlopenflags"
))
self
.
assertRaises
(
TypeError
,
sys
.
getdlopenflags
,
42
)
oldflags
=
sys
.
getdlopenflags
()
...
...
Lib/test/test_warnings.py
View file @
32e23e73
...
...
@@ -259,11 +259,10 @@ class WarnTests(unittest.TestCase):
finally
:
warning_tests
.
__file__
=
filename
@
unittest
.
skipUnless
(
hasattr
(
sys
,
'argv'
),
'test needs sys.argv'
)
def
test_missing_filename_main_with_argv
(
self
):
# If __file__ is not specified and the caller is __main__ and sys.argv
# exists, then use sys.argv[0] as the file.
if
not
hasattr
(
sys
,
'argv'
):
return
filename
=
warning_tests
.
__file__
module_name
=
warning_tests
.
__name__
try
:
...
...
Lib/test/test_zlib.py
View file @
32e23e73
...
...
@@ -12,6 +12,13 @@ except ImportError:
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
):
# checksum test cases
...
...
@@ -339,11 +346,11 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
"mode=%i, level=%i"
)
%
(
sync
,
level
))
del
obj
@
unittest
.
skipUnless
(
hasattr
(
zlib
,
'Z_SYNC_FLUSH'
),
'requires zlib.Z_SYNC_FLUSH'
)
def
test_odd_flush
(
self
):
# Test for odd flushing bugs noted in 2.0, and hopefully fixed in 2.1
import
random
if
hasattr
(
zlib
,
'Z_SYNC_FLUSH'
):
# Testing on 17K of "random" data
# Create compressor and decompressor objects
...
...
@@ -408,7 +415,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
data
=
zlib
.
compress
(
input2
)
self
.
assertEqual
(
dco
.
flush
(),
input1
[
1
:])
if
hasattr
(
zlib
.
compressobj
(),
"copy"
):
@
requires_Compress_copy
def
test_compresscopy
(
self
):
# Test copying a compression object
data0
=
HAMLET_SCENE
...
...
@@ -431,6 +438,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
self
.
assertEqual
(
zlib
.
decompress
(
s0
),
data0
+
data0
)
self
.
assertEqual
(
zlib
.
decompress
(
s1
),
data0
+
data1
)
@
requires_Compress_copy
def
test_badcompresscopy
(
self
):
# Test copying a compression object in an inconsistent state
c
=
zlib
.
compressobj
()
...
...
@@ -463,7 +471,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
self
.
assertEqual
(
dco
.
unconsumed_tail
,
b''
)
self
.
assertEqual
(
dco
.
unused_data
,
remainder
)
if
hasattr
(
zlib
.
decompressobj
(),
"copy"
):
@
requires_Decompress_copy
def
test_decompresscopy
(
self
):
# Test copying a decompression object
data
=
HAMLET_SCENE
...
...
@@ -485,6 +493,7 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
self
.
assertEqual
(
s0
,
s1
)
self
.
assertEqual
(
s0
,
data
)
@
requires_Decompress_copy
def
test_baddecompresscopy
(
self
):
# Test copying a compression object in an inconsistent state
data
=
zlib
.
compress
(
HAMLET_SCENE
)
...
...
Misc/NEWS
View file @
32e23e73
...
...
@@ -23,6 +23,8 @@ Library
Tests
-----
- Issue #18702: All skipped tests now reported as skipped.
- 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