Anton Shestakov <av6@dwimlabs.net>, Sat, 02 Jul 2016 13:10:27 +0800
incoming: un-anchor "job failed" regex
Allows catching lines from bad_exit() (ed7f35f).
tests/test_incoming.py
Permissions: -rw-r--r--
from incoming import match_linter_output, parse_project_url def test_match_linter_output(): mlo = match_linter_output usual_keys = ['cls', 'fileline', 'filename'] errors, warnings, extra = mlo('hello.py:42:1: W123 clowntown ahoy') assert sorted(extra.keys()) == usual_keys assert extra['cls'] == 'warning' assert extra['filename'] == 'hello.py' assert extra['fileline'] == 42 errors, warnings, extra = mlo('file with spaces:007:001: [error] oops!') assert sorted(extra.keys()) == usual_keys assert extra['cls'] == 'error' assert extra['filename'] == 'file with spaces' assert extra['fileline'] == 7 errors, warnings, extra = mlo('requirements.txt:1:1: PIL is obsolete.') assert sorted(extra.keys()) == usual_keys assert extra['cls'] == 'warning' assert extra['filename'] == 'requirements.txt' assert extra['fileline'] == 1 errors, warnings, extra = mlo('ham.lua:414:90: (E101) foo is not good') assert sorted(extra.keys()) == usual_keys assert extra['cls'] == 'error' assert extra['filename'] == 'ham.lua' assert extra['fileline'] == 414 def test_parse_project_url(): result = parse_project_url('https://example.com/alice/hello-world') assert result == ('example.com', 'alice', 'hello-world') result = parse_project_url('~alice/hello-world') assert result == ('self', '~alice', 'hello-world') result = parse_project_url('https://code.example.com/hello-world') assert result == ('code.example.com', None, 'hello-world') result = parse_project_url('https://example.com/scm/projects/hello-world') assert result == ('example.com', 'scm', 'projects/hello-world') result = parse_project_url('https://example.com///hello-world//') assert result == ('example.com', None, 'hello-world')