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)