diff options
-rwxr-xr-x | extras/failed-tests.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/extras/failed-tests.py b/extras/failed-tests.py index 11dcb0ccea8..d2aeb7651c2 100755 --- a/extras/failed-tests.py +++ b/extras/failed-tests.py @@ -4,6 +4,7 @@ import blessings import HTMLParser import requests import sys +import re from collections import defaultdict from datetime import date, timedelta, datetime from dateutil.parser import parse @@ -35,14 +36,16 @@ def process_failure (url, cut_off_date): build_date = parse (t, fuzzy=True) if build_date.date() < cut_off_date: return 1 - elif t == 'Result: FAIL': + elif t.find("Result: FAIL") != -1: print TERM.red + ('FAILURE on %s' % BASE+url) + TERM.normal for t2 in accum: print t2.encode('utf-8') if t2.find("Wstat") != -1: - summary[t2.split(" ")[0]].append(url) + test_case = re.search('\./tests/.*\.t',t2) + if test_case: + summary[test_case.group()].append(url) accum = [] - elif t == 'Result: PASS': + elif t.find("Result: PASS") != -1: accum = [] elif t.find("cur_cores=/") != -1: summary["core"].append([t.split("/")[1]]) @@ -110,11 +113,18 @@ if __name__ == '__main__': main(BASE+'/job/rackspace-regression-2GB-triggered/') elif sys.argv[1].find("get-summary") != -1: if len(sys.argv) < 4: - print "Usage: failed-tests.py get-summary <last_no_of_days> <regression_link>" + print "Usage: failed-tests.py get-summary <last_no_of_days> <centos|netbsd|regression_link>" sys.exit(0) num_days=int(sys.argv[2]) cut_off_date=date.today() - timedelta(days=num_days) - reg_link = sys.argv[3] + reg = sys.argv[3] + if reg == 'centos': + reg_link = '/job/rackspace-regression-2GB-triggered/' + elif reg == 'netbsd': + reg_link = '/job/rackspace-netbsd7-regression-triggered/' + else: + reg_link = reg + build_id = int(requests.get(BASE+reg_link+"lastBuild/buildNumber", verify=False).text) get_summary(build_id, cut_off_date, reg_link) else: |