Skip to content

Commit 2cd5f63

Browse files
authored
Add umask check to tests so umask 002 is valid (#227)
Co-authored-by: TheMatt2 <[email protected]>
1 parent dceb9e5 commit 2cd5f63

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

tests/test_filelock.py

+23-11
Original file line numberDiff line numberDiff line change
@@ -431,30 +431,42 @@ def decorated_method() -> None:
431431

432432

433433
def 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

446452
def 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

Comments
 (0)