@@ -431,30 +431,42 @@ def decorated_method() -> None:
431431
432432
433433def test_lock_mode (tmp_path : Path ) -> None :
434+ # test file lock permissions are independent of umask
434435 lock_path = tmp_path / "a.lock"
435436 lock = FileLock (str (lock_path ), mode = 0o666 )
436437
437- lock .acquire ()
438- assert lock .is_locked
438+ # set umask so permissions can be anticipated
439+ initial_umask = os .umask (0o022 )
440+ try :
441+ lock .acquire ()
442+ assert lock .is_locked
439443
440- mode = filemode (os .stat (lock_path ).st_mode )
441- assert mode == "-rw-rw-rw-"
444+ mode = filemode (os .stat (lock_path ).st_mode )
445+ assert mode == "-rw-rw-rw-"
446+ finally :
447+ os .umask (initial_umask )
442448
443449 lock .release ()
444450
445451
446452def test_lock_mode_soft (tmp_path : Path ) -> None :
453+ # test soft lock permissions are dependent of umask
447454 lock_path = tmp_path / "a.lock"
448455 lock = SoftFileLock (str (lock_path ), mode = 0o666 )
449456
450- lock .acquire ()
451- assert lock .is_locked
457+ # set umask so permissions can be anticipated
458+ initial_umask = os .umask (0o022 )
459+ try :
460+ lock .acquire ()
461+ assert lock .is_locked
452462
453- mode = filemode (os .stat (lock_path ).st_mode )
454- if sys .platform == "win32" :
455- assert mode == "-rw-rw-rw-"
456- else :
457- assert mode == "-rw-r--r--"
463+ mode = filemode (os .stat (lock_path ).st_mode )
464+ if sys .platform == "win32" :
465+ assert mode == "-rw-rw-rw-"
466+ else :
467+ assert mode == "-rw-r--r--"
468+ finally :
469+ os .umask (initial_umask )
458470
459471 lock .release ()
460472
0 commit comments