[Python-Dev] automated testing system [was: Hundreds of warnings]
Skip Montanaro
skip@pobox.com
Wed, 15 May 2002 18:45:10 -0500
Neil> Now I want to build a distributed system. There would be some
Neil> cross-platform software that people could install on machines they
Neil> have laying around. The more and weirder the better. The system
Neil> would receive signals to start a build and regression test and
Neil> send the results to some collector. The signal could be based on
Neil> the CVS checkin list. The collector could generate summaries and
Neil> post them to python-dev.
I created a little XML-RPC server sometime ago to catch instruction set
frequency information (-DDXPAIRs in ceval.c, etc) and store them in a
database. I think this would be the ideal sort of interface for a
regression test reporting system. The only change I had to make to my
application to make it "aware" was
def send_instruction_counts(appname, email):
if not hasattr(sys, "getdxp"):
return
dxpserver = xmlrpclib.ServerProxy("http://manatee.mojam.com:7304")
dxpserver.add_dx_info(appname, email, sys.version_info[:3],
rle(sys.getdxp()))
atexit.register(send_instruction_counts, "musi-cal", "skip@pobox.com")
As for posting to python-dev I think the results would just get lost or
would be so voluminous after awhile that people would quickly get
desensitized to them. I'd rather see a tabular summary on a website
somewhere with some color coding (read/yellow/green) based the number or
percentage of tests that passed without problem. If necessary, a post to
python-dev could remind people about the results page with perhaps a simple
two- or three-line summary identifying the overall change from the previous
day's or week's results, something like:
3 new configurations
-13 green (no fails)
+13 yellow (< 3 fails)
+ 3 red (>= 3 fails)
I'd be willing to implement the recording and reporting stuff if someone
wants to help specify the API.
Skip