summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorBrian S. O'Neill <bronee@gmail.com>2008-03-25 15:00:06 +0000
committerBrian S. O'Neill <bronee@gmail.com>2008-03-25 15:00:06 +0000
commit71952848c6fac8d9105e5cf08db7fb76fb77cf5c (patch)
tree59321514e7ea56909548c5ca30cb3292a04d3097 /src/test
parentcfe4ca5e637e07cb3087f5b3cc86ff0f42764a93 (diff)
More fixes for bug that allowed a transaction to be attached to multiple threads.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/amazon/carbonado/spi/TestTransactionManager.java26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/test/java/com/amazon/carbonado/spi/TestTransactionManager.java b/src/test/java/com/amazon/carbonado/spi/TestTransactionManager.java
index 8747424..1029a3d 100644
--- a/src/test/java/com/amazon/carbonado/spi/TestTransactionManager.java
+++ b/src/test/java/com/amazon/carbonado/spi/TestTransactionManager.java
@@ -71,7 +71,7 @@ public class TestTransactionManager extends TestCase {
ExecutorService es = Executors.newSingleThreadExecutor();
- Transaction txn2 = es.submit(new Callable<Transaction>() {
+ final Transaction txn2 = es.submit(new Callable<Transaction>() {
public Transaction call() {
return mTxnMgr.localScope().enter(null);
}
@@ -91,6 +91,18 @@ public class TestTransactionManager extends TestCase {
txn.detach();
+ try {
+ txn2.attach();
+ fail();
+ } catch (IllegalStateException e) {
+ }
+
+ es.submit(new Runnable() {
+ public void run() {
+ txn2.detach();
+ }
+ }).get();
+
txn2.attach();
txn2.detach();
txn2.attach();
@@ -101,11 +113,7 @@ public class TestTransactionManager extends TestCase {
} catch (IllegalStateException e) {
}
- try {
- txn.detach();
- fail();
- } catch (IllegalStateException e) {
- }
+ txn.detach();
txn2.exit();
@@ -115,11 +123,7 @@ public class TestTransactionManager extends TestCase {
} catch (IllegalStateException e) {
}
- try {
- txn.detach();
- fail();
- } catch (IllegalStateException e) {
- }
+ txn.detach();
txn2.detach();