Skip to content

[3.15] gh-86533: Restore os.makedirs() ability to apply *mode* recursively (GH-150011)#150036

Merged
gpshead merged 2 commits into
python:3.15from
miss-islington:backport-9770e32-3.15
May 19, 2026
Merged

[3.15] gh-86533: Restore os.makedirs() ability to apply *mode* recursively (GH-150011)#150036
gpshead merged 2 commits into
python:3.15from
miss-islington:backport-9770e32-3.15

Conversation

@miss-islington
Copy link
Copy Markdown
Contributor

@miss-islington miss-islington commented May 18, 2026

bpo-42367: Restore os.makedirs() and pathlib.mkdir() ability to apply mode recursively via a new parent_mode= keyword argument.
(cherry picked from commit 9770e32)

Co-authored-by: nessita 124304+nessita@users.noreply.github.com
Co-authored-by: Zackery Spytz zspytz@gmail.com
Co-authored-by: Erlend E. Aasland erlend@python.org
Co-authored-by: Natalia 124304+nessita@users.noreply.github.com
Co-authored-by: Gregory P. Smith greg@krypto.org

Fixes #86533

…vely (pythonGH-150011)

bpo-42367: Restore os.makedirs() and pathlib.mkdir() ability to apply *mode* recursively via a new parent_mode= keyword argument.
(cherry picked from commit 9770e32)

Co-authored-by: nessita <124304+nessita@users.noreply.github.com>
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
Co-authored-by: Erlend E. Aasland <erlend@python.org>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
@github-project-automation github-project-automation Bot moved this from Todo to In Progress in Sprint May 18, 2026
@gpshead gpshead disabled auto-merge May 18, 2026 23:19
@gpshead
Copy link
Copy Markdown
Member

gpshead commented May 18, 2026

there's some buildbot failures (the joy of tests relying on filesystem modes in various environments) on the first PR. I'll deal with those and incorporate fixes here before merging this.

test_mkdir_with_parent_mode, test_mkdir_parent_mode_deep_hierarchy and
test_mkdir_parent_mode_same_as_mode assert exact directory mode bits but
did not pin the process umask.  On buildbots running with a restrictive
umask (e.g. 0o077) the 0o755 leaf was masked down to 0o700, failing the
assertions.  Wrap them in os_helper.temp_umask(0o022), matching the
other umask-aware mkdir tests in this file.
@gpshead gpshead added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label May 18, 2026
@bedevere-bot
Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @gpshead for commit 036510e 🤖

Results will be shown at:

https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F150036%2Fmerge

If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again.

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label May 18, 2026
@gpshead gpshead merged commit 28f275f into python:3.15 May 19, 2026
117 of 121 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Sprint May 19, 2026
@miss-islington miss-islington deleted the backport-9770e32-3.15 branch May 19, 2026 05:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sprint type-bug An unexpected behavior, bug, or error type-feature A feature request or enhancement type-security A security issue

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants