You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dg...@apache.org on 2018/08/29 12:17:52 UTC
[10/12] ignite git commit: IGNITE-1678 test refactoring
IGNITE-1678 test refactoring
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/589297a4
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/589297a4
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/589297a4
Branch: refs/heads/ignite-1678
Commit: 589297a406421a72254f949a1b0cb19cf14b9a26
Parents: 0415064
Author: Dmitriy Govorukhin <dm...@gmail.com>
Authored: Tue Aug 28 12:42:21 2018 +0300
Committer: Dmitriy Govorukhin <dm...@gmail.com>
Committed: Tue Aug 28 12:42:21 2018 +0300
----------------------------------------------------------------------
...AtomicSequenceMultiThreadedAbstractTest.java | 105 ++++++++++---------
1 file changed, 58 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/589297a4/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAtomicSequenceMultiThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAtomicSequenceMultiThreadedAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAtomicSequenceMultiThreadedAbstractTest.java
index 10b57e8..b105aac 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAtomicSequenceMultiThreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAtomicSequenceMultiThreadedAbstractTest.java
@@ -28,6 +28,8 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.GridTestUtils;
+import static org.apache.ignite.testframework.GridTestUtils.waitForCondition;
+
/**
* Cache partitioned multi-threaded tests.
*/
@@ -53,11 +55,13 @@ public abstract class GridCacheAtomicSequenceMultiThreadedAbstractTest extends I
return cfg;
}
- /** @throws Exception If failed. */
+ /**
+ * @throws Exception If failed.
+ */
public void testValues() throws Exception {
String seqName = UUID.randomUUID().toString();
- final GridCacheAtomicSequenceImpl seq = (GridCacheAtomicSequenceImpl)grid(0).atomicSequence(seqName, 0, true);
+ IgniteAtomicSequence seq = grid(0).atomicSequence(seqName, 0, true);
// Local reservations.
assertEquals(1, seq.incrementAndGet());
@@ -69,119 +73,117 @@ public abstract class GridCacheAtomicSequenceMultiThreadedAbstractTest extends I
assertEquals(9, seq.addAndGet(2));
assertEquals(new Long(9L), U.field(seq, "locVal"));
- assertEquals(new Long(10L), U.field(seq, "upBound"));
+ assertEquals(new Long(9L), U.field(seq, "upBound"));
// Cache calls.
assertEquals(10, seq.incrementAndGet());
assertEquals(new Long(10L), U.field(seq, "locVal"));
- assertEquals(new Long(20L), U.field(seq, "upBound"));
+ assertEquals(new Long(19L), U.field(seq, "upBound"));
seq.addAndGet(9);
assertEquals(new Long(19L), U.field(seq, "locVal"));
- assertEquals(new Long(20L), U.field(seq, "upBound"));
+ assertEquals(new Long(19L), U.field(seq, "upBound"));
assertEquals(20L, seq.incrementAndGet());
assertEquals(new Long(20L), U.field(seq, "locVal"));
- assertEquals(new Long(30L), U.field(seq, "upBound"));
+ assertEquals(new Long(29L), U.field(seq, "upBound"));
seq.addAndGet(9);
assertEquals(new Long(29L), U.field(seq, "locVal"));
- assertEquals(new Long(30L), U.field(seq, "upBound"));
+ assertEquals(new Long(29L), U.field(seq, "upBound"));
assertEquals(29, seq.getAndIncrement());
assertEquals(new Long(30L), U.field(seq, "locVal"));
- assertEquals(new Long(40L), U.field(seq, "upBound"));
+ assertEquals(new Long(39L), U.field(seq, "upBound"));
seq.addAndGet(9);
assertEquals(new Long(39L), U.field(seq, "locVal"));
- assertEquals(new Long(40L), U.field(seq, "upBound"));
+ assertEquals(new Long(39L), U.field(seq, "upBound"));
assertEquals(39L, seq.getAndIncrement());
assertEquals(new Long(40L), U.field(seq, "locVal"));
- assertEquals(new Long(50L), U.field(seq, "upBound"));
+ assertEquals(new Long(49L), U.field(seq, "upBound"));
seq.addAndGet(9);
assertEquals(new Long(49L), U.field(seq, "locVal"));
- assertEquals(new Long(50L), U.field(seq, "upBound"));
+ assertEquals(new Long(49L), U.field(seq, "upBound"));
assertEquals(50, seq.addAndGet(1));
assertEquals(new Long(50L), U.field(seq, "locVal"));
- assertEquals(new Long(60L), U.field(seq, "upBound"));
+ assertEquals(new Long(59L), U.field(seq, "upBound"));
seq.addAndGet(9);
assertEquals(new Long(59L), U.field(seq, "locVal"));
- assertEquals(new Long(60L), U.field(seq, "upBound"));
+ assertEquals(new Long(59L), U.field(seq, "upBound"));
assertEquals(59, seq.getAndAdd(1));
assertEquals(new Long(60L), U.field(seq, "locVal"));
- assertEquals(new Long(70L), U.field(seq, "upBound"));
+ assertEquals(new Long(69L), U.field(seq, "upBound"));
}
- /** @throws Exception If failed. */
+ /**
+ * @throws Exception If failed.
+ */
public void testValues2() throws Exception {
+ AtomicConfiguration acfg = atomicConfiguration();
+
+ acfg.setAtomicSequenceReservePercentage(80);
+
String seqName = UUID.randomUUID().toString();
- final GridCacheAtomicSequenceImpl seq = (GridCacheAtomicSequenceImpl)grid(0).atomicSequence(seqName, 10, true);
+ IgniteAtomicSequence seq = grid(0).atomicSequence(seqName, acfg, 10, true);
- assertSeqFields(seq, /*locVal*/ 10, /*upBound*/ 20, /*resBound*/ 18, /*resBottomBound*/ 0, /*resUpBound*/ 0);
+ assertSeqFields(seq, /*locVal*/ 10, /*upBound*/ 19, /*resBound*/ 17, /*resBottomBound*/ 10, /*resUpBound*/ 19);
- assertEquals(17, seq.addAndGet(7));
+ assertEquals(16, seq.addAndGet(6));
- assertSeqFields(seq, /*locVal*/ 17, /*upBound*/ 20, /*resBound*/ 18, /*resBottomBound*/ 0, /*resUpBound*/ 0);
+ assertSeqFields(seq, /*locVal*/ 16, /*upBound*/ 19, /*resBound*/ 17, /*resBottomBound*/ 10, /*resUpBound*/ 19);
- assertEquals(18, seq.incrementAndGet());
+ assertEquals(17, seq.incrementAndGet());
- GridTestUtils.waitForCondition(new GridAbsPredicate() {
- @Override public boolean apply() {
- return !F.eq(U.field(seq, "isReserveFutResultsProcessed"), true);
- }
- }, 1000);
+ assertEquals(18, seq.incrementAndGet());
- assertSeqFields(seq, /*locVal*/ 18, /*upBound*/ 20, /*resBound*/ 28, /*resBottomBound*/ 20, /*resUpBound*/ 30);
+ assertSeqFields(seq, /*locVal*/ 18, /*upBound*/ 19, /*resBound*/ 17, /*resBottomBound*/ 10, /*resUpBound*/ 19);
assertEquals(19, seq.incrementAndGet());
- assertSeqFields(seq, /*locVal*/ 19, /*upBound*/ 20, /*resBound*/ 28, /*resBottomBound*/ 20, /*resUpBound*/ 30);
+ assertSeqFields(seq, /*locVal*/ 19, /*upBound*/ 19, /*resBound*/ 17, /*resBottomBound*/ 10, /*resUpBound*/ 19);
assertEquals(20, seq.incrementAndGet());
- assertSeqFields(seq, /*locVal*/ 20, /*upBound*/ 30, /*resBound*/ 28, /*resBottomBound*/ 20, /*resUpBound*/ 30);
+ assertSeqFields(seq, /*locVal*/ 20, /*upBound*/ 29, /*resBound*/ 27, /*resBottomBound*/ 20, /*resUpBound*/ 29);
}
/** @throws Exception If failed. */
public void testValuesPercentage50() throws Exception {
- String seqName = UUID.randomUUID().toString();
+ AtomicConfiguration acfg = atomicConfiguration();
- final GridCacheAtomicSequenceImpl seq = (GridCacheAtomicSequenceImpl)grid(0).atomicSequence(seqName, 0, true);
+ acfg.setAtomicSequenceReservePercentage(50);
+
+ String seqName = UUID.randomUUID().toString();
- seq.reservePercentage(50);
+ IgniteAtomicSequence seq = grid(0).atomicSequence(seqName, acfg, 0, true);
- assertSeqFields(seq, /*locVal*/ 0, /*upBound*/ 10, /*resBound*/ 8, /*resBottomBound*/ 0, /*resUpBound*/ 0);
+ assertSeqFields(seq, /*locVal*/ 0, /*upBound*/ 9, /*resBound*/ 4, /*resBottomBound*/ 0, /*resUpBound*/ 9);
// Exhaust a first reserved range to get recalculated values according to new reserve percentage.
assertEquals(10, seq.addAndGet(10));
- assertSeqFields(seq, /*locVal*/ 10, /*upBound*/ 20, /*resBound*/ 15, /*resBottomBound*/ 10, /*resUpBound*/ 20);
+ assertSeqFields(seq, /*locVal*/ 10, /*upBound*/ 19, /*resBound*/ 14, /*resBottomBound*/ 10, /*resUpBound*/ 19);
assertEquals(15, seq.addAndGet(5));
- GridTestUtils.waitForCondition(new GridAbsPredicate() {
- @Override public boolean apply() {
- return !F.eq(U.field(seq, "isReserveFutResultsProcessed"), true);
- }
- }, 1000);
-
assertSeqFields(seq, /*locVal*/ 15, /*upBound*/ 20, /*resBound*/ 25, /*resBottomBound*/ 20, /*resUpBound*/ 30);
}
@@ -202,7 +204,7 @@ public abstract class GridCacheAtomicSequenceMultiThreadedAbstractTest extends I
assertEquals(11, seq.addAndGet(1));
- GridTestUtils.waitForCondition(new GridAbsPredicate() {
+ waitForCondition(new GridAbsPredicate() {
@Override public boolean apply() {
return !F.eq(U.field(seq, "isReserveFutResultsProcessed"), true);
}
@@ -282,7 +284,7 @@ public abstract class GridCacheAtomicSequenceMultiThreadedAbstractTest extends I
// New reservation (reverse order)
assertEquals(18, seq2.incrementAndGet());
- assertTrue(GridTestUtils.waitForCondition(new GridAbsPredicate() {
+ assertTrue(waitForCondition(new GridAbsPredicate() {
@Override public boolean apply() {
return !F.eq(U.field(seq2, "isReserveFutResultsProcessed"), true);
}
@@ -290,7 +292,7 @@ public abstract class GridCacheAtomicSequenceMultiThreadedAbstractTest extends I
assertEquals(8, seq1.incrementAndGet());
- assertTrue(GridTestUtils.waitForCondition(new GridAbsPredicate() {
+ assertTrue(waitForCondition(new GridAbsPredicate() {
@Override public boolean apply() {
return !F.eq(U.field(seq1, "isReserveFutResultsProcessed"), true);
}
@@ -318,13 +320,22 @@ public abstract class GridCacheAtomicSequenceMultiThreadedAbstractTest extends I
* @param reservedBottomBound Reservation bottom bound.
* @param reservedUpBound Reservation up bound.
*/
- private void assertSeqFields(GridCacheAtomicSequenceImpl seq, long locVal, long upBound, long newReservationLine,
- long reservedBottomBound, long reservedUpBound) {
+ private void assertSeqFields(
+ IgniteAtomicSequence seq,
+ long locVal,
+ long upBound,
+ long newReservationLine,
+ long reservedBottomBound,
+ long reservedUpBound
+ ) {
assertEquals(new Long(locVal), U.field(seq, "locVal"));
assertEquals(new Long(upBound), U.field(seq, "upBound"));
- assertEquals(new Long(newReservationLine), U.field(seq, "newReservationLine"));
- assertEquals(new Long(reservedBottomBound), U.field(seq, "reservedBottomBound"));
- assertEquals(new Long(reservedUpBound), U.field(seq, "reservedUpBound"));
+
+ Object bounds = U.field(U.<Object>field(seq, "reservationCtx"), "bounds");
+
+ assertEquals(new Long(newReservationLine), U.field(bounds, "newReservationLine"));
+ assertEquals(new Long(reservedBottomBound), U.field(bounds, "reservedBottomBound"));
+ assertEquals(new Long(reservedUpBound), U.field(bounds, "reservedUpBound"));
}
/** @throws Exception If failed. */