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
937ee9e7
Commit
937ee9e7
authored
Jun 26, 2018
by
Victor Stinner
Committed by
GitHub
Jun 26, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "bpo-33671: Add support.MS_WINDOWS and support.MACOS (GH-7800)" (GH-7919)
This reverts commit
8fbbdf0c
.
parent
fdd6e0bf
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
91 additions
and
95 deletions
+91
-95
Lib/test/_test_multiprocessing.py
Lib/test/_test_multiprocessing.py
+7
-5
Lib/test/support/__init__.py
Lib/test/support/__init__.py
+20
-33
Lib/test/test_c_locale_coercion.py
Lib/test/test_c_locale_coercion.py
+2
-2
Lib/test/test_cmd_line.py
Lib/test/test_cmd_line.py
+2
-2
Lib/test/test_codeop.py
Lib/test/test_codeop.py
+4
-4
Lib/test/test_faulthandler.py
Lib/test/test_faulthandler.py
+8
-7
Lib/test/test_import/__init__.py
Lib/test/test_import/__init__.py
+2
-2
Lib/test/test_io.py
Lib/test/test_io.py
+1
-1
Lib/test/test_largefile.py
Lib/test/test_largefile.py
+1
-2
Lib/test/test_locale.py
Lib/test/test_locale.py
+9
-10
Lib/test/test_platform.py
Lib/test/test_platform.py
+4
-2
Lib/test/test_shutil.py
Lib/test/test_shutil.py
+5
-4
Lib/test/test_socket.py
Lib/test/test_socket.py
+1
-1
Lib/test/test_strptime.py
Lib/test/test_strptime.py
+1
-1
Lib/test/test_subprocess.py
Lib/test/test_subprocess.py
+14
-12
Lib/test/test_utf8_mode.py
Lib/test/test_utf8_mode.py
+10
-7
No files found.
Lib/test/_test_multiprocessing.py
View file @
937ee9e7
...
...
@@ -103,6 +103,8 @@ else:
HAVE_GETVALUE
=
not
getattr
(
_multiprocessing
,
'HAVE_BROKEN_SEM_GETVALUE'
,
False
)
WIN32
=
(
sys
.
platform
==
"win32"
)
from
multiprocessing.connection
import
wait
def
wait_for_handle
(
handle
,
timeout
):
...
...
@@ -3804,7 +3806,7 @@ class _TestPollEintr(BaseTestCase):
class
TestInvalidHandle
(
unittest
.
TestCase
):
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
"skipped on Windows"
)
@
unittest
.
skipIf
(
WIN32
,
"skipped on Windows"
)
def
test_invalid_handles
(
self
):
conn
=
multiprocessing
.
connection
.
Connection
(
44977608
)
# check that poll() doesn't crash
...
...
@@ -4132,12 +4134,12 @@ class TestWait(unittest.TestCase):
class
TestInvalidFamily
(
unittest
.
TestCase
):
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
"skipped on Windows"
)
@
unittest
.
skipIf
(
WIN32
,
"skipped on Windows"
)
def
test_invalid_family
(
self
):
with
self
.
assertRaises
(
ValueError
):
multiprocessing
.
connection
.
Listener
(
r'\\.\test'
)
@
unittest
.
skipUnless
(
support
.
MS_WINDOWS
,
"skipped on non-Windows platforms"
)
@
unittest
.
skipUnless
(
WIN32
,
"skipped on non-Windows platforms"
)
def
test_invalid_family_win32
(
self
):
with
self
.
assertRaises
(
ValueError
):
multiprocessing
.
connection
.
Listener
(
'/var/test.pipe'
)
...
...
@@ -4263,7 +4265,7 @@ class TestForkAwareThreadLock(unittest.TestCase):
class
TestCloseFds
(
unittest
.
TestCase
):
def
get_high_socket_fd
(
self
):
if
support
.
MS_WINDOWS
:
if
WIN32
:
# The child process will not have any socket handles, so
# calling socket.fromfd() should produce WSAENOTSOCK even
# if there is a handle of the same number.
...
...
@@ -4281,7 +4283,7 @@ class TestCloseFds(unittest.TestCase):
return
fd
def
close
(
self
,
fd
):
if
support
.
MS_WINDOWS
:
if
WIN32
:
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
,
fileno
=
fd
).
close
()
else
:
os
.
close
(
fd
)
...
...
Lib/test/support/__init__.py
View file @
937ee9e7
...
...
@@ -90,8 +90,8 @@ __all__ = [
"anticipate_failure"
,
"load_package_tests"
,
"detect_api_mismatch"
,
"check__all__"
,
"skip_unless_bind_unix_socket"
,
# sys
"
JYTHON"
,
"ANDROID
"
,
"check_impl_detail"
,
"unix_shell"
,
"setswitchinterval"
,
"MS_WINDOWS"
,
"MACOS"
,
"
is_jython"
,
"is_android
"
,
"check_impl_detail"
,
"unix_shell"
,
"setswitchinterval"
,
# network
"HOST"
,
"IPV6_ENABLED"
,
"find_unused_port"
,
"bind_port"
,
"open_urlresource"
,
"bind_unix_socket"
,
...
...
@@ -108,21 +108,6 @@ __all__ = [
"run_with_tz"
,
"PGO"
,
"missing_compiler_executable"
,
"fd_count"
,
]
# True if Python is running on Microsoft Windows.
MS_WINDOWS
=
(
sys
.
platform
==
'win32'
)
# True if Python is running on Apple macOS.
MACOS
=
(
sys
.
platform
==
'darwin'
)
# True if Python runs on Jython
# (Python implemented in Java running in a Java VM)
JYTHON
=
sys
.
platform
.
startswith
(
'java'
)
# True if Python runs on Android
ANDROID
=
hasattr
(
sys
,
'getandroidapilevel'
)
class
Error
(
Exception
):
"""Base class for regression test exceptions."""
...
...
@@ -499,7 +484,7 @@ def _is_gui_available():
raise
ctypes
.
WinError
()
if
not
bool
(
uof
.
dwFlags
&
WSF_VISIBLE
):
reason
=
"gui not available (WSF_VISIBLE flag not set)"
elif
MACOS
:
elif
sys
.
platform
==
'darwin'
:
# The Aqua Tk implementations on OS X can abort the process if
# being called in an environment where a window server connection
# cannot be made, for instance when invoked by a buildbot or ssh
...
...
@@ -615,7 +600,7 @@ def requires_mac_ver(*min_version):
def
decorator
(
func
):
@
functools
.
wraps
(
func
)
def
wrapper
(
*
args
,
**
kw
):
if
MACOS
:
if
sys
.
platform
==
'darwin'
:
version_txt
=
platform
.
mac_ver
()[
0
]
try
:
version
=
tuple
(
map
(
int
,
version_txt
.
split
(
'.'
)))
...
...
@@ -803,12 +788,14 @@ requires_bz2 = unittest.skipUnless(bz2, 'requires bz2')
requires_lzma
=
unittest
.
skipUnless
(
lzma
,
'requires lzma'
)
if
MS_WINDOWS
:
unix_shell
=
None
elif
ANDROID
:
unix_shell
=
'/system/bin/sh'
is_jython
=
sys
.
platform
.
startswith
(
'java'
)
is_android
=
hasattr
(
sys
,
'getandroidapilevel'
)
if
sys
.
platform
!=
'win32'
:
unix_shell
=
'/system/bin/sh'
if
is_android
else
'/bin/sh'
else
:
unix_shell
=
'/bin/sh'
unix_shell
=
None
# Filename used for testing
if
os
.
name
==
'java'
:
...
...
@@ -867,7 +854,7 @@ for character in (
# TESTFN_UNICODE is a non-ascii filename
TESTFN_UNICODE
=
TESTFN
+
"-
\
xe0
\
xf2
\
u0258
\
u0141
\
u011f
"
if
MACOS
:
if
sys
.
platform
==
'darwin'
:
# In Mac OS X's VFS API file names are, by definition, canonically
# decomposed Unicode, encoded using UTF-8. See QA1173:
# http://developer.apple.com/mac/library/qa/qa2001/qa1173.html
...
...
@@ -879,7 +866,7 @@ TESTFN_ENCODING = sys.getfilesystemencoding()
# encoded by the filesystem encoding (in strict mode). It can be None if we
# cannot generate such filename.
TESTFN_UNENCODABLE
=
None
if
MS_WINDOWS
:
if
os
.
name
==
'nt'
:
# skip win32s (0) or Windows 9x/ME (1)
if
sys
.
getwindowsversion
().
platform
>=
2
:
# Different kinds of characters from various languages to minimize the
...
...
@@ -894,8 +881,8 @@ if MS_WINDOWS:
'Unicode filename tests may not be effective'
%
(
TESTFN_UNENCODABLE
,
TESTFN_ENCODING
))
TESTFN_UNENCODABLE
=
None
#
macOS
denies unencodable filenames (invalid utf-8)
elif
not
MACOS
:
#
Mac OS X
denies unencodable filenames (invalid utf-8)
elif
sys
.
platform
!=
'darwin'
:
try
:
# ascii and utf-8 cannot encode the byte 0xff
b'
\
xff
'
.
decode
(
TESTFN_ENCODING
)
...
...
@@ -1536,7 +1523,7 @@ def gc_collect():
objects to disappear.
"""
gc
.
collect
()
if
JYTHON
:
if
is_jython
:
time
.
sleep
(
0.1
)
gc
.
collect
()
gc
.
collect
()
...
...
@@ -1995,7 +1982,7 @@ def _check_docstrings():
"""Just used to check if docstrings are enabled"""
MISSING_C_DOCSTRINGS
=
(
check_impl_detail
()
and
not
MS_WINDOWS
and
sys
.
platform
!=
'win32'
and
not
sysconfig
.
get_config_var
(
'WITH_DOC_STRINGS'
))
HAVE_DOCSTRINGS
=
(
_check_docstrings
.
__doc__
is
not
None
and
...
...
@@ -2605,7 +2592,7 @@ class SuppressCrashReport:
except
(
ValueError
,
OSError
):
pass
if
MACOS
:
if
sys
.
platform
==
'darwin'
:
# Check if the 'Crash Reporter' on OSX was configured
# in 'Developer' mode and warn that it will get triggered
# when it is.
...
...
@@ -2749,7 +2736,7 @@ def setswitchinterval(interval):
# Setting a very low gil interval on the Android emulator causes python
# to hang (issue #26939).
minimum_interval
=
1e-5
if
ANDROID
and
interval
<
minimum_interval
:
if
is_android
and
interval
<
minimum_interval
:
global
_is_android_emulator
if
_is_android_emulator
is
None
:
_is_android_emulator
=
(
subprocess
.
check_output
(
...
...
@@ -2795,7 +2782,7 @@ def fd_count():
pass
old_modes
=
None
if
MS_WINDOWS
:
if
sys
.
platform
==
'win32'
:
# bpo-25306, bpo-31009: Call CrtSetReportMode() to not kill the process
# on invalid file descriptor if Python is compiled in debug mode
try
:
...
...
Lib/test/test_c_locale_coercion.py
View file @
937ee9e7
...
...
@@ -27,7 +27,7 @@ EXPECT_COERCION_IN_DEFAULT_LOCALE = True
# Apply some platform dependent overrides
if
sys
.
platform
.
startswith
(
"linux"
):
if
test
.
support
.
ANDROID
:
if
test
.
support
.
is_android
:
# Android defaults to using UTF-8 for all system interfaces
EXPECTED_C_LOCALE_STREAM_ENCODING
=
"utf-8"
EXPECTED_C_LOCALE_FS_ENCODING
=
"utf-8"
...
...
@@ -335,7 +335,7 @@ class LocaleCoercionTests(_LocaleHandlingTestCase):
# locale environment variables are undefined or empty. When
# this code path is run with environ['LC_ALL'] == 'C', then
# LEGACY_LOCALE_WARNING is printed.
if
(
test
.
support
.
ANDROID
and
if
(
test
.
support
.
is_android
and
_expected_warnings
==
[
CLI_COERCION_WARNING
]):
_expected_warnings
=
None
self
.
_check_child_encoding_details
(
base_var_dict
,
...
...
Lib/test/test_cmd_line.py
View file @
937ee9e7
...
...
@@ -187,8 +187,8 @@ class CmdLineTest(unittest.TestCase):
if
not
stdout
.
startswith
(
pattern
):
raise
AssertionError
(
"%a doesn't start with %a"
%
(
stdout
,
pattern
))
@
unittest
.
skipUnless
((
s
upport
.
MACOS
or
support
.
ANDROID
),
'test specific to macOS
and Android'
)
@
unittest
.
skipUnless
((
s
ys
.
platform
==
'darwin'
or
support
.
is_android
),
'test specific to Mac OS X
and Android'
)
def
test_osx_android_utf8
(
self
):
def
check_output
(
text
):
decoded
=
text
.
decode
(
'utf-8'
,
'surrogateescape'
)
...
...
Lib/test/test_codeop.py
View file @
937ee9e7
...
...
@@ -3,12 +3,12 @@
Nick Mathewson
"""
import
unittest
from
test
import
support
from
test
.support
import
is_jython
from
codeop
import
compile_command
,
PyCF_DONT_IMPLY_DEDENT
import
io
if
support
.
JYTHON
:
if
is_jython
:
import
sys
def
unify_callables
(
d
):
...
...
@@ -21,7 +21,7 @@ class CodeopTests(unittest.TestCase):
def
assertValid
(
self
,
str
,
symbol
=
'single'
):
'''succeed iff str is a valid piece of code'''
if
support
.
JYTHON
:
if
is_jython
:
code
=
compile_command
(
str
,
"<input>"
,
symbol
)
self
.
assertTrue
(
code
)
if
symbol
==
"single"
:
...
...
@@ -60,7 +60,7 @@ class CodeopTests(unittest.TestCase):
av
=
self
.
assertValid
# special case
if
not
support
.
JYTHON
:
if
not
is_jython
:
self
.
assertEqual
(
compile_command
(
""
),
compile
(
"pass"
,
"<input>"
,
'single'
,
PyCF_DONT_IMPLY_DEDENT
))
...
...
Lib/test/test_faulthandler.py
View file @
937ee9e7
...
...
@@ -6,7 +6,7 @@ import signal
import
subprocess
import
sys
from
test
import
support
from
test.support
import
script_helper
from
test.support
import
script_helper
,
is_android
import
tempfile
import
threading
import
unittest
...
...
@@ -18,6 +18,7 @@ except ImportError:
_testcapi
=
None
TIMEOUT
=
0.5
MS_WINDOWS
=
(
os
.
name
==
'nt'
)
def
expected_traceback
(
lineno1
,
lineno2
,
header
,
min_count
=
1
):
regex
=
header
...
...
@@ -30,7 +31,7 @@ def expected_traceback(lineno1, lineno2, header, min_count=1):
def
skip_segfault_on_android
(
test
):
# Issue #32138: Raising SIGSEGV on Android may not cause a crash.
return
unittest
.
skipIf
(
support
.
ANDROID
,
return
unittest
.
skipIf
(
is_android
,
'raising SIGSEGV on Android is unreliable'
)(
test
)
@
contextmanager
...
...
@@ -120,7 +121,7 @@ class FaultHandlerTests(unittest.TestCase):
@
unittest
.
skipIf
(
sys
.
platform
.
startswith
(
'aix'
),
"the first page of memory is a mapped read-only on AIX"
)
def
test_read_null
(
self
):
if
not
support
.
MS_WINDOWS
:
if
not
MS_WINDOWS
:
self
.
check_fatal_error
(
"""
import faulthandler
faulthandler.enable()
...
...
@@ -731,7 +732,7 @@ class FaultHandlerTests(unittest.TestCase):
with
self
.
check_stderr_none
():
faulthandler
.
register
(
signal
.
SIGUSR1
)
@
unittest
.
skipUnless
(
support
.
MS_WINDOWS
,
'specific to Windows'
)
@
unittest
.
skipUnless
(
MS_WINDOWS
,
'specific to Windows'
)
def
test_raise_exception
(
self
):
for
exc
,
name
in
(
(
'EXCEPTION_ACCESS_VIOLATION'
,
'access violation'
),
...
...
@@ -746,7 +747,7 @@ class FaultHandlerTests(unittest.TestCase):
3
,
name
)
@
unittest
.
skipUnless
(
support
.
MS_WINDOWS
,
'specific to Windows'
)
@
unittest
.
skipUnless
(
MS_WINDOWS
,
'specific to Windows'
)
def
test_ignore_exception
(
self
):
for
exc_code
in
(
0xE06D7363
,
# MSC exception ("Emsc")
...
...
@@ -762,7 +763,7 @@ class FaultHandlerTests(unittest.TestCase):
self
.
assertEqual
(
output
,
[])
self
.
assertEqual
(
exitcode
,
exc_code
)
@
unittest
.
skipUnless
(
support
.
MS_WINDOWS
,
'specific to Windows'
)
@
unittest
.
skipUnless
(
MS_WINDOWS
,
'specific to Windows'
)
def
test_raise_nonfatal_exception
(
self
):
# These exceptions are not strictly errors. Letting
# faulthandler display the traceback when they are
...
...
@@ -790,7 +791,7 @@ class FaultHandlerTests(unittest.TestCase):
self
.
assertIn
(
exitcode
,
(
exc
,
exc
&
~
0x10000000
))
@
unittest
.
skipUnless
(
support
.
MS_WINDOWS
,
'specific to Windows'
)
@
unittest
.
skipUnless
(
MS_WINDOWS
,
'specific to Windows'
)
def
test_disable_windows_exc_handler
(
self
):
code
=
dedent
(
"""
import faulthandler
...
...
Lib/test/test_import/__init__.py
View file @
937ee9e7
...
...
@@ -20,7 +20,7 @@ import contextlib
import
test.support
from
test.support
import
(
EnvironmentVarGuard
,
TESTFN
,
check_warnings
,
forget
,
JYTHON
,
EnvironmentVarGuard
,
TESTFN
,
check_warnings
,
forget
,
is_jython
,
make_legacy_pyc
,
rmtree
,
run_unittest
,
swap_attr
,
swap_item
,
temp_umask
,
unlink
,
unload
,
create_empty_file
,
cpython_only
,
TESTFN_UNENCODABLE
,
temp_dir
,
DirsOnSysPath
)
...
...
@@ -148,7 +148,7 @@ class ImportTests(unittest.TestCase):
def test_with_extension(ext):
# The extension is normally "
.
py
", perhaps "
.
pyw
".
source = TESTFN + ext
if
JYTHON
:
if
is_jython
:
pyc = TESTFN + "
$
py
.
class
"
else:
pyc = TESTFN + "
.
pyc
"
...
...
Lib/test/test_io.py
View file @
937ee9e7
...
...
@@ -583,7 +583,7 @@ class IOTest(unittest.TestCase):
# On Windows and Mac OSX this test consumes large resources; It takes
# a long time to build the >2 GiB file and takes >2 GiB of disk space
# therefore the resource must be enabled to run this test.
if
s
upport
.
MS_WINDOWS
or
support
.
MACOS
:
if
s
ys
.
platform
[:
3
]
==
'win'
or
sys
.
platform
==
'darwin'
:
support
.
requires
(
'largefile'
,
'test requires %s bytes and a long time to run'
%
self
.
LARGE
)
...
...
Lib/test/test_largefile.py
View file @
937ee9e7
...
...
@@ -5,7 +5,6 @@ import os
import
stat
import
sys
import
unittest
from
test
import
support
from
test.support
import
TESTFN
,
requires
,
unlink
import
io
# C implementation of io
import
_pyio
as
pyio
# Python implementation of io
...
...
@@ -146,7 +145,7 @@ def setUpModule():
# takes a long time to build the >2 GiB file and takes >2 GiB of disk
# space therefore the resource must be enabled to run this test.
# If not, nothing after this line stanza will be executed.
if
s
upport
.
MS_WINDOWS
or
support
.
MACOS
:
if
s
ys
.
platform
[:
3
]
==
'win'
or
sys
.
platform
==
'darwin'
:
requires
(
'largefile'
,
'test requires %s bytes and a long time to run'
%
str
(
size
))
else
:
...
...
Lib/test/test_locale.py
View file @
937ee9e7
import
codecs
from
test.support
import
verbose
,
is_android
,
check_warnings
import
unittest
import
locale
import
sys
import
unittest
import
codecs
import
warnings
from
test
import
support
class
BaseLocalizedTest
(
unittest
.
TestCase
):
#
...
...
@@ -13,7 +12,7 @@ class BaseLocalizedTest(unittest.TestCase):
@
classmethod
def
setUpClass
(
cls
):
if
s
upport
.
MACOS
:
if
s
ys
.
platform
==
'darwin'
:
import
os
tlocs
=
(
"en_US.UTF-8"
,
"en_US.ISO8859-1"
,
"en_US"
)
if
int
(
os
.
uname
().
release
.
split
(
'.'
)[
0
])
<
10
:
...
...
@@ -45,7 +44,7 @@ class BaseLocalizedTest(unittest.TestCase):
oldlocale
=
locale
.
setlocale
(
self
.
locale_type
)
self
.
addCleanup
(
locale
.
setlocale
,
self
.
locale_type
,
oldlocale
)
locale
.
setlocale
(
self
.
locale_type
,
self
.
enUS_locale
)
if
support
.
verbose
:
if
verbose
:
print
(
"testing with %r..."
%
self
.
enUS_locale
,
end
=
' '
,
flush
=
True
)
...
...
@@ -145,7 +144,7 @@ class BaseFormattingTest(object):
func
(
format
,
value
,
**
format_opts
),
out
)
def
_test_format
(
self
,
format
,
value
,
out
,
**
format_opts
):
with
support
.
check_warnings
((
''
,
DeprecationWarning
)):
with
check_warnings
((
''
,
DeprecationWarning
)):
self
.
_test_formatfunc
(
format
,
value
,
out
,
func
=
locale
.
format
,
**
format_opts
)
...
...
@@ -234,7 +233,7 @@ class TestFormatPatternArg(unittest.TestCase):
# Test handling of pattern argument of format
def
test_onlyOnePattern
(
self
):
with
support
.
check_warnings
((
''
,
DeprecationWarning
)):
with
check_warnings
((
''
,
DeprecationWarning
)):
# Issue 2522: accept exactly one % pattern, and no extra chars.
self
.
assertRaises
(
ValueError
,
locale
.
format
,
"%f
\
n
"
,
'foo'
)
self
.
assertRaises
(
ValueError
,
locale
.
format
,
"%f
\
r
"
,
'foo'
)
...
...
@@ -366,7 +365,7 @@ class TestEnUSCollation(BaseLocalizedTest, TestCollation):
enc
=
codecs
.
lookup
(
locale
.
getpreferredencoding
(
False
)
or
'ascii'
).
name
if
enc
not
in
(
'utf-8'
,
'iso8859-1'
,
'cp1252'
):
raise
unittest
.
SkipTest
(
'encoding not suitable'
)
if
enc
!=
'iso8859-1'
and
(
s
upport
.
MACOS
or
support
.
ANDROID
or
if
enc
!=
'iso8859-1'
and
(
s
ys
.
platform
==
'darwin'
or
is_android
or
sys
.
platform
.
startswith
(
'freebsd'
)):
raise
unittest
.
SkipTest
(
'wcscoll/wcsxfrm have known bugs'
)
BaseLocalizedTest
.
setUp
(
self
)
...
...
@@ -527,7 +526,7 @@ class TestMiscellaneous(unittest.TestCase):
# Unsupported locale on this system
self
.
skipTest
(
'test needs Turkish locale'
)
loc
=
locale
.
getlocale
(
locale
.
LC_CTYPE
)
if
support
.
verbose
:
if
verbose
:
print
(
'testing with %a'
%
(
loc
,),
end
=
' '
,
flush
=
True
)
locale
.
setlocale
(
locale
.
LC_CTYPE
,
loc
)
self
.
assertEqual
(
loc
,
locale
.
getlocale
(
locale
.
LC_CTYPE
))
...
...
Lib/test/test_platform.py
View file @
937ee9e7
...
...
@@ -270,7 +270,9 @@ class PlatformTest(unittest.TestCase):
res
=
platform
.
libc_ver
(
executable
)
def
test_popen
(
self
):
if
support
.
MS_WINDOWS
:
mswindows
=
(
sys
.
platform
==
"win32"
)
if
mswindows
:
command
=
'"{}" -c "print(
\
'
Hello
\
'
)"'
.
format
(
sys
.
executable
)
else
:
command
=
"'{}' -c 'print(
\
"
Hello
\
"
)'"
.
format
(
sys
.
executable
)
...
...
@@ -282,7 +284,7 @@ class PlatformTest(unittest.TestCase):
self
.
assertEqual
(
hello
,
"Hello"
)
data
=
'plop'
if
support
.
MS_WINDOWS
:
if
mswindows
:
command
=
'"{}" -c "import sys; data=sys.stdin.read(); exit(len(data))"'
else
:
command
=
"'{}' -c 'import sys; data=sys.stdin.read(); exit(len(data))'"
...
...
Lib/test/test_shutil.py
View file @
937ee9e7
...
...
@@ -33,6 +33,7 @@ from test import support
from
test.support
import
TESTFN
,
FakePath
TESTFN2
=
TESTFN
+
"2"
MACOS
=
sys
.
platform
.
startswith
(
"darwin"
)
try
:
import
grp
import
pwd
...
...
@@ -1807,7 +1808,7 @@ class TestCopyFile(unittest.TestCase):
self
.
assertRaises
(
OSError
,
shutil
.
copyfile
,
'srcfile'
,
'destfile'
)
@
unittest
.
skipIf
(
support
.
MACOS
,
"skipped on macOS"
)
@
unittest
.
skipIf
(
MACOS
,
"skipped on macOS"
)
def
test_w_dest_open_fails
(
self
):
srcfile
=
self
.
Faux
()
...
...
@@ -1827,7 +1828,7 @@ class TestCopyFile(unittest.TestCase):
self
.
assertEqual
(
srcfile
.
_exited_with
[
1
].
args
,
(
'Cannot open "destfile"'
,))
@
unittest
.
skipIf
(
support
.
MACOS
,
"skipped on macOS"
)
@
unittest
.
skipIf
(
MACOS
,
"skipped on macOS"
)
def
test_w_dest_close_fails
(
self
):
srcfile
=
self
.
Faux
()
...
...
@@ -1850,7 +1851,7 @@ class TestCopyFile(unittest.TestCase):
self
.
assertEqual
(
srcfile
.
_exited_with
[
1
].
args
,
(
'Cannot close'
,))
@
unittest
.
skipIf
(
support
.
MACOS
,
"skipped on macOS"
)
@
unittest
.
skipIf
(
MACOS
,
"skipped on macOS"
)
def
test_w_source_close_fails
(
self
):
srcfile
=
self
.
Faux
(
True
)
...
...
@@ -2184,7 +2185,7 @@ class TestZeroCopySendfile(_ZeroCopyFileTest, unittest.TestCase):
shutil
.
_HAS_SENDFILE
=
True
@
unittest
.
skipIf
(
not
support
.
MACOS
,
'macOS only'
)
@
unittest
.
skipIf
(
not
MACOS
,
'macOS only'
)
class
TestZeroCopyMACOS
(
_ZeroCopyFileTest
,
unittest
.
TestCase
):
PATCHPOINT
=
"posix._fcopyfile"
...
...
Lib/test/test_socket.py
View file @
937ee9e7
...
...
@@ -1038,7 +1038,7 @@ class GeneralModuleTests(unittest.TestCase):
eq
(
udpport
,
port
)
# Now make sure the lookup by port returns the same service name
# Issue #26936: Android getservbyport() is broken.
if
not
support
.
ANDROID
:
if
not
support
.
is_android
:
eq
(
socket
.
getservbyport
(
port2
),
service
)
eq
(
socket
.
getservbyport
(
port
,
'tcp'
),
service
)
if
udpport
is
not
None
:
...
...
Lib/test/test_strptime.py
View file @
937ee9e7
...
...
@@ -521,7 +521,7 @@ class CalculationTests(unittest.TestCase):
"
Calculation
of
day
of
the
week
failed
;
"
"
%
s
!=
%
s
" % (result.tm_wday, self.time_tuple.tm_wday))
if support.
ANDROID
:
if support.
is_android
:
# Issue #26929: strftime() on Android incorrectly formats %V or %G for
# the last or the first incomplete week in a year.
_ymd_excluded = ((1905, 1, 1), (1906, 12, 31), (2008, 12, 29),
...
...
Lib/test/test_subprocess.py
View file @
937ee9e7
...
...
@@ -35,11 +35,13 @@ except ImportError:
if
support
.
PGO
:
raise
unittest
.
SkipTest
(
"test is not helpful for PGO"
)
mswindows
=
(
sys
.
platform
==
"win32"
)
#
# Depends on the following external programs: Python
#
if
support
.
MS_WINDOWS
:
if
mswindows
:
SETBINARY
=
(
'import msvcrt; msvcrt.setmode(sys.stdout.fileno(), '
'os.O_BINARY);'
)
else
:
...
...
@@ -312,7 +314,7 @@ class ProcessTestCase(BaseTestCase):
self
.
_assert_python
,
pre_args
,
executable
=
NONEXISTING_CMD
[
0
])
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
"executable argument replaces shell"
)
@
unittest
.
skipIf
(
mswindows
,
"executable argument replaces shell"
)
def
test_executable_replaces_shell
(
self
):
# Check that the executable argument replaces the default shell
# when shell=True.
...
...
@@ -361,7 +363,7 @@ class ProcessTestCase(BaseTestCase):
temp_dir
=
self
.
_normalize_cwd
(
temp_dir
)
self
.
_assert_cwd
(
temp_dir
,
sys
.
executable
,
cwd
=
FakePath
(
temp_dir
))
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
"pending resolution of issue #15533"
)
@
unittest
.
skipIf
(
mswindows
,
"pending resolution of issue #15533"
)
def
test_cwd_with_relative_arg
(
self
):
# Check that Popen looks for args[0] relative to cwd if args[0]
# is relative.
...
...
@@ -377,7 +379,7 @@ class ProcessTestCase(BaseTestCase):
python_dir
=
self
.
_normalize_cwd
(
python_dir
)
self
.
_assert_cwd
(
python_dir
,
rel_python
,
cwd
=
python_dir
)
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
"pending resolution of issue #15533"
)
@
unittest
.
skipIf
(
mswindows
,
"pending resolution of issue #15533"
)
def
test_cwd_with_relative_executable
(
self
):
# Check that Popen looks for executable relative to cwd if executable
# is relative (and that executable takes precedence over args[0]).
...
...
@@ -1006,7 +1008,7 @@ class ProcessTestCase(BaseTestCase):
def
test_no_leaking
(
self
):
# Make sure we leak no resources
if
not
support
.
MS_WINDOWS
:
if
not
mswindows
:
max_handles
=
1026
# too much for most UNIX systems
else
:
max_handles
=
2050
# too much for (at least some) Windows setups
...
...
@@ -1242,7 +1244,7 @@ class ProcessTestCase(BaseTestCase):
t
=
threading
.
Timer
(
0.2
,
kill_proc_timer_thread
)
t
.
start
()
if
support
.
MS_WINDOWS
:
if
mswindows
:
expected_errorcode
=
1
else
:
# Should be -9 because of the proc.kill() from the thread.
...
...
@@ -1363,13 +1365,13 @@ class ProcessTestCase(BaseTestCase):
fds_after_exception
=
os
.
listdir
(
fd_directory
)
self
.
assertEqual
(
fds_before_popen
,
fds_after_exception
)
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
"behavior currently not supported on Windows"
)
@
unittest
.
skipIf
(
mswindows
,
"behavior currently not supported on Windows"
)
def
test_file_not_found_includes_filename
(
self
):
with
self
.
assertRaises
(
FileNotFoundError
)
as
c
:
subprocess
.
call
([
'/opt/nonexistent_binary'
,
'with'
,
'some'
,
'args'
])
self
.
assertEqual
(
c
.
exception
.
filename
,
'/opt/nonexistent_binary'
)
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
"behavior currently not supported on Windows"
)
@
unittest
.
skipIf
(
mswindows
,
"behavior currently not supported on Windows"
)
def
test_file_not_found_with_bad_cwd
(
self
):
with
self
.
assertRaises
(
FileNotFoundError
)
as
c
:
subprocess
.
Popen
([
'exit'
,
'0'
],
cwd
=
'/some/nonexistent/directory'
)
...
...
@@ -1503,7 +1505,7 @@ class RunFuncTestCase(BaseTestCase):
self
.
assertIn
(
'capture_output'
,
c
.
exception
.
args
[
0
])
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
"POSIX specific tests"
)
@
unittest
.
skipIf
(
mswindows
,
"POSIX specific tests"
)
class
POSIXProcessTestCase
(
BaseTestCase
):
def
setUp
(
self
):
...
...
@@ -2786,7 +2788,7 @@ class POSIXProcessTestCase(BaseTestCase):
self
.
assertEqual
(
returncode
,
-
3
)
@
unittest
.
skipUnless
(
support
.
MS_WINDOWS
,
"Windows specific tests"
)
@
unittest
.
skipUnless
(
mswindows
,
"Windows specific tests"
)
class
Win32ProcessTestCase
(
BaseTestCase
):
def
test_startupinfo
(
self
):
...
...
@@ -3091,7 +3093,7 @@ class MiscTests(unittest.TestCase):
dir
=
tempfile
.
mkdtemp
()
name
=
os
.
path
.
join
(
dir
,
"foo"
)
status
,
output
=
subprocess
.
getstatusoutput
(
(
"type "
if
support
.
MS_WINDOWS
else
"cat "
)
+
name
)
(
"type "
if
mswindows
else
"cat "
)
+
name
)
self
.
assertNotEqual
(
status
,
0
)
finally
:
if
dir
is
not
None
:
...
...
@@ -3125,7 +3127,7 @@ class ProcessTestCaseNoPoll(ProcessTestCase):
ProcessTestCase
.
tearDown
(
self
)
@
unittest
.
skipUnless
(
support
.
MS_WINDOWS
,
"Windows-specific tests"
)
@
unittest
.
skipUnless
(
mswindows
,
"Windows-specific tests"
)
class
CommandsWithSpaces
(
BaseTestCase
):
def
setUp
(
self
):
...
...
Lib/test/test_utf8_mode.py
View file @
937ee9e7
...
...
@@ -11,6 +11,9 @@ from test import support
from
test.support.script_helper
import
assert_python_ok
,
assert_python_failure
MS_WINDOWS
=
(
sys
.
platform
==
'win32'
)
class
UTF8ModeTests
(
unittest
.
TestCase
):
DEFAULT_ENV
=
{
'PYTHONUTF8'
:
''
,
...
...
@@ -32,7 +35,7 @@ class UTF8ModeTests(unittest.TestCase):
out
=
out
[
1
]
return
out
.
decode
().
rstrip
(
"
\
n
\
r
"
)
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
'Windows has no POSIX locale'
)
@
unittest
.
skipIf
(
MS_WINDOWS
,
'Windows has no POSIX locale'
)
def
test_posix_locale
(
self
):
code
=
'import sys; print(sys.flags.utf8_mode)'
...
...
@@ -52,7 +55,7 @@ class UTF8ModeTests(unittest.TestCase):
out
=
self
.
get_output
(
'-X'
,
'utf8=0'
,
'-c'
,
code
)
self
.
assertEqual
(
out
,
'0'
)
if
support
.
MS_WINDOWS
:
if
MS_WINDOWS
:
# PYTHONLEGACYWINDOWSFSENCODING disables the UTF-8 Mode
# and has the priority over -X utf8
out
=
self
.
get_output
(
'-X'
,
'utf8'
,
'-c'
,
code
,
...
...
@@ -72,7 +75,7 @@ class UTF8ModeTests(unittest.TestCase):
out
=
self
.
get_output
(
'-X'
,
'utf8=0'
,
'-c'
,
code
,
PYTHONUTF8
=
'1'
)
self
.
assertEqual
(
out
,
'0'
)
if
support
.
MS_WINDOWS
:
if
MS_WINDOWS
:
# PYTHONLEGACYWINDOWSFSENCODING disables the UTF-8 mode
# and has the priority over PYTHONUTF8
out
=
self
.
get_output
(
'-X'
,
'utf8'
,
'-c'
,
code
,
PYTHONUTF8
=
'1'
,
...
...
@@ -98,7 +101,7 @@ class UTF8ModeTests(unittest.TestCase):
sys.getfilesystemencodeerrors()))
'''
)
if
support
.
MS_WINDOWS
:
if
MS_WINDOWS
:
expected
=
'utf-8/surrogatepass'
else
:
expected
=
'utf-8/surrogateescape'
...
...
@@ -106,7 +109,7 @@ class UTF8ModeTests(unittest.TestCase):
out
=
self
.
get_output
(
'-X'
,
'utf8'
,
'-c'
,
code
)
self
.
assertEqual
(
out
,
expected
)
if
support
.
MS_WINDOWS
:
if
MS_WINDOWS
:
# PYTHONLEGACYWINDOWSFSENCODING disables the UTF-8 mode
# and has the priority over -X utf8 and PYTHONUTF8
out
=
self
.
get_output
(
'-X'
,
'utf8'
,
'-c'
,
code
,
...
...
@@ -201,7 +204,7 @@ class UTF8ModeTests(unittest.TestCase):
out
=
self
.
get_output
(
'-X'
,
'utf8'
,
'-c'
,
code
,
LC_ALL
=
'C'
)
self
.
assertEqual
(
out
,
'UTF-8 UTF-8'
)
@
unittest
.
skipIf
(
support
.
MS_WINDOWS
,
'test specific to Unix'
)
@
unittest
.
skipIf
(
MS_WINDOWS
,
'test specific to Unix'
)
def
test_cmd_line
(
self
):
arg
=
'h
\
xe9
\
u20ac
'
.
encode
(
'utf-8'
)
arg_utf8
=
arg
.
decode
(
'utf-8'
)
...
...
@@ -214,7 +217,7 @@ class UTF8ModeTests(unittest.TestCase):
self
.
assertEqual
(
args
,
ascii
(
expected
),
out
)
check
(
'utf8'
,
[
arg_utf8
])
if
s
upport
.
MACOS
or
support
.
ANDROID
:
if
s
ys
.
platform
==
'darwin'
or
support
.
is_android
:
c_arg
=
arg_utf8
else
:
c_arg
=
arg_ascii
...
...
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