[Neo-report] r2246 vincent - in /trunk/neo: client/app.py tests/client/testClientApp.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Sat Aug 28 08:34:32 CEST 2010
Author: vincent
Date: Sat Aug 28 08:34:32 2010
New Revision: 2246
Log:
Duplicate tpc_begin calls should raise.
Modified:
trunk/neo/client/app.py
trunk/neo/tests/client/testClientApp.py
Modified: trunk/neo/client/app.py
==============================================================================
--- trunk/neo/client/app.py [iso-8859-1] (original)
+++ trunk/neo/client/app.py [iso-8859-1] Sat Aug 28 08:34:32 2010
@@ -556,7 +556,7 @@ class Application(object):
# First get a transaction, only one is allowed at a time
if self.local_var.txn is transaction:
# We already begin the same transaction
- return
+ raise StorageTransactionError('Duplicate tpc_begin calls')
if self.local_var.txn is not None:
raise NeoException, 'local_var is not clean in tpc_begin'
# use the given TID or request a new one to the master
Modified: trunk/neo/tests/client/testClientApp.py
==============================================================================
--- trunk/neo/tests/client/testClientApp.py [iso-8859-1] (original)
+++ trunk/neo/tests/client/testClientApp.py [iso-8859-1] Sat Aug 28 08:34:32 2010
@@ -384,7 +384,8 @@ class ClientApplicationTests(NeoTestBase
self.assertTrue(app.local_var.txn is txn)
self.assertEquals(app.local_var.tid, tid)
# next, the transaction already begin -> do nothing
- app.tpc_begin(transaction=txn, tid=None)
+ self.assertRaises(StorageTransactionError, app.tpc_begin,
+ transaction=txn, tid=None)
self.assertTrue(app.local_var.txn is txn)
self.assertEquals(app.local_var.tid, tid)
# cancel and start a transaction without tid
@@ -534,7 +535,6 @@ class ClientApplicationTests(NeoTestBase
app.pt = Mock({ 'getCellListForTID': (cell, cell, ) })
app.cp = Mock({ 'getConnForCell': ReturnValues(None, conn), })
app.dispatcher = Mock()
- app.tpc_begin(txn, tid)
self.assertRaises(NEOStorageError, app.tpc_vote, txn,
resolving_tryToResolveConflict)
self.checkAskPacket(conn, Packets.AskStoreTransaction)
@@ -559,7 +559,6 @@ class ClientApplicationTests(NeoTestBase
app.pt = Mock({ 'getCellListForTID': (cell, cell, ) })
app.cp = Mock({ 'getConnForCell': ReturnValues(None, conn), })
app.dispatcher = Mock()
- app.tpc_begin(txn, tid)
app.tpc_vote(txn, resolving_tryToResolveConflict)
self.checkAskStoreTransaction(conn)
self.checkDispatcherRegisterCalled(app, conn)
@@ -656,8 +655,6 @@ class ClientApplicationTests(NeoTestBase
def pending(self, queue):
return not queue.empty()
app.dispatcher = Dispatcher()
- # begin a transaction
- app.tpc_begin(txn, tid)
# conflict occurs on storage 2
app.store(oid1, tid, 'DATA', None, txn)
app.store(oid2, tid, 'DATA', None, txn)
More information about the Neo-report
mailing list