def thread_func(testclass, mainTransaction, funcToRun): self.assertIsNone(LockingTransaction.get()) LockingTransaction._transactions.local = LockingTransaction() LockingTransaction._transactions.local._info = Info(TransactionState.Running, LockingTransaction._transactions.local._startPoint) funcToRun(testclass, mainTransaction) LockingTransaction._transactions = thread_local() self.assertIsNone(LockingTransaction.get())
def thread_func(testclass, mainTransaction, funcToRun): self.assertIsNone(LockingTransaction.get()) LockingTransaction._transactions.local = LockingTransaction() LockingTransaction._transactions.local._info = Info( TransactionState.Running, LockingTransaction._transactions.local._startPoint) funcToRun(testclass, mainTransaction) LockingTransaction._transactions = thread_local() self.assertIsNone(LockingTransaction.get())
def secondary(testclass, mainTransaction): testclass.assertIsInstance(LockingTransaction.get(), LockingTransaction) testclass.assertIsInstance(LockingTransaction.ensureGet(), LockingTransaction) # Make sure we're getting a unique locking transaction in this auxiliary thread testclass.assertNotEqual(LockingTransaction.ensureGet(), mainTransaction)
def testCreateThreadLocal_PASS(self): with running_transaction(self): def secondary(testclass, mainTransaction): testclass.assertIsInstance(LockingTransaction.get(), LockingTransaction) testclass.assertIsInstance(LockingTransaction.ensureGet(), LockingTransaction) # Make sure we're getting a unique locking transaction in this auxiliary thread testclass.assertNotEqual(LockingTransaction.ensureGet(), mainTransaction) self.assertIsInstance(LockingTransaction.get(), LockingTransaction) self.assertIsInstance(LockingTransaction.ensureGet(), LockingTransaction) self.secondary_op(secondary)
def running_transaction(thetest): # Fake a running transaction LockingTransaction._transactions.local = LockingTransaction() LockingTransaction._transactions.local._info = Info(TransactionState.Running, LockingTransaction._transactions.local._startPoint) LockingTransaction.ensureGet()._readPoint = -1 LockingTransaction.transactionCounter = count() LockingTransaction.ensureGet()._startPoint = time() yield # Clean up and remove LockingTransaction we created LockingTransaction._transactions = thread_local() thetest.assertIsNone(LockingTransaction.get())
def running_transaction(thetest): # Fake a running transaction LockingTransaction._transactions.local = LockingTransaction() LockingTransaction._transactions.local._info = Info( TransactionState.Running, LockingTransaction._transactions.local._startPoint) LockingTransaction.ensureGet()._readPoint = -1 LockingTransaction.transactionCounter = count() LockingTransaction.ensureGet()._startPoint = time() yield # Clean up and remove LockingTransaction we created LockingTransaction._transactions = thread_local() thetest.assertIsNone(LockingTransaction.get())
def testCreateThreadLocal_PASS(self): with running_transaction(self): def secondary(testclass, mainTransaction): testclass.assertIsInstance(LockingTransaction.get(), LockingTransaction) testclass.assertIsInstance(LockingTransaction.ensureGet(), LockingTransaction) # Make sure we're getting a unique locking transaction in this auxiliary thread testclass.assertNotEqual(LockingTransaction.ensureGet(), mainTransaction) self.assertIsInstance(LockingTransaction.get(), LockingTransaction) self.assertIsInstance(LockingTransaction.ensureGet(), LockingTransaction) self.secondary_op(secondary)
def secondary(testclass, mainTransaction): testclass.assertIsInstance(LockingTransaction.get(), LockingTransaction) testclass.assertIsInstance(LockingTransaction.ensureGet(), LockingTransaction) # Make sure we're getting a unique locking transaction in this auxiliary thread testclass.assertNotEqual(LockingTransaction.ensureGet(), mainTransaction)
def testNone_PASS(self): self.assertIsNone(LockingTransaction.get())
def testNone_PASS(self): self.assertIsNone(LockingTransaction.get())