feat(cli): upgrade command, rich status, and version cache
- Replace `upgrade` stub with real command (alias for `self-update`) - Also register `update` as alias: `unarr update` works too - Rewrite `status` to show full config, disk usage, daemon state, and update availability with colored sections - Add version check cache (1h TTL) so `status` is instant on repeat runs - Guard against division by zero on empty filesystems - Guard against negative durations from clock skew - Guard against stale PID via heartbeat recency check (2 min) - Add comprehensive test coverage across agent, engine, upgrade, usenet, arr, library, mediaserver, and UI packages - Improve Makefile coverage target to exclude cmd/ glue code - Fix stream handler resource cleanup and ffprobe error handling
This commit is contained in:
parent
01d62ffa13
commit
3e0f3a5a64
33 changed files with 7084 additions and 65 deletions
9
Makefile
9
Makefile
|
|
@ -19,10 +19,13 @@ test:
|
|||
lint:
|
||||
golangci-lint run ./...
|
||||
|
||||
## Run tests with coverage report
|
||||
## Run tests with coverage report (excludes CLI layer — cmd/ is glue code)
|
||||
COVER_PKGS = $(shell go list ./... | grep -v '/cmd')
|
||||
coverage:
|
||||
go test -race -coverprofile=coverage.out -covermode=atomic ./...
|
||||
go tool cover -func=coverage.out
|
||||
go test -race -coverprofile=coverage.out -covermode=atomic $(COVER_PKGS)
|
||||
@echo "──────────────────────────────────────"
|
||||
@go tool cover -func=coverage.out | tail -1
|
||||
@echo "──────────────────────────────────────"
|
||||
go tool cover -html=coverage.out -o coverage.html
|
||||
|
||||
## Format code
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue