Commit graph

5 commits

Author SHA1 Message Date
0a978746e1
Fix all Credo issues
Resolves 26 Credo warnings/issues:

Code Readability (2 issues):
- Break long line in mac_address.ex (line 316 > 120 chars)
- Break long @spec in agents.ex (line 332 > 120 chars)

Refactoring Opportunities (2 issues):
- Reduce cyclomatic complexity in device_live/form.ex
  - Extract helper functions to simplify SNMPv3 credential resolution
  - Split logic into smaller, focused functions
- Reduce nesting depth in snmp_oid.ex
  - Extract nested logic into separate helper functions

Warnings (22 issues):
- Fix comparison warning in validator.ex
  - Split validate_sensor_value/1 into separate clauses for int/float
  - Add credo directive for valid NaN check (value != value)
- Replace 21 expensive length/1 checks with Enum.empty?/1
  - Change assertions from `assert length(list) >= 1` to `refute Enum.empty?(list)`
  - Change assertions from `assert length(list) > 0` to `refute Enum.empty?(list)`
  - Affected files: device_poller_worker_test.exs, mib_test.exs,
    snmp_tokenizer_test.exs, parser_test.exs, error_test.exs, compiler_test.exs

All tests passing (5578 tests, 0 failures).
Credo now reports: "found no issues"
2026-02-06 10:31:09 -06:00
27950de26e
test: expand MIB.Compiler tests (46.15%)
Added 34 comprehensive tests covering:
- compile_string/2 - String compilation (7 tests)
- compile/2 - File compilation (2 tests)
- Integration with Parser (1 test)
- compile_all/2 - Batch compilation (4 tests)
- load_compiled/1 - Load compiled MIBs (3 tests)
- Compile options (validate, format, output_dir, optimize, etc.) (8 tests)
- Error handling (syntax errors, missing files, parse errors) (3 tests)
- Symbol table construction (2 tests)
- Dependency extraction (deduplication, single/multiple) (4 tests)
- Compiled MIB structure validation (2 tests)

All tests tagged @moduletag :yecc_required (excluded by default).
Tests use temporary directories for file I/O.Coverage: 46.15% (unchanged - tests excluded)
Total tests: 1,514 (all passing, 72 excluded)
2026-02-06 09:12:26 -06:00
2b78b1a2d3
snmpkit overhaul and etcd 2026-01-23 16:23:57 -06:00
7fcfdbf2e9
credo improvements 2026-01-23 13:40:49 -06:00
a0ba9285dd
bring in snmpkit 2026-01-23 12:52:17 -06:00