rcourtman
21950c6e4c
Restore QNAP agent boot and update continuity
...
Refs #1420
Refs #1422
2026-04-22 10:48:43 +01:00
rcourtman
778a2577b6
feat: Pulse v6 release
2026-03-18 16:06:30 +00:00
rcourtman
28140707b1
Add unit tests for agentupdate utility functions
...
Tests for:
- verifyBinaryMagic: ELF/Mach-O/PE magic byte validation
- determineArch: platform architecture detection
- unraidPersistentPath: Unraid persistence path generation
- isUnraid: Unraid environment detection
- New(): updater initialization with various configs
- Config defaults and constants
Coverage: 12.9% -> 13.4%
2025-11-30 03:48:50 +00:00
rcourtman
b1bc704e3a
Consolidate duplicate normalizeVersion functions into shared utility
...
- Move normalizeVersion to utils.NormalizeVersion for single source of truth
- Update agentupdate and dockeragent packages to use shared function
- Add 14 test cases for version normalization
This prevents bugs like issue #773 where a fix applied to one copy
but not the other caused an update loop.
2025-11-29 22:57:33 +00:00
rcourtman
086b10b6d4
Add regression test for normalizeVersion
...
Prevents recurrence of the infinite update loop bug fixed in 1b866598
where version prefix mismatch caused continuous self-updates.
2025-11-29 15:22:05 +00:00
courtmanr@gmail.com
c86ce1629d
fix(tests): resolve flaky ID generation and symlink resolution on macOS
2025-11-27 10:50:13 +00:00
rcourtman
7a1a5408e2
fix: resolve symlinks for agent self-update to avoid cross-device rename
...
When the agent binary is symlinked (e.g., from /opt/pulse/bin to
/usr/local/bin), the self-update would fail with "invalid cross-device
link" because os.Rename() doesn't work across filesystems.
Now resolves symlinks before update and creates the temp file in the
same directory as the real binary.
Related to #737
2025-11-26 20:16:09 +00:00
rcourtman
1760419c63
test: add additional tests for internal/agentupdate
...
Add 6 tests covering:
- Config struct zero value defaults
- NewUpdater with InsecureSkipVerify option
- NewUpdater with Disabled option
- determineArch format validation
- verifyBinaryMagic on directories
- Package constants validation
2025-11-26 14:37:01 +00:00
rcourtman
f111c3ff6a
test: add unit tests for agentupdate security features
...
- Test binary magic verification (ELF, PE, Mach-O)
- Test architecture detection
- Test Unraid persistent path generation
- Test updater configuration defaults
- Test edge cases: empty files, too short, non-existent
2025-11-26 13:50:19 +00:00