]> granicus.if.org Git - python/commitdiff
Mark tests as skipped when a SQLite version is not supported
authorBerker Peksag <berker.peksag@gmail.com>
Tue, 14 Jun 2016 11:19:02 +0000 (14:19 +0300)
committerBerker Peksag <berker.peksag@gmail.com>
Tue, 14 Jun 2016 11:19:02 +0000 (14:19 +0300)
Lib/sqlite3/test/dbapi.py
Lib/sqlite3/test/regression.py
Lib/sqlite3/test/transactions.py
Lib/sqlite3/test/types.py

index d9c32282a5092d53f47427160468ec90c8121f04..ec42eb792018cbcfb1bb1f8b44efea606f56a65f 100644 (file)
@@ -177,9 +177,9 @@ class ConnectionTests(unittest.TestCase):
             with self.assertRaises(sqlite.OperationalError):
                 cx.execute('insert into test(id) values(1)')
 
+    @unittest.skipIf(sqlite.sqlite_version_info >= (3, 3, 1),
+                     'needs sqlite versions older than 3.3.1')
     def CheckSameThreadErrorOnOldVersion(self):
-        if sqlite.sqlite_version_info >= (3, 3, 1):
-            self.skipTest('test needs sqlite3 versions older than 3.3.1')
         with self.assertRaises(sqlite.NotSupportedError) as cm:
             sqlite.connect(':memory:', check_same_thread=False)
         self.assertEqual(str(cm.exception), 'shared connections not available')
index 0cf9002d8c04d36b06967096da378e9544323dd8..44974b008b9cb5dcfc3c44689762ff95af271818 100644 (file)
@@ -84,9 +84,8 @@ class RegressionTests(unittest.TestCase):
             cur.execute("select 1 x union select " + str(i))
         con.close()
 
+    @unittest.skipIf(sqlite.sqlite_version_info < (3, 2, 2), 'needs sqlite 3.2.2 or newer')
     def CheckOnConflictRollback(self):
-        if sqlite.sqlite_version_info < (3, 2, 2):
-            return
         con = sqlite.connect(":memory:")
         con.execute("create table foo(x, unique(x) on conflict rollback)")
         con.execute("insert into foo(x) values (1)")
index eae26c4f960fa83fdcc2183a533e4730f8aff66c..a25360a7d82a5109b50e36fe2287311547a51c4d 100644 (file)
@@ -111,25 +111,21 @@ class TransactionTests(unittest.TestCase):
         res = self.cur2.fetchall()
         self.assertEqual(len(res), 1)
 
+    @unittest.skipIf(sqlite.sqlite_version_info < (3, 2, 2),
+                     'test hangs on sqlite versions older than 3.2.2')
     def CheckRaiseTimeout(self):
-        if sqlite.sqlite_version_info < (3, 2, 2):
-            # This will fail (hang) on earlier versions of sqlite.
-            # Determine exact version it was fixed. 3.2.1 hangs.
-            return
         self.cur1.execute("create table test(i)")
         self.cur1.execute("insert into test(i) values (5)")
         with self.assertRaises(sqlite.OperationalError):
             self.cur2.execute("insert into test(i) values (5)")
 
+    @unittest.skipIf(sqlite.sqlite_version_info < (3, 2, 2),
+                     'test hangs on sqlite versions older than 3.2.2')
     def CheckLocking(self):
         """
         This tests the improved concurrency with pysqlite 2.3.4. You needed
         to roll back con2 before you could commit con1.
         """
-        if sqlite.sqlite_version_info < (3, 2, 2):
-            # This will fail (hang) on earlier versions of sqlite.
-            # Determine exact version it was fixed. 3.2.1 hangs.
-            return
         self.cur1.execute("create table test(i)")
         self.cur1.execute("insert into test(i) values (5)")
         with self.assertRaises(sqlite.OperationalError):
index f7c8f9cee29aec7e2934530ad6f2132ea0cefdea..6667bc868601a0e10f582c0cf93a12547789b66c 100644 (file)
@@ -340,11 +340,9 @@ class DateTimeTests(unittest.TestCase):
         ts2 = self.cur.fetchone()[0]
         self.assertEqual(ts, ts2)
 
+    @unittest.skipIf(sqlite.sqlite_version_info < (3, 1),
+                     'the date functions are available on 3.1 or later')
     def CheckSqlTimestamp(self):
-        # The date functions are only available in SQLite version 3.1 or later
-        if sqlite.sqlite_version_info < (3, 1):
-            return
-
         # SQLite's current_timestamp uses UTC time, while datetime.datetime.now() uses local time.
         now = datetime.datetime.now()
         self.cur.execute("insert into test(ts) values (current_timestamp)")