diff options
-rw-r--r-- | src/rebar_ct.erl | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/rebar_ct.erl b/src/rebar_ct.erl index 2cb2f8f..007e09f 100644 --- a/src/rebar_ct.erl +++ b/src/rebar_ct.erl @@ -102,13 +102,21 @@ clear_log(RawLog) -> %% calling ct with erl does not return non-zero on failure - have to check %% log results check_log(RawLog) -> - Msg = os:cmd("grep 'TEST COMPLETE' " ++ RawLog), - case string:str(Msg, ", 0 failed") of - 0 -> + Msg = os:cmd("grep -e 'TEST COMPLETE' -e '{error,make_failed}' " ++ RawLog), + MakeFailed = string:str(Msg, "{error,make_failed}") =/= 0, + RunFailed = string:str(Msg, ", 0 failed") =:= 0, + if + MakeFailed -> + show_log(RawLog), + ?ERROR("Building tests failed\n",[]), + ?FAIL; + + RunFailed -> show_log(RawLog), ?ERROR("One or more tests failed\n",[]), ?FAIL; - _ -> + + true -> ?CONSOLE("DONE. ~s\n", [Msg]) end. |