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
e1a1674e
Commit
e1a1674e
authored
Apr 24, 2013
by
Antoine Pitrou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue #17835: Fix test_io when the default OS pipe buffer size is larger than one million bytes.
parent
6ae46673
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
6 deletions
+11
-6
Lib/test/support.py
Lib/test/support.py
+6
-4
Lib/test/test_io.py
Lib/test/test_io.py
+2
-2
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Lib/test/support.py
View file @
e1a1674e
...
...
@@ -573,10 +573,12 @@ def _is_ipv6_enabled():
IPV6_ENABLED
=
_is_ipv6_enabled
()
# A constant likely larger than the underlying OS pipe buffer size.
# Windows limit seems to be around 512B, and many Unix kernels have a 64K pipe
# buffer size or 16*PAGE_SIZE: take a few megs to be sure. This
PIPE_MAX_SIZE
=
3
*
1000
*
1000
# A constant likely larger than the underlying OS pipe buffer size, to
# make writes blocking.
# Windows limit seems to be around 512 B, and many Unix kernels have a
# 64 KiB pipe buffer size or 16 * PAGE_SIZE: take a few megs to be sure.
# (see issue #17835 for a discussion of this number).
PIPE_MAX_SIZE
=
4
*
1024
*
1024
+
1
# decorator for skipping tests on non-IEEE 754 platforms
...
...
Lib/test/test_io.py
View file @
e1a1674e
...
...
@@ -3061,7 +3061,7 @@ class SignalsTest(unittest.TestCase):
# The buffered IO layer must check for pending signal
# handlers, which in this case will invoke alarm_interrupt().
self
.
assertRaises
(
ZeroDivisionError
,
wio
.
write
,
item
*
(
support
.
PIPE_MAX_SIZE
//
len
(
item
)))
wio
.
write
,
item
*
(
support
.
PIPE_MAX_SIZE
//
len
(
item
)
+
1
))
t
.
join
()
# We got one byte, get another one and check that it isn't a
# repeat of the first one.
...
...
@@ -3160,7 +3160,7 @@ class SignalsTest(unittest.TestCase):
select
=
support
.
import_module
(
"select"
)
# A quantity that exceeds the buffer size of an anonymous pipe's
# write end.
N
=
1024
*
1024
N
=
support
.
PIPE_MAX_SIZE
r
,
w
=
os
.
pipe
()
fdopen_kwargs
[
"closefd"
]
=
False
# We need a separate thread to read from the pipe and allow the
...
...
Misc/NEWS
View file @
e1a1674e
...
...
@@ -132,6 +132,9 @@ IDLE
Tests
-----
-
Issue
#
17835
:
Fix
test_io
when
the
default
OS
pipe
buffer
size
is
larger
than
one
million
bytes
.
-
Issue
#
17065
:
Use
process
-
unique
key
for
winreg
tests
to
avoid
failures
if
test
is
run
multiple
times
in
parallel
(
eg
:
on
a
buildbot
host
).
...
...
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