summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openerp/addons/base/ir/ir_mail_server.py6
-rw-r--r--openerp/modules/loading.py3
2 files changed, 9 insertions, 0 deletions
diff --git a/openerp/addons/base/ir/ir_mail_server.py b/openerp/addons/base/ir/ir_mail_server.py
index 2e3060fc103..3cb1446a146 100644
--- a/openerp/addons/base/ir/ir_mail_server.py
+++ b/openerp/addons/base/ir/ir_mail_server.py
@@ -28,6 +28,7 @@ from email import Encoders
import logging
import re
import smtplib
+import threading
from osv import osv
from osv import fields
@@ -381,6 +382,11 @@ class ir_mail_server(osv.osv):
smtp_to_list = filter(None, tools.flatten(map(extract_rfc2822_addresses,[email_to, email_cc, email_bcc])))
assert smtp_to_list, "At least one valid recipient address should be specified for outgoing emails (To/Cc/Bcc)"
+ # Do not actually send emails in testing mode!
+ if getattr(threading.currentThread(), 'testing', False):
+ _logger.log(logging.TEST, "skip sending email in test mode")
+ return message['Message-Id']
+
# Get SMTP Server Details from Mail Server
mail_server = None
if mail_server_id:
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py
index 00948bc690e..1ea0bdb7105 100644
--- a/openerp/modules/loading.py
+++ b/openerp/modules/loading.py
@@ -31,6 +31,7 @@ import logging
import os
import re
import sys
+import threading
import zipfile
import zipimport
@@ -97,11 +98,13 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
cr.commit()
if not tools.config.options['test_disable']:
try:
+ threading.currentThread().testing = True
_load_data(cr, module_name, idref, mode, 'test')
except Exception, e:
logging.getLogger('init.test').exception(
'Tests failed to execute in module %s', module_name)
finally:
+ threading.currentThread().testing = False
if tools.config.options['test_commit']:
cr.commit()
else: