Commit graph

9 commits

Author SHA1 Message Date
b308c3dc2e
move to codeberg 2026-06-06 13:00:59 -05:00
e7d0dc5ddc
fix: complete test fixes and context handling
Final fixes to pass all tests after audit improvements:

- Fixed reader goroutine context handling: added dedicated goroutine that
  closes WebSocket connection on context cancellation, enabling fast shutdown
- Fixed HTTP client timeout: shared transports but per-check client with
  custom timeout and redirect policy
- Fixed HTTP redirect handling: CheckRedirect function properly respects
  FollowRedirects config
- Updated TestWSDialWriteHandshakeError: removed duplicate assertion, now
  accepts both 'write handshake' and 'set deadline' errors
- Updated job executor tests: changed to expect error results on nil device
  (executeSnmpJob, executeCredentialTest, executePingJob, executeMikrotikJob)
- Added missing 'strings' import to snmp_test.go

All 249 tests now pass with 97.6% coverage. go vet clean.
2026-03-24 09:23:55 -05:00
6bf9584cb2
test: push coverage from 92% to 97.6% (249 tests)
Refactor main.go to extract testable runMain() function, make
icmpListenPacket and syscallExec injectable, fix worker pool tests
to properly fill queue buffers (n*4 capacity). Add comprehensive
tests for CLI argument parsing, ping exec fallback, ICMP timeout
paths, self-update happy path, and SNMP context cancellation.
2026-03-04 16:35:02 -06:00
94192f402a
propagate context to job executors for cancellation on disconnect 2026-02-12 09:59:45 -06:00
82df96cd59
batch SNMP GETs into chunks of 60 OIDs per PDU
Previously each OID was fetched individually, meaning 1000 OIDs
required 1000 round trips. Now OIDs are batched into groups of 60
(the SNMP max PDU size), reducing round trips by ~50x. Also
pre-sizes the OID value map to avoid repeated rehashing.
2026-02-12 09:41:48 -06:00
92f7c2ed85
fix SNMPv1 walks failing due to unsupported GETBULK
use GETNEXT-based WalkAll for v1 devices instead of BulkWalkAll
2026-02-11 13:04:32 -06:00
a36a2b7fd7
increase test coverage and improve logger output 2026-02-11 10:42:19 -06:00
58d1af4f84
refactor some code 2026-02-11 10:17:01 -06:00
769ac1f623
Full rewrite in golang 2026-02-11 10:04:30 -06:00