-
Notifications
You must be signed in to change notification settings - Fork 3
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
Collaboration with karma #6
Comments
Hi @dignifiedquire, thank you for following up on this! 1- That is, pretty awesome :). Is there a "Karma daemon" that I could install in remote servers to fire up browsers from different points in the network? 2 - Having a centralised server where test results are collected and asserted is the desired architecture, it is how this module works too :) 3 - The way that I developed this module is that browsers don't even have to understand which tests they will be running. You can check here: https://github.com/diasdavid/piri-piri/blob/master/tests/serve_this.js that the file served to the browser registers function calls to be called later. Tests are defined on the .js file executed by the centralised server, which will invoke those registered function calls as the test pleases, here https://github.com/diasdavid/piri-piri/blob/master/tests/spicy-test.js#L80 . Essentially the idea was to a: instruct a module, b: load it in a browser, c: invoke those routines from a server, d: evaluate if the effect was the desired. 4 - ⭐️ 5 - Since WebRTC doesn't run in headless browsers, I don't have any need for that, but I can understand that other people have for other kinds of apps. 6 - If I understand correctly, Karma wouldn't have to understand that there is WebRTC being used, as it will only load code in the browser and the browser will be the one exposing the WebRTC APIs I believe if 3 can be achieved, I could replace all of the tests for Karma and if 1 can be achieved too, we can create something very special for P2P browser testing :) Also, one other idea that is in the back of my mind is "Pseudo External Consistency", such like Spanner from Google, we can use time as our sorting metric if we run the tests in the same machine (checking if events happened in the desired order). For distributed browser tests (using the proposed Karma daemon in several parts of the world), we might have to bring some Vector/Lamport clocks to guarantee some way to assert the order. |
So after our short talk @ DTN Conf I thought I'd open up the issue here, so we could start talking about this.
Let me know what you think.
Cheers
The text was updated successfully, but these errors were encountered: