Shave off 10 seconds of test running time by not reading more than the start of files when checing that aliases exist.

- Legacy-Id: 10705
This commit is contained in:
Henrik Levkowetz 2016-01-16 22:31:31 +00:00
parent e552ff85b7
commit f1ca9a0f1c
3 changed files with 34 additions and 7 deletions

View file

@ -23,11 +23,11 @@ def check_cdn_directory_exists(app_configs, **kwargs):
@checks.register('files')
def check_group_email_aliases_exists(app_configs, **kwargs):
from ietf.group.info import get_group_email_aliases
from ietf.group.info import check_group_email_aliases
errors = []
try:
aliases = get_group_email_aliases(None, None)
if not aliases:
ok = check_group_email_aliases()
if not ok:
errors.append(checks.Error(
"Found no aliases in the group email aliases file",
hint="Please run ietf/bin/generate-wg-aliases to generate them.",
@ -46,11 +46,11 @@ def check_group_email_aliases_exists(app_configs, **kwargs):
@checks.register('files')
def check_doc_email_aliases_exists(app_configs, **kwargs):
from ietf.doc.views_doc import get_doc_email_aliases
from ietf.doc.views_doc import check_doc_email_aliases
errors = []
try:
aliases = get_doc_email_aliases(None)
if not aliases:
ok = check_doc_email_aliases()
if not ok:
errors.append(checks.Critical(
"Found no aliases in the document email aliases file.",
hint="Please run ietf/bin/generate-draft-aliases to generate them.",

View file

@ -572,6 +572,20 @@ def document_main(request, name, rev=None):
raise Http404
def check_doc_email_aliases():
pattern = re.compile('^expand-(.*?)(\..*?)?@.*? +(.*)$')
good_count = 0
tot_count = 0
with open(settings.DRAFT_VIRTUAL_PATH,"r") as virtual_file:
for line in virtual_file.readlines():
m = pattern.match(line)
tot_count += 1
if m:
good_count += 1
if good_count > 50 and tot_count < 3*good_count:
return True
return False
def get_doc_email_aliases(name):
if name:
pattern = re.compile('^expand-(%s)(\..*?)?@.*? +(.*)$'%name)
@ -585,7 +599,6 @@ def get_doc_email_aliases(name):
aliases.append({'doc_name':m.group(1),'alias_type':m.group(2),'expansion':m.group(3)})
return aliases
def document_email(request,name):
doc = get_object_or_404(Document, docalias__name=name)
top = render_document_top(request, doc, "email", name)

View file

@ -484,6 +484,20 @@ def group_about(request, acronym, group_type=None):
"can_manage": can_manage,
}))
def check_group_email_aliases():
pattern = re.compile('expand-(.*?)(-\w+)@.*? +(.*)$')
tot_count = 0
good_count = 0
with open(settings.GROUP_VIRTUAL_PATH,"r") as virtual_file:
for line in virtual_file.readlines():
m = pattern.match(line)
tot_count += 1
if m:
good_count += 1
if good_count > 50 and tot_count < 3*good_count:
return True
return False
def get_group_email_aliases(acronym, group_type):
if acronym:
pattern = re.compile('expand-(%s)(-\w+)@.*? +(.*)$'%acronym)