From 1b0bf3495ef6e8ccf8e0f379638ae101d73db6dd Mon Sep 17 00:00:00 2001 From: Nuno Cruces Date: Tue, 8 Apr 2025 12:41:46 +0100 Subject: [PATCH] Fix flake. --- driver/driver_test.go | 5 +++-- error.go | 2 +- tests/txn_test.go | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/driver/driver_test.go b/driver/driver_test.go index fb839b8..081b8c6 100644 --- a/driver/driver_test.go +++ b/driver/driver_test.go @@ -248,8 +248,9 @@ func Test_nested_context(t *testing.T) { want(inner, 0) cancel() - if inner.Next() || !errors.Is(inner.Err(), sqlite3.INTERRUPT) { - t.Fatal(inner.Err()) + var terr interface{ Temporary() bool } + if inner.Next() || !errors.As(inner.Err(), &terr) || !terr.Temporary() { + t.Fatalf("got %v, want temporary", inner.Err()) } want(outer, 1) diff --git a/error.go b/error.go index 59982ea..83b057d 100644 --- a/error.go +++ b/error.go @@ -75,7 +75,7 @@ func (e *Error) As(err any) bool { // Temporary returns true for [BUSY] errors. func (e *Error) Temporary() bool { - return e.Code() == BUSY + return e.Code() == BUSY || e.Code() == INTERRUPT } // Timeout returns true for [BUSY_TIMEOUT] errors. diff --git a/tests/txn_test.go b/tests/txn_test.go index 7728724..c1f15fe 100644 --- a/tests/txn_test.go +++ b/tests/txn_test.go @@ -287,8 +287,9 @@ func TestConn_Transaction_busy(t *testing.T) { go cancel() _, err = db2.BeginExclusive() - if !errors.Is(err, sqlite3.BUSY) && !errors.Is(err, sqlite3.INTERRUPT) { - t.Errorf("got %v, want sqlite3.BUSY or sqlite3.INTERRUPT", err) + var terr interface{ Temporary() bool } + if !errors.As(err, &terr) || !terr.Temporary() { + t.Errorf("got %v, want temporary", err) } err = nil