mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Mark tests as skipped when a SQLite version is not supported
This commit is contained in:
		
							parent
							
								
									2b50899a28
								
							
						
					
					
						commit
						f85bce74db
					
				
					 4 changed files with 9 additions and 16 deletions
				
			
		|  | @ -177,9 +177,9 @@ def CheckOpenUri(self): | |||
|             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') | ||||
|  |  | |||
|  | @ -84,9 +84,8 @@ def CheckStatementFinalizationOnCloseDb(self): | |||
|             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)") | ||||
|  |  | |||
|  | @ -111,25 +111,21 @@ def CheckToggleAutoCommit(self): | |||
|         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): | ||||
|  |  | |||
|  | @ -340,11 +340,9 @@ def CheckSqliteTimestamp(self): | |||
|         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)") | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Berker Peksag
						Berker Peksag