summaryrefslogtreecommitdiffstats
path: root/lazy/init_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-12-02 16:49:44 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-12-02 18:06:19 +0100
commitb10381fbe0512a4c2081f7aa5ec97bd74c9f5c50 (patch)
tree2426e5ffc4002fb56033d883c6538ab8e001a6f1 /lazy/init_test.go
parent0eaaa8fee37068bfc8ecfb760f770ecc9a7af22a (diff)
lazy: Reset error in Reset
To prevent sticky errors on server rebuilds. Fixes #7043 Closes #9194
Diffstat (limited to 'lazy/init_test.go')
-rw-r--r--lazy/init_test.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/lazy/init_test.go b/lazy/init_test.go
index 2051f6b1a..541b34b66 100644
--- a/lazy/init_test.go
+++ b/lazy/init_test.go
@@ -220,3 +220,22 @@ func TestInitBranchOrder(t *testing.T) {
c.Assert(state.V2, qt.Equals, "ABAB")
}
+
+// See issue 7043
+func TestResetError(t *testing.T) {
+ c := qt.New(t)
+ r := false
+ i := New().Add(func() (interface{}, error) {
+ if r {
+ return nil, nil
+ }
+ return nil, errors.New("r is false")
+ })
+ _, err := i.Do()
+ c.Assert(err, qt.IsNotNil)
+ i.Reset()
+ r = true
+ _, err = i.Do()
+ c.Assert(err, qt.IsNil)
+
+}