Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 30 additions & 1 deletion tests/test_force_polling.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import pytest

from watchfiles import watch
from watchfiles.main import _default_force_polling
from watchfiles.main import _default_debug, _default_force_polling

if TYPE_CHECKING:
from .conftest import SetEnv
Expand Down Expand Up @@ -102,3 +102,32 @@ def test_default_force_polling_wsl(mocker, env: SetEnv, env_var, arg, expected,
env('WATCHFILES_FORCE_POLLING', env_var)
assert _default_force_polling(arg) == expected
assert m.call_count == call_count


@pytest.mark.parametrize(
'env_var,arg,expected',
[
(None, True, True),
(None, False, False),
(None, None, False),
('', True, True),
('', False, False),
('', None, False),
('1', True, True),
('1', False, False),
('1', None, True),
('false', True, True),
('false', False, False),
('false', None, False),
('disable', True, True),
('disable', False, False),
('disable', None, False),
('disabled', True, True),
('disabled', False, False),
('disabled', None, False),
],
)
def test_default_debug(env: SetEnv, env_var, arg, expected):
if env_var is not None:
env('WATCHFILES_DEBUG', env_var)
assert _default_debug(arg) == expected
9 changes: 9 additions & 0 deletions tests/test_rust_notify.py
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,15 @@ def test_ignore_permission_denied():
('1', True, True),
('1', False, False),
('1', None, True),
('false', True, True),
('false', False, False),
('false', None, False),
('disable', True, True),
('disable', False, False),
('disable', None, False),
('disabled', True, True),
('disabled', False, False),
('disabled', None, False),
],
)
def test_default_ignore_permission_denied(env: 'SetEnv', env_var, arg, expected):
Expand Down
11 changes: 7 additions & 4 deletions watchfiles/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,8 +350,7 @@ def _default_poll_delay_ms(poll_delay_ms: int) -> int:
def _default_debug(debug: Optional[bool]) -> bool:
if debug is not None:
return debug
env_var = os.getenv('WATCHFILES_DEBUG')
return bool(env_var)
return _default_env_var('WATCHFILES_DEBUG')


def _auto_force_polling() -> bool:
Expand All @@ -369,5 +368,9 @@ def _auto_force_polling() -> bool:
def _default_ignore_permission_denied(ignore_permission_denied: Optional[bool]) -> bool:
if ignore_permission_denied is not None:
return ignore_permission_denied
env_var = os.getenv('WATCHFILES_IGNORE_PERMISSION_DENIED')
return bool(env_var)
return _default_env_var('WATCHFILES_IGNORE_PERMISSION_DENIED')


def _default_env_var(env_name: str) -> bool:
env_var = os.getenv(env_name)
return bool(env_var) and env_var.lower() not in {'false', 'disable', 'disabled'}