Commit graph

58 commits

Author SHA1 Message Date
Peter Bierma
73431356d3
Revert "gh-135410: use a critical section around StringIO.__next__ (#135412)" (#135439)
This reverts commit e6c3039cb3.
2025-06-13 07:32:27 +09:00
Peter Bierma
e6c3039cb3
gh-135410: use a critical section around StringIO.__next__ (#135412) 2025-06-12 16:41:05 +05:30
Serhiy Storchaka
2602d8ae98
gh-71339: Use new assertion methods in tests (GH-129046) 2025-05-22 13:17:22 +03:00
Sam Gross
723d4d2fe8
gh-118527: Intern code consts in free-threaded build (#118667)
We already intern and immortalize most string constants. In the
free-threaded build, other constants can be a source of reference count
contention because they are shared by all threads running the same code
objects.
2024-05-06 20:12:39 -04:00
Serhiy Storchaka
bb36f72efc
gh-111049: Fix crash during garbage collection of the BytesIO buffer object (GH-111221) 2023-12-14 10:04:23 +00:00
Serhiy Storchaka
9da98c0d9a
gh-111174: Fix crash in getbuffer() called repeatedly for empty BytesIO (GH-111210) 2023-10-25 13:50:16 +03:00
Serhiy Storchaka
2e3f570185
bpo-30416: Protect the optimizer during constant folding. (#4860)
It no longer spends much time doing complex calculations and no
longer consumes much memory for creating large constants that will
be dropped later.

This fixes also bpo-21074.
2017-12-15 14:11:43 +02:00
Oren Milman
de50360ac2 bpo-29741: Update some methods in the _pyio module to also accept integer types. Patch by Oren Milman. (#560) 2017-08-24 11:33:42 -07:00
Martin Panter
ccb2c0e310 Issue #23214: Implement optional BufferedReader, BytesIO read1() argument 2016-10-20 23:48:14 +00:00
Martin Panter
6bb91f3b6e Issue #20699: Document that “io” methods accept bytes-like objects
This matches the usage of ZipFile and BufferedWriter. This still requires
return values to be bytes() objects.

Also document and test that the write() methods should only access their
argument before they return.
2016-05-28 00:41:57 +00:00
Martin Panter
46f50726a0 Issue #27076: Doc, comment and tests spelling fixes
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
2016-05-26 05:35:26 +00:00
Serhiy Storchaka
4e63f7a2b4 Issue #24989: Fixed buffer overread in BytesIO.readline() if a position is
set beyond size.  Based on patch by John Leitch.
2015-09-04 07:48:19 +03:00
Serhiy Storchaka
b064f1e94f Issue #20557: Use specific asserts in io tests. 2015-08-02 15:18:28 +03:00
Serhiy Storchaka
0dcd80a6c0 Issue #20557: Use specific asserts in io tests. 2015-08-02 15:17:49 +03:00
Zachary Ware
38c707e7e0 Issue #21741: Update 147 test modules to use test discovery.
I have compared output between pre- and post-patch runs of these tests
to make sure there's nothing missing and nothing broken, on both
Windows and Linux.  The only differences I found were actually tests
that were previously *not* run.
2015-04-13 15:00:43 -05:00
Serhiy Storchaka
87d0b45485 Issue #15381: Optimized io.BytesIO to make less allocations and copyings. 2015-02-03 11:30:10 +02:00
Serhiy Storchaka
32ca3dcb97 Issue #23099: Closing io.BytesIO with exported buffer is rejected now to
prevent corrupting exported buffer.
2015-02-03 09:30:51 +02:00
Serhiy Storchaka
c057c3859c Issue #23099: Closing io.BytesIO with exported buffer is rejected now to
prevent corrupting exported buffer.
2015-02-03 02:00:18 +02:00
Serhiy Storchaka
65ee4674e2 Issue #22777: Test pickling with all protocols. 2014-12-15 14:06:02 +02:00
Serhiy Storchaka
bad1257c96 Issue #22777: Test pickling with all protocols. 2014-12-15 14:03:42 +02:00
Antoine Pitrou
cc66a73d27 Issue #22003: When initialized from a bytes object, io.BytesIO() now
defers making a copy until it is mutated, improving performance and
memory use on some use cases.

Patch by David Wilson.
2014-07-29 19:41:11 -04:00
Serhiy Storchaka
780145daac Issue #20498: Fixed io.StringIO tests for newline='\n'. Added new tests. 2014-02-05 13:42:29 +02:00
Serhiy Storchaka
1812bd44d5 Issue #20498: Fixed io.StringIO tests for newline='\n'. Added new tests. 2014-02-05 13:42:01 +02:00
Antoine Pitrou
1328e9d0a0 Issue #20435: Fix _pyio.StringIO.getvalue() to take into account newline translation settings. 2014-02-02 23:38:48 +01:00
Antoine Pitrou
57839a6349 Issue #20435: Fix _pyio.StringIO.getvalue() to take into account newline translation settings. 2014-02-02 23:37:29 +01:00
Serhiy Storchaka
9f2e46de34 Issue #20424: Python implementation of io.StringIO now supports lone surrogates. 2014-01-29 11:45:31 +02:00
Serhiy Storchaka
c92ea76f3f Issue #20424: Python implementation of io.StringIO now supports lone surrogates. 2014-01-29 11:33:26 +02:00
Alexandre Vassalotti
bdc3eb7623 Merge 3.3 2013-04-14 00:58:28 -07:00
Alexandre Vassalotti
6eea818423 Fix pickling test in test_memoryio.
The test was closing the orginal object instead the copy. This didn't result
in visible failures because the loop range was incorrect as well.
2013-04-14 00:56:39 -07:00
Andrew Svetlov
f7a17b48d7 Replace IOError with OSError (#16715) 2012-12-25 16:47:37 +02:00
Antoine Pitrou
11946fbe80 Issue #15841: The readable(), writable() and seekable() methods of BytesIO
and StringIO objects now raise ValueError when the object has been closed.
Patch by Alessandro Moura.
2012-09-05 20:13:48 +02:00
Antoine Pitrou
1d857453b7 Issue #15841: The readable(), writable() and seekable() methods of BytesIO
and StringIO objects now raise ValueError when the object has been closed.
Patch by Alessandro Moura.
2012-09-05 20:11:49 +02:00
Antoine Pitrou
754d5ef8da Better test for BytesIO.__sizeof__, now that the struct module supports (s)size_t.
Followup to issue #15489.
2012-07-30 13:58:42 +02:00
Antoine Pitrou
8f328d0c1d Issue #15489: Add a __sizeof__ implementation for BytesIO objects.
Patch by Serhiy Storchaka.
2012-07-30 00:01:06 +02:00
Ezio Melotti
b3aedd4862 #9424: Replace deprecated assert* methods in the Python test suite. 2010-11-20 19:04:17 +00:00
Benjamin Peterson
fa73555cfc correct logic when pos is after the string #10467 2010-11-20 17:24:04 +00:00
Antoine Pitrou
972ee13e03 Issue #5506: BytesIO objects now have a getbuffer() method exporting a
view of their contents without duplicating them.  The view is both readable
and writable.
2010-09-06 18:48:21 +00:00
Antoine Pitrou
1ce3eb5c5b Issue #8990: array.fromstring() and array.tostring() get renamed to
frombytes() and tobytes(), respectively, to avoid confusion.  Furthermore,
array.frombytes(), array.extend() as well as the array.array()
constructor now accept bytearray objects.  Patch by Thomas Jollans.
2010-09-01 20:29:34 +00:00
Georg Brandl
1b37e8728c Merged revisions 78093 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78093 | georg.brandl | 2010-02-07 18:03:15 +0100 (So, 07 Feb 2010) | 1 line

  Remove unused imports in test modules.
........
2010-03-14 10:45:50 +00:00
Antoine Pitrou
a5336b6000 Merged revisions 78088 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78088 | antoine.pitrou | 2010-02-07 17:56:23 +0100 (dim., 07 févr. 2010) | 4 lines

  Issue #7870: Remove duplicate test methods.  Reported by Georg Brandl.
........
2010-02-07 17:00:43 +00:00
Antoine Pitrou
905a2ffe3e Merged revisions 77890 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77890 | antoine.pitrou | 2010-01-31 23:26:04 +0100 (dim., 31 janv. 2010) | 7 lines

  - Issue #6939: Fix file I/O objects in the `io` module to keep the original
    file position when calling `truncate()`.  It would previously change the
    file position to the given argument, which goes against the tradition of
    ftruncate() and other truncation APIs.  Patch by Pascal Chambon.
........
2010-01-31 22:47:27 +00:00
Ezio Melotti
e96159335f Merged revisions 77727 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77727 | ezio.melotti | 2010-01-24 18:58:36 +0200 (Sun, 24 Jan 2010) | 1 line

  use assert[Not]IsInstance where appropriate
........
2010-01-24 19:26:24 +00:00
Alexandre Vassalotti
ba5c74329d Issue 5449: Fix io.BytesIO to not accept arbitrary keywords
Patch contributed by Erick Tryzelaar.
2009-08-04 23:19:13 +00:00
Alexandre Vassalotti
cf76e1ac92 Issue #6218: Make io.BytesIO and io.StringIO picklable. 2009-07-22 03:24:36 +00:00
Alexandre Vassalotti
d2bb18b281 Issue #6241: Better type checking for the arguments of io.StringIO. 2009-07-22 03:07:33 +00:00
Alexandre Vassalotti
fc477048e1 Issue #6242: Fix deallocator of io.StringIO and io.BytesIO. 2009-07-22 02:24:49 +00:00
Benjamin Peterson
c9c0f201fe convert old fail* assertions to assert* 2009-06-30 23:06:06 +00:00
Benjamin Peterson
0926ad1f05 give the C implementation of TextIOWrapper the errors property #6217 2009-06-06 18:02:12 +00:00
Benjamin Peterson
d2e0c7955f implement a detach() method for BufferedIOBase and TextIOBase #5883 2009-05-01 20:40:59 +00:00
Benjamin Peterson
b487e63282 stringio doesn't have an encoding 2009-03-21 03:08:31 +00:00