GitHub user aljoscha opened a pull request:
https://github.com/apache/flink/pull/2547
[FLINK-4552] Refactor WindowOperator/Trigger Tests
Before `WindowOperatorTest` was more like an integration test. We would
throw elements at `WindowOperator` and observe whether we got the correct
output.
The new `WindowOperatorTest` verifies the implicit contract between the
windowing components. I also added explicit tests for `WindowAssigners` and
`Triggers`. For triggers I added a new `TriggerTestHarness`. Also, I modified
`HeapKeyedStateBackend` to allow querying how many entries there are for a
given namespace, this allows testing whether trigger correctly clean up their
state. I also added the new interfaces `TimerService` and
`InternalTimerService` that should be used for all stuff concerning time and
timers. For now, these are only used in the tests but they should be used in
more components.
R: @StefanRRichter and @kl0u for review.
P.S. : I wanted to get this in before we get in the work on
triggers/trigger DSL to ensure that we don't break things and to modularize the
tests.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/aljoscha/flink window-test-refactor
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/2547.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2547
commit 90f6785d1038ebef8cd92965cd29a2d1da6e0370
Author: Aljoscha Krettek
Date: 2016-09-05T10:01:11Z
[FLINK-4552] Refactor WindowOperator/Trigger Tests
commit 140d853364f98e70539861a1c1bb51f39a1b
Author: Aljoscha Krettek
Date: 2016-09-24T13:41:10Z
Add WindowAssignerTests
commit 56f33789e22f0bdc056be34e92c523d7965bbad4
Author: Aljoscha Krettek
Date: 2016-09-25T16:39:47Z
Add TriggerTests/TimerService
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---