Replace more boilerplate code with modern unittest features in sqlite3 tests

This commit is contained in:
Berker Peksag 2016-06-14 00:42:50 +03:00
parent f5b1af6df5
commit 48b5c98e6e
3 changed files with 6 additions and 13 deletions

View File

@ -335,8 +335,7 @@ class CursorTests(unittest.TestCase):
def CheckTotalChanges(self):
self.cu.execute("insert into test(name) values ('foo')")
self.cu.execute("insert into test(name) values ('foo')")
if self.cx.total_changes < 2:
self.fail("total changes reported wrong value")
self.assertLess(2, self.cx.total_changes, msg='total changes reported wrong value')
# Checks for executemany:
# Sequences are required by the DB-API, iterators

View File

@ -61,8 +61,8 @@ class CollationTests(unittest.TestCase):
) order by x collate mycoll
"""
result = con.execute(sql).fetchall()
if result[0][0] != "c" or result[1][0] != "b" or result[2][0] != "a":
self.fail("the expected order was not returned")
self.assertEqual(result, [('c',), ('b',), ('a',)],
msg='the expected order was not returned')
con.create_collation("mycoll", None)
with self.assertRaises(sqlite.OperationalError) as cm:

View File

@ -134,17 +134,11 @@ class RegressionTests(unittest.TestCase):
def CheckErrorMsgDecodeError(self):
# When porting the module to Python 3.0, the error message about
# decoding errors disappeared. This verifies they're back again.
failure = None
try:
with self.assertRaises(sqlite.OperationalError) as cm:
self.con.execute("select 'xxx' || ? || 'yyy' colname",
(bytes(bytearray([250])),)).fetchone()
failure = "should have raised an OperationalError with detailed description"
except sqlite.OperationalError as e:
msg = e.args[0]
if not msg.startswith("Could not decode to UTF-8 column 'colname' with text 'xxx"):
failure = "OperationalError did not have expected description text"
if failure:
self.fail(failure)
msg = "Could not decode to UTF-8 column 'colname' with text 'xxx"
self.assertIn(msg, str(cm.exception))
def CheckRegisterAdapter(self):
"""