[Erp5-report] r11089 - /erp5/trunk/products/ERP5Type/tests/sendMailToList
nobody at svn.erp5.org
nobody at svn.erp5.org
Sat Nov 4 15:41:13 CET 2006
Author: jerome
Date: Sat Nov 4 15:41:08 2006
New Revision: 11089
URL: http://svn.erp5.org?rev=11089&view=rev
Log:
Display svn revision, number of test runs, failures and error on the subject line.
Modified:
erp5/trunk/products/ERP5Type/tests/sendMailToList
Modified: erp5/trunk/products/ERP5Type/tests/sendMailToList
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/sendMailToList?rev=11089&r1=11088&r2=11089&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/sendMailToList (original)
+++ erp5/trunk/products/ERP5Type/tests/sendMailToList Sat Nov 4 15:41:08 2006
@@ -1,6 +1,7 @@
#!/usr/bin/python
import smtplib
+import re
from datetime import date
from email.MIMEText import MIMEText
from email.MIMEBase import MIMEBase
@@ -24,22 +25,49 @@
test_msg = file("%s/Products/test_output" % (ZOPE_INSTANCE),'r').read()
test_msg = "Date : %s\n\n" % date.today().isoformat() + test_msg
-#msg.set_payload(test_msg)
+
+# minimal parsing
+revision_re = re.compile('Revision: (?P<revision>\d+)')
+ran_test_re = re.compile('Ran (?P<tests>\d+) tests')
+errors_re = re.compile('FAILED \((failures=(?P<failures>\d+))*[, ]*'\
+ '(errors=(?P<errors>\d+))*\)')
+svn_revision = "?"
+test_runs = 0
+errors = 0
+failures = 0
+for test_line in test_msg.splitlines():
+ revision = revision_re.match(test_line)
+ if revision:
+ svn_revision = revision.groupdict()['revision']
+ ran = ran_test_re.match(test_line)
+ if ran:
+ test_runs += int(ran.groupdict()['tests'])
+ errors_or_failures = errors_re.match(test_line)
+ if errors_or_failures:
+ failures += int(errors_or_failures.groupdict()['failures'] or 0)
+ errors += int(errors_or_failures.groupdict()['errors'] or 0)
+
+subject = "ERP5 r%s: %s Tests, %s Errors, %s Failures" % (
+ svn_revision, test_runs, errors, failures)
+
msg = MIMEMultipart()
msg['Subject'] = subject
msg['From'] = from_mail
msg['To'] = COMMASPACE.join(to_mail)
-#msg['content-type']=test_msg
# Guarantees the message ends in a newline
msg.preamble = subject
msg.epilogue = ''
-file_content = file("%s/Products/test_full_output" % (ZOPE_INSTANCE),'r').read()
+file_content = file("%s/Products/test_full_output" %
+ (ZOPE_INSTANCE),'r').read()
+
mime_text = MIMEText(test_msg)
-mime_text.add_header('Content-Disposition', 'attachment', filename='test_output')
+mime_text.add_header('Content-Disposition', 'attachment',
+ filename='test_output')
msg.attach(mime_text)
mime_text = MIMEText(file_content)
-mime_text.add_header('Content-Disposition', 'attachment', filename='test_full_output')
+mime_text.add_header('Content-Disposition', 'attachment',
+ filename='test_full_output')
msg.attach(mime_text)
# Send the email via our own SMTP server.
More information about the Erp5-report
mailing list