From a97443655b2b27a8faab5bd61e9092bd429be958 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 10 Sep 2026 08:41:15 +0000 Subject: [PATCH] test: Add test for /etc/resolv.conf fallback Adds a unit test `test_resolvers_unix_resolv_conf_oserror` to `tests/test_netinfo.py` to cover the `OSError` fallback logic when `/etc/resolv.conf` cannot be read in `_resolvers_unix`. Co-authored-by: Horizontal42 <75383519+Horizontal42@users.noreply.github.com> --- tests/test_netinfo.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/test_netinfo.py b/tests/test_netinfo.py index 7134cd9..ca6cbd3 100644 --- a/tests/test_netinfo.py +++ b/tests/test_netinfo.py @@ -334,3 +334,18 @@ def test_collect_local_net_no_network(mock_resolvers, mock_gw, mock_stats, mock_ assert result.default_gateway_v6 is None assert result.is_dual_stack is False assert result.cgnat is False + + +@patch("netsleuth.netinfo.subprocess.run") +@patch("builtins.open") +def test_resolvers_unix_resolv_conf_oserror(mock_open, mock_run): + from netsleuth.netinfo import _resolvers_unix + + mock_open.side_effect = OSError("No such file or directory") + + mock_scutil = mock_run.return_value + mock_scutil.stdout = "" + + result = _resolvers_unix() + + assert result == {}