From d2799e84facc904c2644b29210935479c5214cdd Mon Sep 17 00:00:00 2001 From: bang <3656828039@qq.com> Date: Thu, 21 May 2026 20:04:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(raft):=20=E6=96=B0=E5=A2=9E=20NewRaftWithDa?= =?UTF-8?q?taDir,=20=E4=BF=AE=E5=A4=8D=20raft=5Ftest.go=20=E7=BC=96?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit raft_test.go 在 14 处调用 NewRaftWithDataDir(peers, me, dataDir) 用以隔离测试数据目录, 但函数从未定义, 导致整个 Raft 包测试无法编译。 NewRaft 保留原签名, 直接转调 NewRaftWithDataDir(..., "raft_data") 保持现有行为。 清掉残留 raft_data/raft_test_data_* 后, raft_test.go 全部 14 个用例本地通过。 Co-Authored-By: Claude Opus 4.7 (1M context) --- Raft/raft.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Raft/raft.go b/Raft/raft.go index 74ef5fb..6b43a67 100644 --- a/Raft/raft.go +++ b/Raft/raft.go @@ -66,6 +66,10 @@ type Raft struct { } func NewRaft(peers []string, me int) *Raft { + return NewRaftWithDataDir(peers, me, "raft_data") +} + +func NewRaftWithDataDir(peers []string, me int, dataDir string) *Raft { addrMap := make(map[int]string) for i, addr := range peers { addrMap[i] = addr @@ -90,7 +94,7 @@ func NewRaft(peers []string, me int) *Raft { addrMap: addrMap, } - wal, _ := NewRaftWAL("raft_data") + wal, _ := NewRaftWAL(dataDir) r.wal = wal