- 新增顶层 ConsoleLogConfig{Web, MQTT, LLM, SQL},默认全 true,方便后续按模块扩展
- WebConfig.ConsoleLog 移除;NewRouter/NewHTTPServer 改为显式接 consoleLog 参数
- AIConfig 增加 DataDir,原 Config.DataDir(仅 ai 模块使用)下沉到 ai.data_dir
- OpenStore(cfg, consoleLog) 通过 console_log.sql 控制 gorm logger 级别(Warn/Silent)
- gorm logger 始终设 IgnoreRecordNotFoundError=true,修掉 GetBoolRuntimeSetting
正常缺省路径仍刷屏 'record not found' 的噪声
- 同步更新 install.sh 模板、win/etc 默认 yaml 与所有测试调用点
Co-Authored-By: Claude <noreply@anthropic.com>
28 lines
851 B
Go
28 lines
851 B
Go
// Package testutil 提供给其它包测试使用的 store 临时实例工厂。
|
|
//
|
|
// 重构前 db_test.go 中的 openTestStore helper 被 8+ 个测试文件复用;
|
|
// 现在抽到这里,让 store 包外的测试也可以零样板地拿到一个临时 SQLite store。
|
|
package testutil
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"meshtastic_mqtt_server/internal/config"
|
|
"meshtastic_mqtt_server/internal/store"
|
|
)
|
|
|
|
// OpenStore 返回一个写在 t.TempDir() 中的临时 SQLite store。
|
|
// 测试结束时调用方需要 defer st.Close()。
|
|
func OpenStore(t *testing.T) *store.Store {
|
|
t.Helper()
|
|
st, err := store.OpenStore(config.DatabaseConfig{
|
|
Driver: config.DriverSQLite,
|
|
SQLite: config.SQLiteConfig{Path: filepath.Join(t.TempDir(), "mesh_mqtt_go.db")},
|
|
}, false)
|
|
if err != nil {
|
|
t.Fatalf("OpenStore() error = %v", err)
|
|
}
|
|
return st
|
|
}
|