lib/xcpretty/parser.rb in xcpretty-0.2.8 vs lib/xcpretty/parser.rb in xcpretty-0.3.0

- old
+ new

@@ -58,11 +58,11 @@ COMPILE_MATCHER = /^Compile[\w]+\s.+?\s((?:\\.|[^ ])+\/((?:\\.|[^ ])+\.(?:m|mm|c|cc|cpp|cxx|swift)))\s.*/ # @regex Captured groups # $1 compiler_command # $2 file_path - COMPILE_COMMAND_MATCHER = /^\s*(.*\/bin\/clang\s.*\s\-c\s(.*\.(?:m|mm|c|cc|cpp|cxx))\s.*\.o)$/ + COMPILE_COMMAND_MATCHER = /^\s*(.*clang\s.*\s\-c\s(.*\.(?:m|mm|c|cc|cpp|cxx))\s.*\.o)$/ # @regex Captured groups # $1 file_path # $2 file_name (e.g. MainMenu.xib) COMPILE_XIB_MATCHER = /^CompileXIB\s(.*\/(.*\.xib))/ @@ -104,10 +104,13 @@ # $1 = file # $2 = reason UI_FAILING_TEST_MATCHER = /^\s{4}t = \s+\d+\.\d+s\s+Assertion Failure: (.*:\d+): (.*)$/ # @regex Captured groups + RESTARTING_TESTS_MATCHER = /^Restarting after unexpected exit or crash in.+$/ + + # @regex Captured groups # $1 = dsym GENERATE_DSYM_MATCHER = /^GenerateDSYMFile \/.*\/(.*\.dSYM)/ # @regex Captured groups # $1 = library @@ -353,10 +356,12 @@ formatter.format_copy_plist_file($1, $2) when CPRESOURCE_MATCHER formatter.format_cpresource($1) when EXECUTED_MATCHER format_summary_if_needed(text) + when RESTARTING_TESTS_MATCHER + formatter.format_failing_test(@test_suite, @test_case, "Test crashed", "n/a") when UI_FAILING_TEST_MATCHER formatter.format_failing_test(@test_suite, @test_case, $2, $1) when FAILING_TEST_MATCHER formatter.format_failing_test($2, $3, $4, $1) when FATAL_ERROR_MATCHER @@ -416,11 +421,11 @@ when GENERIC_WARNING_MATCHER formatter.format_warning($1) when WILL_NOT_BE_CODE_SIGNED_MATCHER formatter.format_will_not_be_code_signed($1) else - "" + formatter.format_other(text) end end private @@ -437,9 +442,11 @@ @tests_done = true when FAILING_TEST_MATCHER store_failure(file: $1, test_suite: $2, test_case: $3, reason: $4) when UI_FAILING_TEST_MATCHER store_failure(file: $1, test_suite: @test_suite, test_case: @test_case, reason: $2) + when RESTARTING_TESTS_MATCHER + store_failure(file: "n/a", test_suite: @test_suite, test_case: @test_case, reason: "Test crashed") end end # @ return Hash { :file_name, :file_path, :reason, :line } def update_error_state(text)