bsmedberg's Notes on Litmus Web Services
In addition to manual user entry of test results, some tests can be run by automated processes. For instance, bsmedberg would like to create a xulrunner app which runs a set of XUL tests and then reports the test results back to the server.
There are two parts to this project:
Getting automated test procedures to the client
No thoughts here yet. There are so many different kinds of tests that for the moment I'm going to ignore this problem. For now we will assume that the client machines simply run their tests independently and report back to the Litmus server when finished.
Sending test results back to the server
This can be a simple CGI which processes XML sent by the client over XMLHttpRequest. A sample XML schema might be the following:
<testresults username="foo@bar" password="pwd" useragent="blah" platform="bar" opsys="sys" branch="branch" buildid="bid"> <result testid="123" result="result"> <comment>Optional Comment Goes Here</comment> <!-- I don't understand the bits in process_test.cgi about bugs, so I've left that part out for the moment --> </result> </testresults>
This is easy to parse using SAX or a DOM. The result returned by the server would be very simple:
<response status="ok" />
<response status="failed">Message explaining failure here!</response>