@@ -431,30 +431,42 @@ def decorated_method() -> None:
431
431
432
432
433
433
def test_lock_mode (tmp_path : Path ) -> None :
434
+ # test file lock permissions are independent of umask
434
435
lock_path = tmp_path / "a.lock"
435
436
lock = FileLock (str (lock_path ), mode = 0o666 )
436
437
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
439
443
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 )
442
448
443
449
lock .release ()
444
450
445
451
446
452
def test_lock_mode_soft (tmp_path : Path ) -> None :
453
+ # test soft lock permissions are dependent of umask
447
454
lock_path = tmp_path / "a.lock"
448
455
lock = SoftFileLock (str (lock_path ), mode = 0o666 )
449
456
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
452
462
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 )
458
470
459
471
lock .release ()
460
472
0 commit comments