package store import ( "context" "testing" ) // 非 PG(sqlite 测试库无 pg_try_advisory_lock):选主不可用 → 退回本地直接跑(单实例/开发态不能因此不跑)。 func TestTryRunExclusive_FallbackRunsOnNonPG(t *testing.T) { p := newTestStore(t) ran := false if got := p.TryRunExclusive(context.Background(), 987654, func() { ran = true }); !got || !ran { t.Fatalf("sqlite 无 advisory 锁应退回本地跑:got=%v ran=%v", got, ran) } } // 无 DB(降级模式):一样本地直接跑。 func TestTryRunExclusive_NilDB(t *testing.T) { p := &Postgres{} ran := false if got := p.TryRunExclusive(context.Background(), 987654, func() { ran = true }); !got || !ran { t.Fatalf("无 DB 应本地跑:got=%v ran=%v", got, ran) } }