[erlang-bugs] Common Test 1.6.1 - Surefire

Jóvan Sean Dippenaar <>
Sat May 5 14:01:14 CEST 2012

Errors in Common Test 1.6.1 - cth_surefire.erl

cth_surefire.erl has a two errors :

1. " on_tc_fail( TC, Res, State)" should be "on_tc_fail(_Tc, Res, State)", as the TC causes a bad match on inside the function with regards to the TC record. 
    this causes surefire results to generate .xml which indicate passed tests when in actual fact the tests have failed.

2. failures in "init_per_suite" cause "on_tc_skip" to be called which is correct up until "on_tc_skip" is called for "end_per_suite" as well. This also means that 
    "post_end_per_suite" is never called, which is the problem. As "post_end_per_suite" takes all test cases results and places in State#state{ test_suites ).
    This is important as the xml generation on terminate iterates thru the test suites.

    here's a fix :

on_tc_skip(Tc, Res, State) ->
    TCs = State#state.test_cases,
    [TC | RestTCs ] = TCs,
    {CurTC, CurRestTCs} = case TC#testcase.failure of
						    	passed -> {TC, RestTCs};
						    	_OtherFailure -> 
						    		Name = atom_to_list(Tc),
						    		NTC = new_tc_rec(Name, State#state{timer = now()}),
						    		{NTC, TCs}
    NewTC = CurTC#testcase{ 
    						failure = {skipped, lists:flatten(io_lib:format("~p",[Res])) } 
    NewState = State#state{ test_cases = [NewTC | CurRestTCs]},
    case Tc of
    	end_per_suite ->
    		 Suite = get_suite(NewState, TCs),
		    AltState =  NewState#state{ test_cases = [],  test_suites = [Suite | NewState#state.test_suites]},
    	_Other ->

/ Jovan Sean Dippenaar - Aeonmind Enterprises

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-7.pdf
Type: application/pdf
Size: 35462 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20120505/c2713932/attachment-0001.pdf>
-------------- next part --------------

More information about the erlang-bugs mailing list