49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/ceedling/generator_helper.rb', line 49
def log_test_results_crash(executable, shell_result, backtrace)
runner = File.basename(executable)
notice = "Test executable `#{runner}` seems to have crashed -- likely terminating early due to a bad code reference.\n"
if (shell_result[:output].nil? or shell_result[:output].strip.empty?)
notice += "> Produced no output (including no final test result counts).\n"
elsif ((shell_result[:output] =~ TEST_STDOUT_STATISTICS_PATTERN).nil?)
notice += "> Produced some output but contains no final test result counts.\n"
end
notice += "> Causes can include: bad memory access, stack overflow, heap error, or bad branch in source or test code.\n"
case backtrace
when :simple
notice += "> Consider configuring :project ↳ :use_backtrace to use the :gdb option to find the cause (see documentation).\n"
when :none
notice += "> Consider configuring :project ↳ :use_backtrace to help find the cause (see documentation).\n"
end
@loginator.log( notice, Verbosity::ERRORS, LogLabels::CRASH )
end
|