After reading Beam Testing <https://beam.apache.org/contribute/testing/> I
had an impression that NeedsRunner tests are executed as a part of Java
PreCommit using Direct runner. However, it doesn't seem to be the case.
I've tried running these tests locally, and few of them are failing or
timeout.
My proposal is adding ":beam-runners-direct-java:needsRunnerTests" to "Run
Java PreCommit" Jenkins job, or running them in parallel as a part of a new
task, not to increase build time. Running needsRunnerTests on my laptop
took 3 minutes, so I just lean towards adding them to javaPreCommit.
Thoughts?
> Task :beam-runners-direct-java:needsRunnerTests
org.apache.beam.runners.core.metrics.MetricsPusherTest > test FAILED
java.lang.AssertionError at MetricsPusherTest.java:71
org.apache.beam.sdk.io.TFRecordIOTest > testReadInvalidDataMask FAILED
java.lang.AssertionError
org.apache.beam.sdk.io.TFRecordIOTest > testReadInvalidLengthMask FAILED
java.lang.AssertionError
org.apache.beam.sdk.io.AvroIOTest$NeedsRunnerTests >
testContinuouslyWriteAndReadMultipleFilepatterns[0: true] FAILED
java.lang.IllegalArgumentException at AvroIOTest.java:557
org.apache.beam.sdk.io.AvroIOTest$NeedsRunnerTests >
testWriteThenReadJavaClass[0: true] FAILED
java.lang.AssertionError at AvroIOTest.java:306
org.apache.beam.sdk.io.AvroIOTest$NeedsRunnerTests >
testContinuouslyWriteAndReadMultipleFilepatterns[1: false] FAILED
java.lang.IllegalArgumentException at AvroIOTest.java:557
org.apache.beam.sdk.io.AvroIOTest$NeedsRunnerTests >
testWriteThenReadJavaClass[1: false] FAILED
java.lang.AssertionError at AvroIOTest.java:306
org.apache.beam.sdk.io.FileIOTest > testMatchWatchForNewFiles FAILED
java.lang.IllegalArgumentException at FileIOTest.java:192
org.apache.beam.sdk.io.TextIOReadTest$BasicIOTest >
testReadWatchForNewFiles FAILED
java.lang.IllegalArgumentException at TextIOReadTest.java:846
org.apache.beam.sdk.schemas.transforms.CastTest > testTypeNarrowFail FAILED
java.lang.AssertionError
org.apache.beam.sdk.schemas.transforms.CastTest > testWeakedNullableFail
FAILED
java.lang.AssertionError
org.apache.beam.sdk.transforms.SplittableDoFnTest > testBoundedness FAILED
org.apache.beam.sdk.testing.TestPipeline$PipelineRunMissingException
org.apache.beam.sdk.transforms.SplittableDoFnTest > testLateData FAILED
org.junit.runners.model.TestTimedOutException at
SplittableDoFnTest.java:683
org.apache.beam.sdk.transforms.WatchTest >
testSinglePollMultipleInputsWithSideInput FAILED
java.lang.IllegalArgumentException at WatchTest.java:112
org.apache.beam.sdk.transforms.WatchTest >
testMultiplePollsWithKeyExtractor FAILED
java.lang.IllegalArgumentException at WatchTest.java:203
org.apache.beam.sdk.transforms.WatchTest > testSinglePollMultipleInputs
FAILED
java.lang.IllegalArgumentException at WatchTest.java:82
org.apache.beam.sdk.transforms.WatchTest >
testMultiplePollsWithTerminationDueToTerminationCondition FAILED
java.lang.IllegalArgumentException at WatchTest.java:150
org.apache.beam.sdk.transforms.WatchTest > testMultiplePollsWithManyResults
FAILED
java.lang.IllegalArgumentException at WatchTest.java:308
org.apache.beam.sdk.transforms.WatchTest > testSinglePollWithManyResults
FAILED
java.lang.IllegalArgumentException at WatchTest.java:258
org.apache.beam.sdk.transforms.WatchTest >
testMultiplePollsStopAfterTimeSinceNewOutput FAILED
java.lang.IllegalArgumentException at WatchTest.java:232
org.apache.beam.sdk.transforms.WatchTest >
testMultiplePollsWithTerminationBecauseOutputIsFinal FAILED
java.lang.IllegalArgumentException at WatchTest.java:150
647 tests completed, 21 failed, 4 skipped