Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails when websocket connection is restarted #82

Closed
IgorMinar opened this issue Oct 4, 2012 · 4 comments
Closed

Build fails when websocket connection is restarted #82

IgorMinar opened this issue Oct 4, 2012 · 4 comments

Comments

@IgorMinar
Copy link
Contributor

http://ci.angularjs.org/job/angular.js-igor-testacular/466/console

notice the logs at the end... Chrome's websocket loses the connection, but socket.io quickly recreates it, Testacular however doesn't recognize that and fails the build.

It seems to get into a weird state - note the log "info: Delaying execution, these browsers are not ready: Firefox 15.0"

@IgorMinar
Copy link
Contributor Author

I've seen this situation several times over the last 2 days, so it's not very rare.

@vojtajina
Copy link
Contributor

Yep, there needs to be a timeout. When browser disconnects during run, it should not cancel immediately, but wait for reconnecting.

@sheniff
Copy link

sheniff commented Jun 5, 2013

Sorry to disturb. Has this issue be fixed? I'm experiencing it in my tests (probably due to a plugin I'm trying to use: https://github.com/yearofmoo/ngMidwayTester) and I'd like to know if there's a way I can fix it while you patch the issue completely :) Thanks a lot!

@vojtajina
Copy link
Contributor

The issue was caused by our CI server (browsers were not getting enough resources). Once we solved that, the issue disappeared and therefore became not a high priority.

We still wanna do this (allow reconnecting browsers during test run), it's just not that important at this point.

vojtajina added a commit to vojtajina/karma that referenced this issue Aug 18, 2013
When a browser disconnects during a test run, Karma waits for reconnecting (configurable by `browserDisconnectTimeout`). If the browser reconnects in this timeout frame, nothing happpens - Karma replies the events (results) and the test run continues. If the browser does not reconnect in the timeout frame, Karma fails the build.

This should solve the connection issues with IE on polling.

- add browserDisconnectTimeout config property (defaults to 2000)


Internal changes:
- `Browser.isReady` is a function now, as browser has multiple states
- `BrowserCollection.setAllIsReadyTo` -> `setAllToExecuting`
- remove `Browser.launchId`, we use `Browser.id` instead


Closes karma-runner#82
vojtajina added a commit that referenced this issue Aug 20, 2013
When a browser disconnects during a test run, Karma waits for reconnecting (configurable by `browserDisconnectTimeout`). If the browser reconnects in this timeout frame, nothing happpens - Karma replies the events (results) and the test run continues. If the browser does not reconnect in the timeout frame, Karma fails the build.

This should solve the connection issues with IE on polling.

- add browserDisconnectTimeout config property (defaults to 2000)

Internal changes:
- `Browser.isReady` is a function now, as browser has multiple states
- `BrowserCollection.setAllIsReadyTo` -> `setAllToExecuting`
- remove `Browser.launchId`, we use `Browser.id` instead

Closes #82
Closes #590
vojtajina added a commit that referenced this issue Aug 21, 2013
When a browser disconnects during a test run, Karma waits for reconnecting (configurable by `browserDisconnectTimeout`). If the browser reconnects in this timeout frame, nothing happpens - Karma replies the events (results) and the test run continues. If the browser does not reconnect in the timeout frame, Karma fails the build.

This should solve the connection issues with IE on polling.

- add browserDisconnectTimeout config property (defaults to 2000)

Internal changes:
- `Browser.isReady` is a function now, as browser has multiple states
- `BrowserCollection.setAllIsReadyTo` -> `setAllToExecuting`
- remove `Browser.launchId`, we use `Browser.id` instead

Closes #82
Closes #590
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants