Take back the test store's lock fix: open #148 carries the fuller one
Merged beside #148 the two would not compile (SetFail declared twice, m.Fail undefined). #148 lands on its own.
This commit is contained in:
@@ -61,14 +61,6 @@ func (m *InMemory) Update(_ context.Context, key string, value []byte, revision
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetFail makes every call fail with err from now on, or none with nil: under the store's lock, so a test may
|
||||
// change it while the keeper's own goroutine is telling.
|
||||
func (m *InMemory) SetFail(err error) {
|
||||
m.mu.Lock()
|
||||
defer m.mu.Unlock()
|
||||
m.Fail = err
|
||||
}
|
||||
|
||||
func (m *InMemory) Delete(_ context.Context, key string, revision uint64) error {
|
||||
m.mu.Lock()
|
||||
defer m.mu.Unlock()
|
||||
|
||||
@@ -199,17 +199,15 @@ func TestAnUnreadableStoreClearsNothing(t *testing.T) {
|
||||
if _, err := k.Observe(ctx, silent("ace")); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
store.SetFail(errors.New("the bus is away"))
|
||||
store.Fail = errors.New("the bus is away")
|
||||
if err := k.Reconcile(ctx, "S1", nil); err == nil {
|
||||
t.Fatal("reconciled against a store it could not read")
|
||||
}
|
||||
if _, err := k.Open(ctx); err == nil {
|
||||
t.Fatal("an unreadable store answered as read")
|
||||
}
|
||||
store.SetFail(nil)
|
||||
store.mu.Lock()
|
||||
store.Fail = nil
|
||||
store.values["machine.g14.silent"] = Entry{Value: []byte("{not a condition"), Revision: 99}
|
||||
store.mu.Unlock()
|
||||
if _, err := k.Open(ctx); err == nil || !strings.Contains(err.Error(), "machine.g14.silent") {
|
||||
t.Fatalf("an unreadable condition was left out rather than said: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user