)]}'
{"rally/verification/context.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"48a497f952a25908577183e90a5f5df3638bd917","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    result \u003d {}"},{"line_number":32,"context_line":"    if not regexps:"},{"line_number":33,"context_line":"        return result"},{"line_number":34,"context_line":"    for regex, reason in regexps.items():"},{"line_number":35,"context_line":"        try:"},{"line_number":36,"context_line":"            pattern \u003d re.compile(regex)"},{"line_number":37,"context_line":"            for test in load_list:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_aeed8d26","line":34,"range":{"start_line":34,"start_character":1,"end_line":34,"end_character":41},"updated":"2019-06-03 13:59:21.000000000","message":"Regexp is a powerful thing which can help with skipping tests with a particular word (like \u0027image\u0027 for example), but we can improve UX with the next features:\n\n* check whether a pattern is a test class/module, so users can transmit just something like tempest.compute.separate_module instead of `tempest\\.compute\\.separate_module.*`. \n* check whether a pattern in a `tag`. Parsing test name can be done as like here https://github.com/openstack/rally/blob/1.5.1/rally/common/io/subunit_v2.py#L50\n\nPS: these ideas are for follow-up patch, not for the current one.","commit_id":"f99f4422497b19d63cf7e69be78760493c1774bf"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"e6c4e2ab5ade41d36e73884d16711bb7795eda85","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    result \u003d {}"},{"line_number":32,"context_line":"    if not regexps:"},{"line_number":33,"context_line":"        return result"},{"line_number":34,"context_line":"    for regex, reason in regexps.items():"},{"line_number":35,"context_line":"        try:"},{"line_number":36,"context_line":"            pattern \u003d re.compile(regex)"},{"line_number":37,"context_line":"            for test in load_list:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_ead031cc","line":34,"range":{"start_line":34,"start_character":1,"end_line":34,"end_character":41},"in_reply_to":"9fb8cfa7_8fb75487","updated":"2019-06-04 20:50:08.000000000","message":"yup. it is actually what I propose to do :)","commit_id":"f99f4422497b19d63cf7e69be78760493c1774bf"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"8f0d5ec8614ec2b1b08fdf5da4b193b8668c2e71","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    result \u003d {}"},{"line_number":32,"context_line":"    if not regexps:"},{"line_number":33,"context_line":"        return result"},{"line_number":34,"context_line":"    for regex, reason in regexps.items():"},{"line_number":35,"context_line":"        try:"},{"line_number":36,"context_line":"            pattern \u003d re.compile(regex)"},{"line_number":37,"context_line":"            for test in load_list:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_8fb75487","line":34,"range":{"start_line":34,"start_character":1,"end_line":34,"end_character":41},"in_reply_to":"9fb8cfa7_aeed8d26","updated":"2019-06-04 09:20:54.000000000","message":"Thanks for the review Andrey. So you envisage that the format of the skip list file should remain unchanged and we should do the checks in a certain order? So something like:\n\n- if item is a valid tag: return test matching tag\n- else if item is valid module or class: return all tests in module or class\n- else if item is an exact match for test id: return test that exactly matches\n- else if regex match: return all tests that match regex\n\nhopefully that makes sense :)","commit_id":"f99f4422497b19d63cf7e69be78760493c1774bf"}]}
