Was under the impression that existing clients connected to the swarm will start running a job that is reset. But found that this happens only for new clients. So if you refresh your browser it works.
If my understanding is not correct, my original requirement is this. We wanted to integrate testswarm with jenkins. So we have all supported clients always connected to the swarm. We want to reset a job in case of any code changes and all the clients should start running the test again.
Added the following lines of code into testswarm/inc/actions/WipeJobAction.php to clear all data for the job from runresults also. That is after line 106 as the second query for the ( $wipeType === 'reset' ) condition.
WHERE run_id = %u;',
Please do correct me if I am wrong. Do take this as an issue and fix otherwise.
We want to reset a job in case of any code changes and all the clients should start running the test again.
This sounds very wrong.
Don't confuse jobs with projects. Every job in testswarm should be unique and point to a static snapshot of your library at a certain version.
If you made changes, submit a new job (pointing to files in a different location).
Especially when working with multiple projects and commits being tested, things are running asynchronous so it is even more important that one doesn't submit tests locations like /projects/foo/tests/index.html but instead like /builds/foo/4be762e49a/test/index.html.
See for example: http://swarm.jquery.org/user/jquerycolor
You mention Jenkins, so this principle should sound familiar to you.
The reason clients don't re-run the same section of the same job is because if they didn't work the first time, part of failure could be caused by the client's environment, in which case it requires a different client to run the test.
By structurally resetting jobs over and over again, you will eventually run out of available clients (if no new clients connect, and some tests are failing). This is because the system is being abused if you use it that way.