Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
Description
MessageStreamAssert.containsInAnyOrder uses a java.util.Timer to do verification. However, Timer will do the check in a background thread, and any error/exception does not get propagated to the main thread for the test. Therefore, any error will not cause a test to fail, so a test will pass even if there is an issue.
In addition, the MessageStreamAssert.CheckAgainstExpected helper class is broken, since the "expected" messages get cleared out when the operator graph is serialized then deserialized, and an NPE is thrown when trying to run "apply". This is already covered in https://issues.apache.org/jira/browse/SAMZA-1829.
SchedulingTest and TestRepartitionJoinWindowApp both use MessageStreamAssert.containsInAnyOrder, and they pass, but they should fail.