Add timeout for PyLint and PyUnit Adapter
This commit is contained in:
@ -11,11 +11,17 @@ class PyLintAdapter < TestingFrameworkAdapter
|
|||||||
count = captures.second
|
count = captures.second
|
||||||
passed = captures.first
|
passed = captures.first
|
||||||
failed = count - passed
|
failed = count - passed
|
||||||
assertion_error_matches = output[:stdout].scan(ASSERTION_ERROR_REGEXP).map { |match|
|
begin
|
||||||
test = match.first.strip
|
Timeout.timeout(2.seconds) do
|
||||||
description = match.second.strip
|
assertion_error_matches = output[:stdout].scan(ASSERTION_ERROR_REGEXP).map { |match|
|
||||||
"#{test}: #{description}"
|
test = match.first.strip
|
||||||
}.flatten || []
|
description = match.second.strip
|
||||||
|
"#{test}: #{description}"
|
||||||
|
}.flatten || []
|
||||||
|
end
|
||||||
|
rescue Timeout::Error
|
||||||
|
assertion_error_matches = []
|
||||||
|
end
|
||||||
{count: count, failed: failed, error_messages: assertion_error_matches}
|
{count: count, failed: failed, error_messages: assertion_error_matches}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -14,16 +14,22 @@ class PyUnitAdapter < TestingFrameworkAdapter
|
|||||||
failed = failures_matches ? failures_matches.captures.try(:first).to_i : 0
|
failed = failures_matches ? failures_matches.captures.try(:first).to_i : 0
|
||||||
error_matches = ERRORS_REGEXP.match(output[:stderr])
|
error_matches = ERRORS_REGEXP.match(output[:stderr])
|
||||||
errors = error_matches ? error_matches.captures.try(:first).to_i : 0
|
errors = error_matches ? error_matches.captures.try(:first).to_i : 0
|
||||||
assertion_error_matches = output[:stderr].scan(ASSERTION_ERROR_REGEXP).map { |match|
|
begin
|
||||||
testname = match[1]
|
Timeout.timeout(2.seconds) do
|
||||||
error = match[3].strip
|
assertion_error_matches = output[:stderr].scan(ASSERTION_ERROR_REGEXP).map { |match|
|
||||||
|
testname = match[1]
|
||||||
|
error = match[3].strip
|
||||||
|
|
||||||
if testname == 'test_assess'
|
if testname == 'test_assess'
|
||||||
error
|
error
|
||||||
else
|
else
|
||||||
"#{testname}: #{error}"
|
"#{testname}: #{error}"
|
||||||
|
end
|
||||||
|
}.flatten || []
|
||||||
end
|
end
|
||||||
}.flatten || []
|
rescue Timeout::Error
|
||||||
|
assertion_error_matches = []
|
||||||
|
end
|
||||||
{count: count, failed: failed + errors, error_messages: assertion_error_matches}
|
{count: count, failed: failed + errors, error_messages: assertion_error_matches}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user