Class: Scan::TestResultParser

Inherits:
Object
  • Object
show all
Defined in:
lib/scan/test_result_parser.rb

Instance Method Summary collapse

Instance Method Details

#parse_result(output) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/scan/test_result_parser.rb', line 3

def parse_result(output)
  # e.g. ...<testsuites tests='2' failures='1'>...
  matched = output.scan(/<testsuites\b(?=[^<>]*\s+tests='(\d+)')(?=[^<>]*\s+failures='(\d+)')[^<>]+>/)

  if matched and matched.length == 1 and matched[0].length == 2
    tests = matched[0][0].to_i
    failures = matched[0][1].to_i

    return {
      tests: tests,
      failures: failures
    }
  else
    UI.error("Couldn't parse the number of tests from the output")
    return {}
  end
end