diff --git a/gubernator/filters.py b/gubernator/filters.py index beee8ec0fb6a..d8b0e3a66ae3 100644 --- a/gubernator/filters.py +++ b/gubernator/filters.py @@ -187,6 +187,13 @@ def do_select(seq, pred): return filter(pred, seq) +def do_tg_url(testgrid_query, test_name=''): + if test_name: + regex = '^Overall$|' + re.escape(test_name) + testgrid_query += '&include-filter-by-regex=%s' % urllib.quote(regex) + return 'https://k8s-testgrid.appspot.com/%s' % testgrid_query + + do_basename = os.path.basename do_dirname = os.path.dirname do_quote_plus = urllib.quote_plus diff --git a/gubernator/filters_test.py b/gubernator/filters_test.py index 58dff2a37cbd..1caa9c3877f3 100644 --- a/gubernator/filters_test.py +++ b/gubernator/filters_test.py @@ -16,6 +16,7 @@ import re import unittest +import urllib import filters @@ -101,6 +102,15 @@ def expect(payload, expected, user=''): expect({'attn': {'foo': 'Needs Rebase'}}, 'Needs Rebase', user='foo') expect({'attn': {'foo': 'Needs Rebase'}, 'labels': {'lgtm'}}, 'LGTM', user='foo') + def test_tg_url(self): + self.assertEqual( + filters.do_tg_url('a#b'), + 'https://k8s-testgrid.appspot.com/a#b') + self.assertEqual( + filters.do_tg_url('a#b', '[low] test'), + 'https://k8s-testgrid.appspot.com/a#b&include-filter-by-regex=%s' % + urllib.quote('^Overall$|\\[low\\]\\ test')) + if __name__ == '__main__': unittest.main() diff --git a/gubernator/log_parser.py b/gubernator/log_parser.py index c9ce15f6696b..1712e3c6f27e 100755 --- a/gubernator/log_parser.py +++ b/gubernator/log_parser.py @@ -59,7 +59,7 @@ def log_html(lines, matched_lines, hilight_words, skip_fmt): skip_string = ('' '' '%s' - '