File tree Expand file tree Collapse file tree 2 files changed +23
-1
lines changed
Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -25,7 +25,14 @@ def from_env(env)
2525
2626 def load_flaky_tests ( path )
2727 return [ ] unless path
28- ::File . readlines ( path ) . map ( &:chomp ) . to_set
28+ if ::File . extname ( path ) == ".xml"
29+ require 'rexml/document'
30+ REXML ::Document . new ( ::File . read ( path ) ) . elements . to_a ( "//testcase" ) . map do |element |
31+ "#{ element . attributes [ 'classname' ] } ##{ element . attributes [ 'name' ] } "
32+ end . to_set
33+ else
34+ ::File . readlines ( path ) . map ( &:chomp ) . to_set
35+ end
2936 rescue SystemCallError
3037 [ ]
3138 end
Original file line number Diff line number Diff line change @@ -90,6 +90,21 @@ def test_parses_file_correctly
9090
9191 flaky_tests = Configuration . load_flaky_tests ( '/tmp/does-not-exist' )
9292 assert_empty flaky_tests
93+
94+ Tempfile . open ( [ 'flaky_test_file' , '.junit.xml' ] ) do |file |
95+ file . write ( <<~XML )
96+ <testsuite name="ATest">
97+ <testcase name="test_foo" classname="ATest" />
98+ <testcase name="test_bar" classname="ATest" />
99+ </testsuite>
100+ XML
101+ file . close
102+
103+ flaky_tests = Configuration . load_flaky_tests ( file . path )
104+ assert_equal 2 , flaky_tests . size
105+ assert_includes flaky_tests , "ATest#test_foo"
106+ assert_includes flaky_tests , "ATest#test_bar"
107+ end
93108 end
94109
95110 def test_queue_init_timeout_unset
You can’t perform that action at this time.
0 commit comments