mirror of https://github.com/KLayout/klayout.git
50 lines
1.3 KiB
Ruby
50 lines
1.3 KiB
Ruby
require 'test/unit/ui/console/testrunner'
|
|
|
|
module Test
|
|
module Unit
|
|
module UI
|
|
module Emacs
|
|
class TestRunner < Console::TestRunner
|
|
private
|
|
def output_setup_end
|
|
end
|
|
|
|
def output_started
|
|
end
|
|
|
|
def format_fault(fault)
|
|
return super unless fault.respond_to?(:label)
|
|
format_method_name = "format_fault_#{fault.label.downcase}"
|
|
if respond_to?(format_method_name, true)
|
|
__send__(format_method_name, fault)
|
|
else
|
|
super
|
|
end
|
|
end
|
|
|
|
def format_fault_failure(failure)
|
|
if failure.location.size == 1
|
|
location = failure.location[0]
|
|
location_display = location.sub(/\A(.+:\d+).*/, ' [\\1]')
|
|
else
|
|
location_display = "\n" + failure.location.join("\n")
|
|
end
|
|
result = "#{failure.label}:\n"
|
|
result << "#{failure.test_name}#{location_display}:\n"
|
|
result << failure.message
|
|
result
|
|
end
|
|
|
|
def format_fault_error(error)
|
|
result = "#{error.label}:\n"
|
|
result << "#{error.test_name}:\n"
|
|
result << "#{error.message}\n"
|
|
result << error.backtrace.join("\n")
|
|
result
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|