From 6aa1066f7c124934e132ee8a7c52095302470d58 Mon Sep 17 00:00:00 2001 From: James Bardin Date: Wed, 15 Feb 2017 10:39:35 -0500 Subject: [PATCH] Store and use the correct IDs in TestRemoteLocks --- state/remote/testing.go | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/state/remote/testing.go b/state/remote/testing.go index 0f7a2d15e2..bd71aefcbf 100644 --- a/state/remote/testing.go +++ b/state/remote/testing.go @@ -65,31 +65,29 @@ func TestRemoteLocks(t *testing.T, a, b Client) { infoB.Operation = "test" infoB.Who = "clientB" - if _, err := lockerA.Lock(infoA); err != nil { + lockIDA, err := lockerA.Lock(infoA) + if err != nil { t.Fatal("unable to get initial lock:", err) } - if _, err := lockerB.Lock(infoB); err == nil { - lockerA.Unlock("") + _, err = lockerB.Lock(infoB) + if err == nil { + lockerA.Unlock(lockIDA) t.Fatal("client B obtained lock while held by client A") - } else { - t.Log("lock info error:", err) } - if err := lockerA.Unlock(""); err != nil { + if err := lockerA.Unlock(lockIDA); err != nil { t.Fatal("error unlocking client A", err) } - if _, err := lockerB.Lock(infoB); err != nil { + lockIDB, err := lockerB.Lock(infoB) + if err != nil { t.Fatal("unable to obtain lock from client B") } - if err := lockerB.Unlock(""); err != nil { + if err = lockerB.Unlock(lockIDB); err != nil { t.Fatal("error unlocking client B:", err) } - // unlock should be repeatable - if err := lockerA.Unlock(""); err != nil { - t.Fatal("Unlock error from client A when state was not locked:", err) - } + // TODO: Should we enforce that Unlock requires the correct ID? }