Configure RunnableOnService tests for Flink in batch mode Today Flink batch supports only global windows. This is a situation we intend our build to allow, eventually via JUnit category filtering.
For now all the test classes that use non-global windows are excluded entirely via maven configuration. In the future, it should be on a per-test-method basis. Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/bfc1a2ba Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/bfc1a2ba Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/bfc1a2ba Branch: refs/heads/master Commit: bfc1a2ba041c1b8b0033f886266321e5ee53cf6c Parents: 58d66a3 Author: Kenneth Knowles <k...@google.com> Authored: Mon May 2 14:04:20 2016 -0700 Committer: Aljoscha Krettek <aljoscha.kret...@gmail.com> Committed: Fri May 20 08:08:24 2016 +0200 ---------------------------------------------------------------------- runners/flink/runner/pom.xml | 106 ++++++++++++++++++++++++++++---------- 1 file changed, 79 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/bfc1a2ba/runners/flink/runner/pom.xml ---------------------------------------------------------------------- diff --git a/runners/flink/runner/pom.xml b/runners/flink/runner/pom.xml index a53a386..cde9108 100644 --- a/runners/flink/runner/pom.xml +++ b/runners/flink/runner/pom.xml @@ -34,31 +34,6 @@ <packaging>jar</packaging> - <profiles> - <profile> - <id>disable-runnable-on-service-tests</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <executions> - <execution> - <id>runnable-on-service-tests</id> - <configuration> - <skip>true</skip> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> - <dependencies> <!-- Flink dependencies --> <dependency> @@ -87,7 +62,8 @@ <artifactId>flink-avro_2.10</artifactId> <version>${flink.version}</version> </dependency> - <!-- Beam --> + + <!--- Beam --> <dependency> <groupId>org.apache.beam</groupId> <artifactId>java-sdk-all</artifactId> @@ -111,6 +87,21 @@ </dependency> <!-- Test scoped --> + + <!-- Depend on test jar to scan for RunnableOnService tests --> + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>java-sdk-all</artifactId> + <classifier>tests</classifier> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-jdk14</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> <groupId>org.apache.beam</groupId> <artifactId>java-examples-all</artifactId> @@ -168,10 +159,71 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> + <executions> + <execution> + <id>runnable-on-service-tests</id> + <phase>integration-test</phase> + <goals> + <goal>test</goal> + </goals> + <configuration> + <groups>org.apache.beam.sdk.testing.RunnableOnService</groups> + <parallel>all</parallel> + <threadCount>4</threadCount> + <failIfNoTests>true</failIfNoTests> + <dependenciesToScan> + <dependency>org.apache.beam:java-sdk-all</dependency> + </dependenciesToScan> + <systemPropertyVariables> + <beamTestPipelineOptions> + [ + "--runner=org.apache.beam.runners.flink.TestFlinkPipelineRunner", + "--streaming=false" + ] + </beamTestPipelineOptions> + </systemPropertyVariables> + <excludes> + <!-- Tests that use unsupported windowing --> + <exclude>**/org/apache/beam/sdk/transforms/CombineTest.java</exclude> + <exclude>**/org/apache/beam/sdk/transforms/GroupByKeyTest.java</exclude> + <exclude>**/org/apache/beam/sdk/transforms/ViewTest.java</exclude> + <exclude>**/org/apache/beam/sdk/transforms/join/CoGroupByKeyTest.java</exclude> + <exclude>**/org/apache/beam/sdk/transforms/windowing/WindowTest.java</exclude> + <exclude>**/org/apache/beam/sdk/transforms/windowing/WindowingTest.java</exclude> + <exclude>**/org/apache/beam/sdk/util/ReshuffleTest.java</exclude> + </excludes> + </configuration> + </execution> + <execution> + <id>streaming-runnable-on-service-tests</id> + <phase>integration-test</phase> + <goals> + <goal>test</goal> + </goals> + <configuration> + <groups>org.apache.beam.sdk.testing.RunnableOnService</groups> + <parallel>all</parallel> + <threadCount>4</threadCount> + <failIfNoTests>true</failIfNoTests> + <dependenciesToScan> + <dependency>org.apache.beam:java-sdk-all</dependency> + </dependenciesToScan> + <systemPropertyVariables> + <beamTestPipelineOptions> + [ + "--runner=org.apache.beam.runners.flink.TestFlinkPipelineRunner", + "--streaming=true" + ] + </beamTestPipelineOptions> + </systemPropertyVariables> + <excludes> + </excludes> + </configuration> + </execution> + </executions> </plugin> </plugins> - </build> </project>