in treeherder/push_health/utils.py [0:0]
def clean_test(test, signature, message):
try:
clean_name = test or signature or message or "Non-Test Error"
except UnicodeEncodeError:
return ""
if clean_name.startswith("pid:"):
return None
if " == " in clean_name or " != " in clean_name:
splitter = " == " if " == " in clean_name else " != "
left, right, *rest = clean_name.split(splitter)
if "tests/layout/" in left and "tests/layout/" in right:
left = f"layout{left.split('tests/layout')[1]}"
right = f"layout{right.split('tests/layout')[1]}"
elif "build/tests/reftest/tests/" in left and "build/tests/reftest/tests/" in right:
left = left.split("build/tests/reftest/tests/")[1]
right = right.split("build/tests/reftest/tests/")[1]
elif clean_name.startswith("http://10.0"):
left = "/tests/".join(left.split("/tests/")[1:])
right = "/tests/".join(right.split("/tests/")[1:])
clean_name = f"{left}{splitter}{right}"
if "test_end for" in clean_name:
clean_name = clean_name.split()[2]
if "build/tests/reftest/tests/" in clean_name:
clean_name = clean_name.split("build/tests/reftest/tests/")[1]
if "jsreftest.html" in clean_name:
clean_name = clean_name.split("test=")[1]
if clean_name.startswith("http://10.0"):
clean_name = "/tests/".join(clean_name.split("/tests/")[1:])
# http://localhost:50462/1545303666006/4/41276-1.html
if clean_name.startswith("http://localhost:"):
parts = clean_name.split("/")
clean_name = parts[-1]
if " (finished)" in clean_name:
clean_name = clean_name.split(" (finished)")[0]
# Now that we don't bail on a blank test_name, these filters
# may sometimes apply.
if clean_name in ["Last test finished", "(SimpleTest/TestRunner.js)"]:
return None
clean_name = clean_name.strip()
clean_name = clean_name.replace("\\", "/")
clean_name = clean_name.lstrip("/")
if "|" in clean_name:
parts = clean_name.split("|")
clean_parts = filter(lambda x: x.strip() not in trim_parts, parts)
clean_name = "|".join(clean_parts)
return clean_name