bpo-40105: Truncating file if opened in append mode. - #19337
Conversation
taleinat
left a comment
There was a problem hiding this comment.
This looks good! Just a couple of minor comments regarding the test.
| with zipfile.ZipFile(TESTFN,mode="a") as zipf: | ||
| zipf.comment = b"shorter comment" | ||
| zipf.comment = one_byte_shorter_comment | ||
| self.assertEqual(original_zip_size, os.path.getsize(TESTFN) + 1) |
There was a problem hiding this comment.
Testing for the precise size is too restrictive IMO. It would be better to just test that the size was reduced. That would also allow keeping the existing comments.
| original_comment = b"original comment that's longer" | ||
| one_byte_shorter_comment = original_comment[:-1] |
There was a problem hiding this comment.
IMO extracting these to variables makes the test code harder to understand rather than easier. I suggest undoing this change.
|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
|
I have made the requested changes; please review again. |
|
Thanks for making the requested changes! @taleinat: please review the changes made to this pull request. |
…onGH-19337) (cherry picked from commit ff9147d) Co-authored-by: Jan Mazur <16736821+mzr@users.noreply.github.com>
|
GH-22436 is a backport of this pull request to the 3.9 branch. |
…onGH-19337) (cherry picked from commit ff9147d) Co-authored-by: Jan Mazur <16736821+mzr@users.noreply.github.com>
|
GH-22437 is a backport of this pull request to the 3.8 branch. |
…onGH-19337) (cherry picked from commit ff9147d) Co-authored-by: Jan Mazur <16736821+mzr@users.noreply.github.com>
* origin/master: (113 commits) bpo-41773: Raise exception for non-finite weights in random.choices(). (pythonGH-22441) bpo-41873: Add vectorcall for float() (pythonGH-22432) bpo-41861: Convert _sqlite3 PrepareProtocolType to heap type (pythonGH-22428) bpo-41842: Add codecs.unregister() function (pythonGH-22360) bpo-41875: Use __builtin_unreachable when possible (pythonGH-22433) bpo-40105: ZipFile truncate in append mode with shorter comment (pythonGH-19337) bpo-41870: Use PEP 590 vectorcall to speed up bool() (pythonGH-22427) [doc] Leverage the fact that the actual types can now be indexed for typing (pythonGH-22340) bpo-41861: Convert _sqlite3 cache and node static types to heap types (pythonGH-22417) bpo-41858: Clarify line in optparse doc (pythonGH-22407) Revert "Fix all Python Cookbook links (python#22205)" (pythonGH-22424) bpo-1635741: Port _bisect module to multi-phase init (pythonGH-22415) bpo-41428: Fix compiler warning in unionobject.c (pythonGH-22416) Fix logging error message (pythonGH-22410) bpo-39934: Account for control blocks in 'except' in compiler. (pythonGH-22395) bpo-41775: Make 'IDLE Shell' the shell title (python#22399) bpo-41428: Fix compiler warnings in unionobject.c (pythonGH-22388) bpo-41654: Fix compiler warning in MemoryError_dealloc() (pythonGH-22387) bpo-41833: threading.Thread now uses the target name (pythonGH-22357) bpo-30155: Add macros to get tzinfo from datetime instances (pythonGH-21633) ...

Implemented a test for this behaviour.
If we just
truncatethe test fails forUnseekablefile types. In current implementation, those type of files can't be opened in the append ('a') mode anyway, so we could make a check for that in the future.https://bugs.python.org/issue40105