@@ -2503,9 +2503,9 @@ def test_mkdir_parents_umask(self):
25032503 p .mkdir (0o755 , parents = True )
25042504 self .assertTrue (p .exists ())
25052505 # Leaf directory gets the specified mode
2506- self .assertEqual (stat . S_IMODE ( p .stat ().st_mode ) , 0o755 )
2506+ self .assertEqual (p .stat ().st_mode & 0o777 , 0o755 )
25072507 # Parent directory respects umask (0o777 & ~0o002 = 0o775)
2508- self .assertEqual (stat . S_IMODE ( p .parent .stat ().st_mode ) , 0o775 )
2508+ self .assertEqual (p .parent .stat ().st_mode & 0o777 , 0o775 )
25092509 finally :
25102510 os .umask (old_mask )
25112511
@@ -2519,9 +2519,9 @@ def test_mkdir_with_parent_mode(self):
25192519 self .assertTrue (p .exists ())
25202520 self .assertTrue (p .is_dir ())
25212521 # Leaf directory gets the mode parameter
2522- self .assertEqual (stat . S_IMODE ( p .stat ().st_mode ) , 0o755 )
2522+ self .assertEqual (p .stat ().st_mode & 0o777 , 0o755 )
25232523 # Parent directory gets the parent_mode parameter
2524- self .assertEqual (stat . S_IMODE ( p .parent .stat ().st_mode ) , 0o750 )
2524+ self .assertEqual (p .parent .stat ().st_mode & 0o777 , 0o750 )
25252525
25262526 def test_mkdir_parent_mode_deep_hierarchy (self ):
25272527 # Test parent_mode with deep directory hierarchy
@@ -2533,10 +2533,10 @@ def test_mkdir_parent_mode_deep_hierarchy(self):
25332533 # Check that all parent directories have parent_mode
25342534 level1 = self .cls (self .base , 'level1PM' )
25352535 level2 = level1 / 'level2PM'
2536- self .assertEqual (stat . S_IMODE ( level1 .stat ().st_mode ) , 0o700 )
2537- self .assertEqual (stat . S_IMODE ( level2 .stat ().st_mode ) , 0o700 )
2536+ self .assertEqual (level1 .stat ().st_mode & 0o777 , 0o700 )
2537+ self .assertEqual (level2 .stat ().st_mode & 0o777 , 0o700 )
25382538 # Leaf directory has the regular mode
2539- self .assertEqual (stat . S_IMODE ( p .stat ().st_mode ) , 0o755 )
2539+ self .assertEqual (p .stat ().st_mode & 0o777 , 0o755 )
25402540
25412541 @unittest .skipIf (
25422542 is_emscripten or is_wasi ,
@@ -2553,9 +2553,9 @@ def test_mkdir_parent_mode_overrides_umask(self):
25532553 p .mkdir (0o755 , parents = True , parent_mode = 0o700 )
25542554 self .assertTrue (p .exists ())
25552555 # Leaf directory gets the specified mode
2556- self .assertEqual (stat . S_IMODE ( p .stat ().st_mode ) , 0o755 )
2556+ self .assertEqual (p .stat ().st_mode & 0o777 , 0o755 )
25572557 # Parent directory gets parent_mode, not affected by umask
2558- self .assertEqual (stat . S_IMODE ( p .parent .stat ().st_mode ) , 0o700 )
2558+ self .assertEqual (p .parent .stat ().st_mode & 0o777 , 0o700 )
25592559 finally :
25602560 os .umask (old_mask )
25612561
@@ -2567,8 +2567,8 @@ def test_mkdir_parent_mode_same_as_mode(self):
25672567 p .mkdir (0o705 , parents = True , parent_mode = 0o705 )
25682568 self .assertTrue (p .exists ())
25692569 # Both directories should have the same mode
2570- self .assertEqual (stat . S_IMODE ( p .stat ().st_mode ) , 0o705 )
2571- self .assertEqual (stat . S_IMODE ( p .parent .stat ().st_mode ) , 0o705 )
2570+ self .assertEqual (p .stat ().st_mode & 0o777 , 0o705 )
2571+ self .assertEqual (p .parent .stat ().st_mode & 0o777 , 0o705 )
25722572
25732573 @needs_symlinks
25742574 def test_symlink_to (self ):
0 commit comments