You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "Derek Dagit (JIRA)" <ji...@apache.org> on 2014/07/17 21:57:04 UTC

[jira] [Commented] (STORM-413) Investigate Tests using Simulated Time and Mocking

    [ https://issues.apache.org/jira/browse/STORM-413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14065460#comment-14065460 ] 

Derek Dagit commented on STORM-413:
-----------------------------------

In STORM-403, we have a test that mocks out functions that launch and shut down workers, but as is explained, the mocking did not take effect for the correct scope, resulting in a test error:

https://github.com/apache/incubator-storm/pull/193#issuecomment-49348655


There is also a potential problem with a recent change upon shutting down a local cluster:

https://github.com/apache/incubator-storm/blob/ff345c1fa9dcbe55e96037bec3b59d06c3f64cd4/storm-core/src/clj/backtype/storm/testing.clj#L237-L240

The change ensures that the simulated cluster does not get stuck trying to shut down, but in doing so it also calls `advance-cluster-time` repeatedly.


For these kinds of tests, it might be good to remove the submitted topology, so that its worker is not unintentionally launched after the test body is evaluated.

Or, even better, if all we are trying to do is stub out the two functions to prevent actual launching of workers, we could wrap this entire test in a `mocking` call and thus be sure those methods will not be called even in shut down.

```Clojure
(deftest heartbeats-to-nimbus
  (mocking [supervisor/launch-worker supervisor/shutdown-worker]
    (with-simulated-time-local-cluster [cluster :supervisors 0
```

In this specific test, only mocking is desired, but this will not be a complete solution in other cases.


> Investigate Tests using Simulated Time and Mocking
> --------------------------------------------------
>
>                 Key: STORM-413
>                 URL: https://issues.apache.org/jira/browse/STORM-413
>             Project: Apache Storm (Incubating)
>          Issue Type: Bug
>    Affects Versions: 0.9.2-incubating
>            Reporter: Derek Dagit
>            Priority: Minor
>              Labels: testing
>
> Several issues with running storm's tests have arisen that are related to timing and race conditions.
> Hang: STORM-200 (https://github.com/apache/incubator-storm/commit/573c42a64885dac9a6a0d4c69a754500b607a8f1)
> Unexpected Exception: STORM-403
> We should investigate tests that use simulated time while mocking out functions to ensure that bindings are properly set where they need to be.



--
This message was sent by Atlassian JIRA
(v6.2#6252)