Current section

Files

Jump to
white_bread lib mix tasks white_bread.run.ex
Raw

lib/mix/tasks/white_bread.run.ex

defmodule Mix.Tasks.WhiteBread.Run do
use Mix.Task
@shortdoc "Runs all the feature files with WhiteBread"
def run(argv) do
{options, arguments, _} = OptionParser.parse(argv)
case arguments do
[context_name | _ ] -> run(context_name, options)
[] -> Mix.raise "Expected context module to be given. Use `mix white_bread.run Context`"
end
end
def run(context_name, _options) do
{context, []} = Code.eval_string(context_name)
result = WhiteBread.run(context)
result
|> WhiteBread.FinalResultPrinter.text
|> IO.puts
%{failures: failures} = result
System.at_exit fn _ ->
if failures > 0, do: exit({:shutdown, 1})
end
end
end