]> granicus.if.org Git - python/commitdiff
Speculative checkin (requires approval of Gerhard Haering)
authorNeal Norwitz <nnorwitz@gmail.com>
Thu, 15 Jun 2006 04:54:29 +0000 (04:54 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Thu, 15 Jun 2006 04:54:29 +0000 (04:54 +0000)
This backs out the test changes in 46962 which prevented crashes
by not running the tests via a version check.  All the version checks
added in that rev were removed from the tests.

Code was added to the error handler in connection.c that seems
to work with older versions of sqlite including 3.1.3.

Lib/sqlite3/test/hooks.py
Lib/sqlite3/test/userfunctions.py
Modules/_sqlite/connection.c

index 7deab983f8c378c24ebe2fe56b13b3e2d9a613cb..b10b3efb170d00625b7a5e453c466c9e087c431d 100644 (file)
@@ -48,8 +48,6 @@ class CollationTests(unittest.TestCase):
             pass
 
     def CheckCollationIsUsed(self):
-        if sqlite.version_info < (3, 2, 1):     # old SQLite versions crash on this test
-            return
         def mycoll(x, y):
             # reverse order
             return -cmp(x, y)
index 587d39c876ba5d6c5bd90e56c5da3c57382bb75f..215178c02398f4245a663b1c8de08e3ffdcae0ce 100644 (file)
@@ -200,8 +200,6 @@ class FunctionTests(unittest.TestCase):
         self.failUnlessEqual(val, buffer("blob"))
 
     def CheckFuncException(self):
-        if sqlite.version_info < (3, 3, 3):     # don't raise bug in earlier SQLite versions
-            return
         cur = self.con.cursor()
         try:
             cur.execute("select raiseexception()")
@@ -285,8 +283,6 @@ class AggregateTests(unittest.TestCase):
             self.failUnlessEqual(e.args[0], "AggrNoStep instance has no attribute 'step'")
 
     def CheckAggrNoFinalize(self):
-        if sqlite.version_info < (3, 3, 3):     # don't raise bug in earlier SQLite versions
-            return
         cur = self.con.cursor()
         try:
             cur.execute("select nofinalize(t) from test")
@@ -296,8 +292,6 @@ class AggregateTests(unittest.TestCase):
             self.failUnlessEqual(e.args[0], "user-defined aggregate's 'finalize' method raised error")
 
     def CheckAggrExceptionInInit(self):
-        if sqlite.version_info < (3, 3, 3):     # don't raise bug in earlier SQLite versions
-            return
         cur = self.con.cursor()
         try:
             cur.execute("select excInit(t) from test")
@@ -307,8 +301,6 @@ class AggregateTests(unittest.TestCase):
             self.failUnlessEqual(e.args[0], "user-defined aggregate's '__init__' method raised error")
 
     def CheckAggrExceptionInStep(self):
-        if sqlite.version_info < (3, 3, 3):     # don't raise bug in earlier SQLite versions
-            return
         cur = self.con.cursor()
         try:
             cur.execute("select excStep(t) from test")
@@ -318,8 +310,6 @@ class AggregateTests(unittest.TestCase):
             self.failUnlessEqual(e.args[0], "user-defined aggregate's 'step' method raised error")
 
     def CheckAggrExceptionInFinalize(self):
-        if sqlite.version_info < (3, 3, 3):     # don't raise bug in earlier SQLite versions
-            return
         cur = self.con.cursor()
         try:
             cur.execute("select excFinalize(t) from test")
index f63d88c21da2a2243aa2f0ff7a98d171d23165e5..ca7aad84ec7bbf7573da7c4ce0d40ae760bd788d 100644 (file)
@@ -42,6 +42,8 @@ void _sqlite3_result_error(sqlite3_context* ctx, const char* errmsg, int len)
      * segfaults, depending on the SQLite version */
 #if SQLITE_VERSION_NUMBER >= 3003003
     sqlite3_result_error(ctx, errmsg, len);
+#else
+    PyErr_SetString(OperationalError, errmsg);
 #endif
 }