aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2017-05-08 14:49:00 -0400
committerGravatar Kristina Chodorow <kchodorow@google.com>2017-05-09 10:52:36 -0400
commit1f75476f7a2f1abb449d538ef865f51ac138d013 (patch)
tree7335b500ba5bb34b5f97fb4cd30917376a38810e /src/test/java/com
parentcc0f6a62d5262760d34937547470a213f6bd5b72 (diff)
Clean up AbstractQueueVisitor's constructors.
The "concurrent" bit was supposedly around for testing purposes, but who knows if it even works anymore. Making other callsites explicitly state their ErrorClassifier gets us down to two constructors, one of which can delegate to the other. I think having both these constructors is useful because there's a linkage between creating a new executor service and specifying that the AQV should shut down the service at the end of the visitation. And using a static create() method doesn't work because of AQV's inheritance model. PiperOrigin-RevId: 155406771
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/ConcurrentMultimapWithHeadElementTest.java16
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java16
-rw-r--r--src/test/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitorTest.java41
3 files changed, 46 insertions, 27 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ConcurrentMultimapWithHeadElementTest.java b/src/test/java/com/google/devtools/build/lib/actions/ConcurrentMultimapWithHeadElementTest.java
index 456b394a85..1ed396aae6 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ConcurrentMultimapWithHeadElementTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ConcurrentMultimapWithHeadElementTest.java
@@ -20,17 +20,16 @@ import static org.junit.Assert.assertTrue;
import com.google.common.testing.GcFinalization;
import com.google.devtools.build.lib.concurrent.AbstractQueueVisitor;
+import com.google.devtools.build.lib.concurrent.ErrorClassifier;
import com.google.devtools.build.lib.testutil.TestThread;
import com.google.devtools.build.lib.testutil.TestUtils;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
import java.lang.ref.WeakReference;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
/**
* Tests for ConcurrentMultimapWithHeadElement.
@@ -128,19 +127,20 @@ public class ConcurrentMultimapWithHeadElementTest {
}
}
- private class StressTester extends AbstractQueueVisitor {
+ private static class StressTester extends AbstractQueueVisitor {
private final ConcurrentMultimapWithHeadElement<Boolean, Integer> multimap =
new ConcurrentMultimapWithHeadElement<>();
private final AtomicInteger actionCount = new AtomicInteger(0);
private StressTester() {
super(
- /*concurrent=*/ true,
200,
1,
TimeUnit.SECONDS,
/*failFastOnException=*/ true,
- "action-graph-test");
+ "action-graph-test",
+ AbstractQueueVisitor.EXECUTOR_FACTORY,
+ ErrorClassifier.DEFAULT);
}
private void addAndRemove(final Boolean key, final Integer add, final Integer remove) {
diff --git a/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java b/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java
index a527549e6c..d83cf815d3 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java
@@ -21,18 +21,17 @@ import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictEx
import com.google.devtools.build.lib.actions.util.ActionsTestUtil.UncheckedActionConflictException;
import com.google.devtools.build.lib.actions.util.TestAction;
import com.google.devtools.build.lib.concurrent.AbstractQueueVisitor;
+import com.google.devtools.build.lib.concurrent.ErrorClassifier;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
/**
* Tests for {@link MapBasedActionGraph}.
@@ -73,7 +72,7 @@ public class MapBasedActionGraphTest {
actionGraph.unregisterAction(action);
}
- private class ActionRegisterer extends AbstractQueueVisitor {
+ private static class ActionRegisterer extends AbstractQueueVisitor {
private final MutableActionGraph graph = new MapBasedActionGraph();
private final Artifact output;
// Just to occasionally add actions that were already present.
@@ -82,12 +81,13 @@ public class MapBasedActionGraphTest {
private ActionRegisterer() {
super(
- /*concurrent=*/ true,
200,
1,
TimeUnit.SECONDS,
/*failFastOnException=*/ true,
- "action-graph-test");
+ "action-graph-test",
+ AbstractQueueVisitor.EXECUTOR_FACTORY,
+ ErrorClassifier.DEFAULT);
FileSystem fileSystem = new InMemoryFileSystem(BlazeClock.instance());
Path path = fileSystem.getPath("/root/foo");
output = new Artifact(path, Root.asDerivedRoot(path));
diff --git a/src/test/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitorTest.java b/src/test/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitorTest.java
index 7be04c4547..5aa63dd94c 100644
--- a/src/test/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitorTest.java
@@ -462,7 +462,6 @@ public class AbstractQueueVisitorTest {
};
AbstractQueueVisitor visitor =
new AbstractQueueVisitor(
- /*concurrent=*/ true,
executor,
/*shutdownOnCompletion=*/ true,
/*failFastOnException=*/ false,
@@ -557,11 +556,18 @@ public class AbstractQueueVisitorTest {
private final Object lock = new Object();
public CountingQueueVisitor() {
- super(/*parallelism=*/ 5, /*keepAlive=*/ 3L, TimeUnit.SECONDS, THREAD_NAME);
+ super(
+ /*parallelism=*/ 5,
+ /*keepAlive=*/ 3L,
+ TimeUnit.SECONDS,
+ /*failFast=*/ false,
+ THREAD_NAME,
+ AbstractQueueVisitor.EXECUTOR_FACTORY,
+ ErrorClassifier.DEFAULT);
}
- public CountingQueueVisitor(ThreadPoolExecutor executor) {
- super(executor, false, true);
+ CountingQueueVisitor(ThreadPoolExecutor executor) {
+ super(executor, false, true, ErrorClassifier.DEFAULT);
}
public void enqueue() {
@@ -588,23 +594,36 @@ public class AbstractQueueVisitorTest {
private final static String THREAD_NAME = "BlazeTest ConcreteQueueVisitor";
- public ConcreteQueueVisitor() {
- super(5, 3L, TimeUnit.SECONDS, THREAD_NAME);
+ ConcreteQueueVisitor() {
+ super(
+ 5,
+ 3L,
+ TimeUnit.SECONDS,
+ /*failFast=*/ false,
+ THREAD_NAME,
+ AbstractQueueVisitor.EXECUTOR_FACTORY,
+ ErrorClassifier.DEFAULT);
}
- public ConcreteQueueVisitor(boolean failFast) {
- super(true, 5, 3L, TimeUnit.SECONDS, failFast, THREAD_NAME);
+ ConcreteQueueVisitor(boolean failFast) {
+ super(
+ 5,
+ 3L,
+ TimeUnit.SECONDS,
+ failFast,
+ THREAD_NAME,
+ AbstractQueueVisitor.EXECUTOR_FACTORY,
+ ErrorClassifier.DEFAULT);
}
- public ConcreteQueueVisitor(ThreadPoolExecutor executor, boolean failFast) {
- super(executor, /*shutdownOnCompletion=*/ false, failFast);
+ ConcreteQueueVisitor(ThreadPoolExecutor executor, boolean failFast) {
+ super(executor, /*shutdownOnCompletion=*/ false, failFast, ErrorClassifier.DEFAULT);
}
}
private static AbstractQueueVisitor createQueueVisitorWithConstantErrorClassification(
ThreadPoolExecutor executor, final ErrorClassification classification) {
return new AbstractQueueVisitor(
- /*concurrent=*/ true,
executor,
/*shutdownOnCompletion=*/ true,
/*failFastOnException=*/ false,