diff options
author | Googler <noreply@google.com> | 2016-10-10 21:37:46 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-10-11 08:45:23 +0000 |
commit | d5f740d9809b84a8aeeb6fb0d70538d7b56b1dcf (patch) | |
tree | d5ec3722620c3e137d270bfe72cec6585366b2d3 /src/java_tools/junitrunner/java/com/google/testing | |
parent | 55ac95198d0441c2c13e415cc3b89e0ddc653cb1 (diff) |
Move MemoizingRequest from c.g.testing.junit.junit4.runner to
c.g.testing.junit.runner.internal.junit4
Other minor changes:
- reduce visibility of MemoizingRequest.createRunner()
- Fix bug in CancellableRequestFactory where createRequest() can be called multiple times
--
MOS_MIGRATED_REVID=135722005
Diffstat (limited to 'src/java_tools/junitrunner/java/com/google/testing')
-rw-r--r-- | src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal/junit4/CancellableRequestFactory.java | 5 | ||||
-rw-r--r-- | src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal/junit4/MemoizingRequest.java (renamed from src/java_tools/junitrunner/java/com/google/testing/junit/junit4/runner/MemoizingRequest.java) | 6 | ||||
-rw-r--r-- | src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4RunnerBaseModule.java | 6 |
3 files changed, 10 insertions, 7 deletions
diff --git a/src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal/junit4/CancellableRequestFactory.java b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal/junit4/CancellableRequestFactory.java index 74ee5de8df..39182c0565 100644 --- a/src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal/junit4/CancellableRequestFactory.java +++ b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal/junit4/CancellableRequestFactory.java @@ -14,7 +14,6 @@ package com.google.testing.junit.runner.internal.junit4; -import com.google.testing.junit.junit4.runner.MemoizingRequest; import com.google.testing.junit.junit4.runner.RunNotifierWrapper; import javax.inject.Inject; import javax.inject.Singleton; @@ -45,9 +44,11 @@ public class CancellableRequestFactory { if (requestCreated) { throw new IllegalStateException("a request was already created"); } + requestCreated = true; + return new MemoizingRequest(delegate) { @Override - protected Runner createRunner(Request delegate) { + Runner createRunner(Request delegate) { return new CancellableRunner(delegate.getRunner()); } }; diff --git a/src/java_tools/junitrunner/java/com/google/testing/junit/junit4/runner/MemoizingRequest.java b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal/junit4/MemoizingRequest.java index d4bb807333..6ff86cec5c 100644 --- a/src/java_tools/junitrunner/java/com/google/testing/junit/junit4/runner/MemoizingRequest.java +++ b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal/junit4/MemoizingRequest.java @@ -12,16 +12,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -package com.google.testing.junit.junit4.runner; +package com.google.testing.junit.runner.internal.junit4; import org.junit.runner.Request; import org.junit.runner.Runner; /** * A {@link Request} that memoizies another {@code Request}. - * This class is meant to be overridden to modify some behaviors. */ -@Deprecated public class MemoizingRequest extends Request { private final Request requestDelegate; private Runner runnerDelegate; @@ -46,7 +44,7 @@ public class MemoizingRequest extends Request { * @param delegate request to delegate to * @return runner */ - protected Runner createRunner(Request delegate) { + Runner createRunner(Request delegate) { return delegate.getRunner(); } } diff --git a/src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4RunnerBaseModule.java b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4RunnerBaseModule.java index 517abd88e5..597a3b1f4a 100644 --- a/src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4RunnerBaseModule.java +++ b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4RunnerBaseModule.java @@ -16,8 +16,8 @@ package com.google.testing.junit.runner.junit4; import static com.google.testing.junit.runner.sharding.ShardingFilters.DEFAULT_SHARDING_STRATEGY; -import com.google.testing.junit.junit4.runner.MemoizingRequest; import com.google.testing.junit.runner.internal.Stdout; +import com.google.testing.junit.runner.internal.junit4.MemoizingRequest; import com.google.testing.junit.runner.model.TestSuiteModel; import com.google.testing.junit.runner.sharding.api.ShardingFilterFactory; import com.google.testing.junit.runner.util.MemoizingSupplier; @@ -72,6 +72,10 @@ public abstract class JUnit4RunnerBaseModule { * JUnit4Runner requests the Runner twice, once to build the model (before * filtering) and once to run the tests (after filtering). Constructing the * Runner can be expensive, so Memoize the Runner. + * + * <p>Note that as of JUnit 4.11, Request.aClass() will memoize the runner, + * but users of Bazel might use an earlier version of JUnit, so to be safe + * we keep the memoization here. */ Request request = Request.aClass(suiteClass); return new MemoizingRequest(request); |