Show the source of a failure

This commit is contained in:
Uku Taht
2015-12-17 01:41:02 +00:00
parent ff10864395
commit 4b542c584b

View File

@@ -53,14 +53,21 @@ defmodule Runner do
end
def show_failure(%{expr: expr}, module, name) do
source = module.__info__(:compile)
|> Dict.get(:source)
|> Path.relative_to(File.cwd!)
IO.puts("")
IO.puts("Now meditate upon #{display_module(module)}")
IO.puts("---------------------------------------")
IO.puts("Assertion failed!")
IO.puts("Assertion failed in #{source}:#{line_number(expr)}")
IO.puts(display_koan(name))
IO.puts(format_red(Macro.to_string(expr)))
end
def line_number({_, [line: line], _}) do
line
end
def format_red(str) do
Enum.join([ANSI.red, str, ANSI.reset], "")
end