diff --git a/Local-Development-and-Verification.-.md b/Local-Development-and-Verification.-.md index 429ac3d..f5af702 100644 --- a/Local-Development-and-Verification.-.md +++ b/Local-Development-and-Verification.-.md @@ -469,3 +469,41 @@ go test ./cmd/migrate/migration/version -run TestEdgeNodeMigrationOnPostgres -co 验证应覆盖在线、超过 90 秒的离线、心跳恢复但通道未收敛、最后已知状态与陈旧时长、负载和回填队列、不可变状态事件、只读权限、脱敏读取审计,以及 Brain/Bell 不运行时的独立性。合成节点只能由测试或显式开发调用;没有隔离 PostgreSQL 连接时必须记录迁移真库测试未执行。 + + +### Sense MediaMTX 分片验证 + +定向与全量验证: + +```powershell +cd Sense/server +go test -race ./app/sense/media ./app/sense/media_shard ./cmd/migrate/migration/version +go test ./... +go vet ./... + +cd ../ui +corepack pnpm@9.15.1 lint +corepack pnpm@9.15.1 test:unit +corepack pnpm@9.15.1 build:prod + +cd ../.. +powershell.exe -NoProfile -File .\Sense\tests\package\run-tests.ps1 +``` + +使用真实本机 MediaMTX 二进制验证两个独立测试实例;测试会分配临时回环端口并在结束时停止其自有进程: + +```powershell +cd Sense/server +$env:SENSE_MEDIAMTX_TEST_BINARY = '' +go test ./tests/media -run 'TestTwoRealMediaMTXShardsAreIndependentlyUsable|TestRealMediaMTXControlLifecycle' -count=1 -v +``` + +PostgreSQL 迁移测试仅使用专用隔离连接: + +```powershell +$env:SENSE_MEDIA_SHARD_MIGRATION_TEST_DATABASE_URL = '<隔离 PostgreSQL 连接>' +go test ./cmd/migrate/migration/version -run TestMediaShardMigrationOnPostgres -count=1 -v +``` + +验证应覆盖任意配置容量、稳定重复分配、容量耗尽、分片故障后归属不变、设备/Profile/路径影响范围、只读迁移预检、只读 RBAC、Control API 不出现在响应,以及 Brain/Bell 均不运行。没有专用 PostgreSQL 连接时必须记录真库迁移测试未执行。 +