@@ -274,6 +274,9 @@ def trace(*args):
274274 encoded = con .execute ("select jsonb(?)" , ("""[0x1234, 4., .3, "\\ 0 𐌼𐌰𐌲 𐌲𐌻𐌴𐍃 𐌹̈𐍄𐌰𐌽", "\\ '", "\\ "", "\\ u1234"]""" ,)).get
275275 apsw .jsonb_decode (encoded )
276276
277+ if expect_exception :
278+ return
279+
277280 # fts5
278281 con .fts5_tokenizer ("unicode61" , ["remove_diacritics" , "1" ])
279282
@@ -356,6 +359,9 @@ def identity(api, param):
356359
357360 con .execute ("select identity(testfts,a) from testfts('e OR 5')" ).get
358361
362+ if expect_exception :
363+ return
364+
359365 session = apsw .Session (con , "main" )
360366 session .attach ()
361367 con .execute ("""create table s1(one PRIMARY KEY, two); insert into s1 values(3, 4);""" )
@@ -386,6 +392,9 @@ def __call__(self, data):
386392
387393 apsw .Changeset .concat_stream (StreamInput (changeset ), StreamInput (changeset2 ), StreamOutput ())
388394
395+ if expect_exception :
396+ return
397+
389398 class Source :
390399 def Connect (self , * args ):
391400 con .vtab_config (apsw .SQLITE_VTAB_CONSTRAINT_SUPPORT , 1 )
@@ -461,6 +470,9 @@ def Close(self):
461470
462471 con .drop_modules (["something" , "vtable" , "something else" ])
463472
473+ if expect_exception :
474+ return
475+
464476 con .set_profile (lambda : 1 )
465477 con .set_profile (None )
466478
@@ -1057,6 +1069,8 @@ def verify_exception(self, tested):
10571069 # we deliberately ignore errors getting VFSNAMES
10581070 if tested [- 1 ][0 ] == "PyUnicode_AsUTF8" and tested [- 1 ][4 ] in {"qualname" , "module" }:
10591071 ok = True
1072+ elif tested [- 1 ][0 ] == "PyObject_GetAttr" :
1073+ ok = True
10601074 elif tested [- 1 ][0 ] == "sqlite3_mprintf" :
10611075 ok = True
10621076 elif tested [- 1 ][0 ] == "Py_EnterRecursiveCall" and tested [- 1 ][2 ] == "jsonb_decode_one" :
0 commit comments