This is an automated email from the ASF dual-hosted git repository.

lcwik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 7730b45  [BEAM-10688] Euphoria assumes that all type descriptors are 
resolvable to coders (and serializable) which isn't true.
     new dce1eb8  Merge pull request #12547 from lukecwik/beam10688
7730b45 is described below

commit 7730b459aca8b4d6586080b1184445ed81fd7d25
Author: Luke Cwik <[email protected]>
AuthorDate: Mon Aug 10 20:54:56 2020 -0700

    [BEAM-10688] Euphoria assumes that all type descriptors are resolvable to 
coders (and serializable) which isn't true.
    
    Euphoria should be propagating forward coders and not type descriptors as a 
longer term solution.
    I also fixed the tests to specify @RunWith because in certain scenarios 
JUnit may fail to detect the tests.
---
 .../sdk/extensions/euphoria/core/client/operator/base/Operator.java  | 2 +-
 .../beam/sdk/extensions/euphoria/core/client/type/TypeAwareness.java | 5 ++++-
 .../beam/sdk/extensions/euphoria/core/client/lib/SplitTest.java      | 3 +++
 .../sdk/extensions/euphoria/core/client/operator/CountByKeyTest.java | 3 +++
 .../sdk/extensions/euphoria/core/client/operator/DistinctTest.java   | 3 +++
 .../sdk/extensions/euphoria/core/client/operator/FilterTest.java     | 3 +++
 .../sdk/extensions/euphoria/core/client/operator/FlatMapTest.java    | 3 +++
 .../beam/sdk/extensions/euphoria/core/client/operator/JoinTest.java  | 3 +++
 .../extensions/euphoria/core/client/operator/MapElementsTest.java    | 3 +++
 .../extensions/euphoria/core/client/operator/ReduceByKeyTest.java    | 3 +++
 .../extensions/euphoria/core/client/operator/ReduceWindowTest.java   | 3 +++
 .../sdk/extensions/euphoria/core/client/operator/SumByKeyTest.java   | 3 +++
 .../sdk/extensions/euphoria/core/client/operator/TopPerKeyTest.java  | 3 +++
 .../beam/sdk/extensions/euphoria/core/client/operator/UnionTest.java | 3 +++
 .../beam/sdk/extensions/euphoria/core/client/util/IOUtilsTest.java   | 3 +++
 .../beam/sdk/extensions/euphoria/core/client/util/SumsTest.java      | 3 +++
 .../sdk/extensions/euphoria/core/docs/DocumentationExamplesTest.java | 3 +++
 .../sdk/extensions/euphoria/core/testkit/BroadcastHashJoinTest.java  | 3 +++
 .../beam/sdk/extensions/euphoria/core/testkit/CountByKeyTest.java    | 3 +++
 .../beam/sdk/extensions/euphoria/core/testkit/DistinctTest.java      | 3 +++
 .../apache/beam/sdk/extensions/euphoria/core/testkit/FilterTest.java | 3 +++
 .../beam/sdk/extensions/euphoria/core/testkit/FlatMapTest.java       | 3 +++
 .../apache/beam/sdk/extensions/euphoria/core/testkit/JoinTest.java   | 3 +++
 .../beam/sdk/extensions/euphoria/core/testkit/MapElementsTest.java   | 3 +++
 .../beam/sdk/extensions/euphoria/core/testkit/ReduceByKeyTest.java   | 3 +++
 .../beam/sdk/extensions/euphoria/core/testkit/ReduceWindowTest.java  | 3 +++
 .../beam/sdk/extensions/euphoria/core/testkit/SumByKeyTest.java      | 3 +++
 .../beam/sdk/extensions/euphoria/core/testkit/TopPerKeyTest.java     | 3 +++
 .../apache/beam/sdk/extensions/euphoria/core/testkit/UnionTest.java  | 3 +++
 .../euphoria/core/translate/BeamMetricsTranslationTest.java          | 3 +++
 .../euphoria/core/translate/BroadcastHashJoinTranslatorTest.java     | 3 +++
 .../euphoria/core/translate/SingleJvmAccumulatorProviderTest.java    | 3 +++
 .../euphoria/core/translate/TimestampExtractTransformTest.java       | 3 +++
 .../euphoria/core/translate/collector/SingleValueCollectorTest.java  | 3 +++
 34 files changed, 101 insertions(+), 2 deletions(-)

diff --git 
a/sdks/java/extensions/euphoria/src/main/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/base/Operator.java
 
b/sdks/java/extensions/euphoria/src/main/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/base/Operator.java
index 8273152..d5c1220 100644
--- 
a/sdks/java/extensions/euphoria/src/main/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/base/Operator.java
+++ 
b/sdks/java/extensions/euphoria/src/main/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/base/Operator.java
@@ -32,7 +32,7 @@ public abstract class Operator<OutputT> implements 
Serializable, TypeAware.Outpu
   private final @Nullable String name;
 
   /** The type of output elements. */
-  private final @Nullable TypeDescriptor<OutputT> outputType;
+  private final transient @Nullable TypeDescriptor<OutputT> outputType;
 
   protected Operator(@Nullable String name, @Nullable TypeDescriptor<OutputT> 
outputType) {
     this.name = name;
diff --git 
a/sdks/java/extensions/euphoria/src/main/java/org/apache/beam/sdk/extensions/euphoria/core/client/type/TypeAwareness.java
 
b/sdks/java/extensions/euphoria/src/main/java/org/apache/beam/sdk/extensions/euphoria/core/client/type/TypeAwareness.java
index 2f31920..b8efec1 100644
--- 
a/sdks/java/extensions/euphoria/src/main/java/org/apache/beam/sdk/extensions/euphoria/core/client/type/TypeAwareness.java
+++ 
b/sdks/java/extensions/euphoria/src/main/java/org/apache/beam/sdk/extensions/euphoria/core/client/type/TypeAwareness.java
@@ -27,6 +27,9 @@ public class TypeAwareness {
 
   @SuppressWarnings("unchecked")
   public static <T> TypeDescriptor<T> orObjects(Optional<TypeDescriptor<T>> 
maybeType) {
-    return maybeType.orElse((TypeDescriptor) OBJECT_TYPE);
+    if (maybeType.isPresent() && !maybeType.get().hasUnresolvedParameters()) {
+      return maybeType.get();
+    }
+    return (TypeDescriptor) OBJECT_TYPE;
   }
 }
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/lib/SplitTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/lib/SplitTest.java
index d3fc52c..66ba0e0 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/lib/SplitTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/lib/SplitTest.java
@@ -28,8 +28,11 @@ import 
org.apache.beam.sdk.extensions.euphoria.core.client.operator.TestUtils;
 import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test suite for {@link Split} library. */
+@RunWith(JUnit4.class)
 public class SplitTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/CountByKeyTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/CountByKeyTest.java
index ec5cb80..5f50093 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/CountByKeyTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/CountByKeyTest.java
@@ -33,8 +33,11 @@ import org.apache.beam.sdk.values.TypeDescriptors;
 import org.apache.beam.sdk.values.WindowingStrategy.AccumulationMode;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator CountByKey. */
+@RunWith(JUnit4.class)
 public class CountByKeyTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/DistinctTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/DistinctTest.java
index c9fb119..6dff9b6 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/DistinctTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/DistinctTest.java
@@ -30,8 +30,11 @@ import org.apache.beam.sdk.values.TypeDescriptors;
 import org.apache.beam.sdk.values.WindowingStrategy.AccumulationMode;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator Distinct. */
+@RunWith(JUnit4.class)
 public class DistinctTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/FilterTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/FilterTest.java
index f00c88d..cb59d75 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/FilterTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/FilterTest.java
@@ -25,8 +25,11 @@ import static org.junit.Assert.assertTrue;
 import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator Filter. */
+@RunWith(JUnit4.class)
 public class FilterTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/FlatMapTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/FlatMapTest.java
index f726eb9..cfec139 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/FlatMapTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/FlatMapTest.java
@@ -28,8 +28,11 @@ import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator FlatMap. */
+@RunWith(JUnit4.class)
 public class FlatMapTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/JoinTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/JoinTest.java
index b9c8256..a4d8760 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/JoinTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/JoinTest.java
@@ -39,8 +39,11 @@ import 
org.apache.beam.sdk.values.WindowingStrategy.AccumulationMode;
 import org.joda.time.Duration;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator Join. */
+@RunWith(JUnit4.class)
 public class JoinTest {
 
   @Rule public TestPipeline pipeline = TestPipeline.create();
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/MapElementsTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/MapElementsTest.java
index 409701d..3e0e971 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/MapElementsTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/MapElementsTest.java
@@ -27,8 +27,11 @@ import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator MapElement. */
+@RunWith(JUnit4.class)
 public class MapElementsTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/ReduceByKeyTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/ReduceByKeyTest.java
index cbf5474..4dc56e1 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/ReduceByKeyTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/ReduceByKeyTest.java
@@ -42,8 +42,11 @@ import 
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator ReduceByKey. */
+@RunWith(JUnit4.class)
 public class ReduceByKeyTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/ReduceWindowTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/ReduceWindowTest.java
index 91e98ab..151e53e 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/ReduceWindowTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/ReduceWindowTest.java
@@ -33,8 +33,11 @@ import org.apache.beam.sdk.values.TypeDescriptors;
 import org.apache.beam.sdk.values.WindowingStrategy.AccumulationMode;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test behavior of operator {@code ReduceWindow}. */
+@RunWith(JUnit4.class)
 public class ReduceWindowTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/SumByKeyTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/SumByKeyTest.java
index 53cf690..377055a 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/SumByKeyTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/SumByKeyTest.java
@@ -32,8 +32,11 @@ import org.apache.beam.sdk.values.TypeDescriptors;
 import org.apache.beam.sdk.values.WindowingStrategy.AccumulationMode;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test behavior of operator {@code SumByKey}. */
+@RunWith(JUnit4.class)
 public class SumByKeyTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/TopPerKeyTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/TopPerKeyTest.java
index 1680452..b7973b1 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/TopPerKeyTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/TopPerKeyTest.java
@@ -32,8 +32,11 @@ import org.apache.beam.sdk.values.TypeDescriptors;
 import org.apache.beam.sdk.values.WindowingStrategy.AccumulationMode;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test behavior of operator {@code TopPerKey}. */
+@RunWith(JUnit4.class)
 public class TopPerKeyTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/UnionTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/UnionTest.java
index db15c6a..120a29d 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/UnionTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/operator/UnionTest.java
@@ -25,8 +25,11 @@ import org.apache.beam.sdk.testing.TestPipeline;
 import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test behavior of operator {@code Union}. */
+@RunWith(JUnit4.class)
 public class UnionTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/util/IOUtilsTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/util/IOUtilsTest.java
index 5b5db4b..d881c2b 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/util/IOUtilsTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/util/IOUtilsTest.java
@@ -25,8 +25,11 @@ import java.util.Arrays;
 import java.util.stream.Stream;
 import org.apache.beam.sdk.extensions.euphoria.core.util.IOUtils;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test behavior of IOUtils. */
+@RunWith(JUnit4.class)
 public class IOUtilsTest {
 
   @Test(expected = IOException.class)
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/util/SumsTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/util/SumsTest.java
index 38efa7b..80480ad 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/util/SumsTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/client/util/SumsTest.java
@@ -22,8 +22,11 @@ import static org.junit.Assert.assertEquals;
 import java.util.stream.Stream;
 import 
org.apache.beam.sdk.extensions.euphoria.core.client.operator.ReduceByKey;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test suite for @{link Sums}. */
+@RunWith(JUnit4.class)
 public class SumsTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/docs/DocumentationExamplesTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/docs/DocumentationExamplesTest.java
index 404d6d1..147aa38 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/docs/DocumentationExamplesTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/docs/DocumentationExamplesTest.java
@@ -76,12 +76,15 @@ import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /**
  * Contains all the examples from documentation page. Not all of them contains 
asserts, some do, but
  * the rest is often here just to confirm that they compile. Once something 
break or changes, the
  * documentation needs to change too.
  */
+@RunWith(JUnit4.class)
 public class DocumentationExamplesTest {
   private List<String> textLineByLine =
       Arrays.asList(
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/BroadcastHashJoinTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/BroadcastHashJoinTest.java
index cd840a7..262e768 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/BroadcastHashJoinTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/BroadcastHashJoinTest.java
@@ -35,8 +35,11 @@ import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Collection of broadcast hash join tests. */
+@RunWith(JUnit4.class)
 public class BroadcastHashJoinTest extends AbstractOperatorTest {
 
   private abstract static class TestCase<LeftT, RightT, OutputT>
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/CountByKeyTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/CountByKeyTest.java
index 7d0d5bf..d06cff8 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/CountByKeyTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/CountByKeyTest.java
@@ -29,8 +29,11 @@ import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator {@code CountByKey}. */
+@RunWith(JUnit4.class)
 public class CountByKeyTest extends AbstractOperatorTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/DistinctTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/DistinctTest.java
index a81bc77..77a25fb 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/DistinctTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/DistinctTest.java
@@ -30,8 +30,11 @@ import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test for the {@link Distinct} operator. */
+@RunWith(JUnit4.class)
 public class DistinctTest extends AbstractOperatorTest {
 
   /** Test simple duplicates. */
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/FilterTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/FilterTest.java
index 7ee64f3..ac883fb 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/FilterTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/FilterTest.java
@@ -24,8 +24,11 @@ import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator {@code Filter}. */
+@RunWith(JUnit4.class)
 public class FilterTest extends AbstractOperatorTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/FlatMapTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/FlatMapTest.java
index 36d1519..15fe998 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/FlatMapTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/FlatMapTest.java
@@ -30,8 +30,11 @@ import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator {@code FlatMap}. */
+@RunWith(JUnit4.class)
 public class FlatMapTest extends AbstractOperatorTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/JoinTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/JoinTest.java
index 183c4f6..9a11687 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/JoinTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/JoinTest.java
@@ -48,8 +48,11 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 import org.joda.time.Duration;
 import org.joda.time.Instant;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator {@code Join}. */
+@RunWith(JUnit4.class)
 public class JoinTest extends AbstractOperatorTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/MapElementsTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/MapElementsTest.java
index 8ff8a92..3003824 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/MapElementsTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/MapElementsTest.java
@@ -30,8 +30,11 @@ import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Tests for operator {@code MapElements}. */
+@RunWith(JUnit4.class)
 public class MapElementsTest extends AbstractOperatorTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/ReduceByKeyTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/ReduceByKeyTest.java
index dc947ca..f7010ba 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/ReduceByKeyTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/ReduceByKeyTest.java
@@ -58,8 +58,11 @@ import org.joda.time.Duration;
 import org.joda.time.Instant;
 import org.junit.Ignore;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator {@code ReduceByKey}. */
+@RunWith(JUnit4.class)
 public class ReduceByKeyTest extends AbstractOperatorTest {
 
   /** Validates the output type upon a `.reduceBy` operation on global window. 
*/
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/ReduceWindowTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/ReduceWindowTest.java
index 33d08b8..91b7867 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/ReduceWindowTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/ReduceWindowTest.java
@@ -29,8 +29,11 @@ import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator {@code ReduceByKey}. */
+@RunWith(JUnit4.class)
 public class ReduceWindowTest extends AbstractOperatorTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/SumByKeyTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/SumByKeyTest.java
index cf5672e..89dabdf 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/SumByKeyTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/SumByKeyTest.java
@@ -27,8 +27,11 @@ import org.apache.beam.sdk.values.KV;
 import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptor;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test operator {@code SumByKey}. */
+@RunWith(JUnit4.class)
 public class SumByKeyTest extends AbstractOperatorTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/TopPerKeyTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/TopPerKeyTest.java
index ac31ad5..f8d662f 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/TopPerKeyTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/TopPerKeyTest.java
@@ -32,8 +32,11 @@ import org.apache.beam.sdk.values.TypeDescriptor;
 import org.checkerframework.checker.nullness.qual.Nullable;
 import org.joda.time.Duration;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Correctness tests of {@link TopPerKey}. */
+@RunWith(JUnit4.class)
 public class TopPerKeyTest extends AbstractOperatorTest {
 
   @Test
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/UnionTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/UnionTest.java
index 46189da..b8b1cb7 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/UnionTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/testkit/UnionTest.java
@@ -26,8 +26,11 @@ import org.apache.beam.sdk.transforms.Create;
 import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test for operator {@code Union}. */
+@RunWith(JUnit4.class)
 public class UnionTest extends AbstractOperatorTest {
 
   private static PCollection<Integer> createDataset(Pipeline pipeline, 
Integer... data) {
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/BeamMetricsTranslationTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/BeamMetricsTranslationTest.java
index 8edf349..eb15c61 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/BeamMetricsTranslationTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/BeamMetricsTranslationTest.java
@@ -40,8 +40,11 @@ import org.hamcrest.Matchers;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Testing translation of accumulators to Beam {@link 
org.apache.beam.sdk.metrics.Metrics}. */
+@RunWith(JUnit4.class)
 public class BeamMetricsTranslationTest {
 
   @Rule public TestPipeline testPipeline = TestPipeline.create();
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/BroadcastHashJoinTranslatorTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/BroadcastHashJoinTranslatorTest.java
index 1e4d6e8..41d0104 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/BroadcastHashJoinTranslatorTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/BroadcastHashJoinTranslatorTest.java
@@ -32,8 +32,11 @@ import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Unit tests of {@link BroadcastHashJoinTranslator}. */
+@RunWith(JUnit4.class)
 public class BroadcastHashJoinTranslatorTest {
 
   @Rule public TestPipeline p = TestPipeline.create();
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/SingleJvmAccumulatorProviderTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/SingleJvmAccumulatorProviderTest.java
index 6a8f8b4..4872b8e 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/SingleJvmAccumulatorProviderTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/SingleJvmAccumulatorProviderTest.java
@@ -26,12 +26,15 @@ import 
org.apache.beam.sdk.extensions.euphoria.core.testkit.accumulators.SingleJ
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /**
  * Unit test of {@link SingleJvmAccumulatorProvider}. Note that this test is 
placed outside of
  * {@code testkit} package on purpouse. All the other tests in {@code testkit} 
are not runnable by
  * JUnit directly.
  */
+@RunWith(JUnit4.class)
 public class SingleJvmAccumulatorProviderTest {
 
   private static final String TEST_COUNTER_NAME = "test-counter";
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/TimestampExtractTransformTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/TimestampExtractTransformTest.java
index 2d37ae3..8acede9 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/TimestampExtractTransformTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/TimestampExtractTransformTest.java
@@ -25,8 +25,11 @@ import org.apache.beam.sdk.values.KV;
 import org.apache.beam.sdk.values.PCollection;
 import org.apache.beam.sdk.values.TypeDescriptors;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** Test suite for {@link TimetampExtractTransform}. */
+@RunWith(JUnit4.class)
 public class TimestampExtractTransformTest {
 
   @SuppressWarnings("unchecked")
diff --git 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/collector/SingleValueCollectorTest.java
 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/collector/SingleValueCollectorTest.java
index 1663584..ac7f4f7 100644
--- 
a/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/collector/SingleValueCollectorTest.java
+++ 
b/sdks/java/extensions/euphoria/src/test/java/org/apache/beam/sdk/extensions/euphoria/core/translate/collector/SingleValueCollectorTest.java
@@ -26,8 +26,11 @@ import 
org.apache.beam.sdk.extensions.euphoria.core.testkit.accumulators.SingleJ
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /** {@link SingleValueCollector} unit tests. */
+@RunWith(JUnit4.class)
 public class SingleValueCollectorTest {
 
   private static final String TEST_COUNTER_NAME = "test-counter";

Reply via email to