Test Coverage Summary ===================== .. list-table:: File Coverage :header-rows: 1 :widths: 40 10 10 10 * - File - Statements - Covered - Percent * - ``__init__.py`` - 35 - 23 - 65.7% * - ``cli/__init__.py`` - 2 - 2 - 100.0% * - ``cli/__main__.py`` - 4 - 3 - 75.0% * - ``cli/commands/__init__.py`` - 8 - 8 - 100.0% * - ``cli/commands/dns.py`` - 62 - 39 - 62.9% * - ``cli/commands/hotspot.py`` - 152 - 99 - 65.1% * - ``cli/commands/iface.py`` - 52 - 33 - 63.5% * - ``cli/commands/ping.py`` - 34 - 20 - 58.8% * - ``cli/commands/ports.py`` - 35 - 25 - 71.4% * - ``cli/commands/trace.py`` - 52 - 28 - 53.8% * - ``cli/commands/wifi.py`` - 32 - 26 - 81.2% * - ``cli/main.py`` - 77 - 58 - 75.3% * - ``client/__init__.py`` - 4 - 4 - 100.0% * - ``client/base.py`` - 8 - 6 - 75.0% * - ``client/tcp.py`` - 41 - 32 - 78.0% * - ``client/udp.py`` - 41 - 34 - 82.9% * - ``core/__init__.py`` - 4 - 4 - 100.0% * - ``core/events.py`` - 12 - 12 - 100.0% * - ``core/hooks.py`` - 25 - 18 - 72.0% * - ``dashboard/__init__.py`` - 2 - 2 - 100.0% * - ``dashboard/app.py`` - 75 - 60 - 80.0% * - ``diagnostics/__init__.py`` - 10 - 8 - 80.0% * - ``diagnostics/bandwidth.py`` - 25 - 24 - 96.0% * - ``diagnostics/dns.py`` - 15 - 12 - 80.0% * - ``diagnostics/geo.py`` - 11 - 9 - 81.8% * - ``diagnostics/ping.py`` - 187 - 148 - 79.1% * - ``diagnostics/port_scan.py`` - 35 - 35 - 100.0% * - ``diagnostics/traceroute.py`` - 66 - 60 - 90.9% * - ``discovery/__init__.py`` - 15 - 8 - 53.3% * - ``discovery/bluetooth.py`` - 34 - 21 - 61.8% * - ``discovery/detectors.py`` - 77 - 75 - 97.4% * - ``discovery/mdns.py`` - 49 - 36 - 73.5% * - ``discovery/service_discovery.py`` - 18 - 18 - 100.0% * - ``discovery/ssh.py`` - 49 - 39 - 79.6% * - ``discovery/upnp.py`` - 38 - 34 - 89.5% * - ``hotspot/__init__.py`` - 5 - 5 - 100.0% * - ``hotspot/backend.py`` - 8 - 8 - 100.0% * - ``hotspot/dhcp.py`` - 57 - 53 - 93.0% * - ``hotspot/hotspot.py`` - 130 - 121 - 93.1% * - ``hotspot/security.py`` - 65 - 62 - 95.4% * - ``http_/__init__.py`` - 5 - 5 - 100.0% * - ``http_/async_client.py`` - 29 - 23 - 79.3% * - ``http_/base.py`` - 9 - 9 - 100.0% * - ``http_/client.py`` - 31 - 28 - 90.3% * - ``http_/server.py`` - 81 - 68 - 84.0% * - ``mesh/__init__.py`` - 4 - 4 - 100.0% * - ``mesh/esp.py`` - 13 - 13 - 100.0% * - ``mesh/lora.py`` - 11 - 11 - 100.0% * - ``mesh/radio.py`` - 70 - 68 - 97.1% * - ``radio/__init__.py`` - 4 - 4 - 100.0% * - ``radio/base.py`` - 14 - 11 - 78.6% * - ``radio/esp.py`` - 17 - 14 - 82.4% * - ``radio/lora.py`` - 17 - 14 - 82.4% * - ``radio/sdr.py`` - 28 - 24 - 85.7% * - ``service_detectors/__init__.py`` - 20 - 19 - 95.0% * - ``service_detectors/banner_keyword.py`` - 9 - 9 - 100.0% * - ``service_detectors/coap.py`` - 9 - 9 - 100.0% * - ``service_detectors/fallback.py`` - 8 - 8 - 100.0% * - ``service_detectors/ftp.py`` - 13 - 12 - 92.3% * - ``service_detectors/generic.py`` - 10 - 10 - 100.0% * - ``service_detectors/http.py`` - 15 - 14 - 93.3% * - ``service_detectors/imap.py`` - 11 - 11 - 100.0% * - ``service_detectors/mqtt.py`` - 9 - 9 - 100.0% * - ``service_detectors/pop3.py`` - 10 - 10 - 100.0% * - ``service_detectors/port_mapping.py`` - 6 - 6 - 100.0% * - ``service_detectors/sip.py`` - 9 - 9 - 100.0% * - ``service_detectors/smtp.py`` - 14 - 13 - 92.9% * - ``service_detectors/ssh.py`` - 14 - 14 - 100.0% * - ``socket/__init__.py`` - 4 - 4 - 100.0% * - ``socket/base.py`` - 11 - 9 - 81.8% * - ``socket/tcp.py`` - 37 - 37 - 100.0% * - ``socket/udp.py`` - 23 - 23 - 100.0% * - ``utils/__init__.py`` - 4 - 4 - 100.0% * - ``utils/constants.py`` - 1 - 1 - 100.0% * - ``utils/net.py`` - 5 - 5 - 100.0% * - ``utils/netinfo.py`` - 89 - 84 - 94.4% Generated from coverage.xml.