You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
umasked os.makedirs() sometimes fails on Emscripten #135783
Should return 0o775; but returns 0o755 on some installs.
This can be observed as a failure of test_os.MakedirTests.test_mode. The Emscripten buildbot fails consistently on this; it also fails on my macOS machine. However, @hoodmane has been unable to reproduce it. The test has been skipped as part of #127146 to get a passing buildbot; more investigation is required.
Pairing with @hoodmane at Europython - we've found the cause. Emscripten's umask function appears to be a no-op; on @hoodmane machine, the default umask is the same as the one used in the test, so the test passes. On the test machine and my machine, the default umask is 0o022, so the no-op umask is a problem.
This strictly means the test is a little fragile, as it will always pass if the host machine where the test is executing has a umask of 0o002.
Activity
gh-127146: Skip test_os.test_mode for Emscripten (#135764)
pythongh-127146: Skip test_os.test_mode for Emscripten (pythonGH-135764)
[3.14] gh-127146: Skip test_os.test_mode for Emscripten (GH-135764) (#…
pythongh-127146: Skip test_os.test_mode for Emscripten (python#135764)
freakboy3742 commentedon Jul 16, 2025
Pairing with @hoodmane at Europython - we've found the cause. Emscripten's umask function appears to be a no-op; on @hoodmane machine, the default umask is the same as the one used in the test, so the test passes. On the test machine and my machine, the default umask is 0o022, so the no-op umask is a problem.
This strictly means the test is a little fragile, as it will always pass if the host machine where the test is executing has a umask of 0o002.
pythongh-127146: Skip test_os.test_mode for Emscripten (python#135764)
pythongh-127146: Skip test_os.test_mode for Emscripten (python#135764)