anchor.diff:  	end,
       spawn_link(EndConfProc).
   
  -spawn_fw_call(Mod,{init_per_testcase,Func},Pid,{timetrap_timeout,TVal}=Why,
  +spawn_fw_call(Mod,{init_per_testcase,Func},_,Pid,{timetrap_timeout,TVal}=Why,
   	      Loc,SendTo,Comment) ->
       FwCall =
   	fun() ->
  -	    Skip = {skip,{failed,{Mod,init_per_testcase,Why}}},
  -	    %% if init_per_testcase fails, the test case
  -	    %% should be skipped
  -	    case catch do_end_tc_call(Mod,Func,{Pid,Skip,[[]]},Why) of
  -		{'EXIT',FwEndTCErr} ->
  -		    exit({fw_notify_done,end_tc,FwEndTCErr});
  -		_ ->
  -		    ok
  -	    end,
  -	    %% finished, report back
  -	    SendTo ! {self(),fw_notify_done,
  -		      {TVal/1000,Skip,Loc,[],Comment}}
  +		Skip = {skip,{failed,{Mod,init_per_testcase,Why}}},
  +		%% if init_per_testcase fails, the test case
  +		%% should be skipped
  +		case catch do_end_tc_call(Mod,Func,{Pid,Skip,[[]]},Why) of
  +		    {'EXIT',FwEndTCErr} ->
  +			exit({fw_notify_done,end_tc,FwEndTCErr});
  +		    _ ->
  +			ok
  +		end,
  +		%% finished, report back
  +		SendTo ! {self(),fw_notify_done,
  +			  {TVal/1000,Skip,Loc,[],Comment}}
   	end,
       spawn_link(FwCall);
   
  -spawn_fw_call(Mod,{end_per_testcase,Func},Pid,{timetrap_timeout,TVal}=Why,
  -	      Loc,SendTo,_Comment) ->
  +spawn_fw_call(Mod,{end_per_testcase,Func},EndConf,Pid,
  +	      {timetrap_timeout,TVal}=Why,_Loc,SendTo,Comment) ->
       FwCall =
   	fun() ->
  -	    Conf = [{tc_status,ok}],
  -	    %% if end_per_testcase fails, the test case should be
  -	    %% reported successful with a warning printed as comment
  -	    case catch do_end_tc_call(Mod,Func,{Pid,
  -						{failed,{Mod,end_per_testcase,Why}},
  -						[Conf]}, Why) of
  -		{'EXIT',FwEndTCErr} ->
  -		    exit({fw_notify_done,end_tc,FwEndTCErr});
  -		_ ->
  -		    ok
  -	    end,
  -	    %% finished, report back
  -	    SendTo ! {self(),fw_notify_done,
  -		      {TVal/1000,{error,{Mod,end_per_testcase,Why}},Loc,[],
  -		       ["<font color=\"red\">"
  -			"WARNING: end_per_testcase timed out!"
  -			"</font>"]}}
  +		%% if end_per_testcase fails a warning should be
  +		%% printed as comment
  +		case catch do_end_tc_call(Mod,Func,{Pid,
  +						    {failed,{Mod,
  +							     end_per_testcase,
  +							     Why}},
  +						    [EndConf]}, Why) of
  +		    {'EXIT',FwEndTCErr} ->
  +			exit({fw_notify_done,end_tc,FwEndTCErr});
  +		    _ ->
  +			ok
  +		end,
  +		RetVal = case proplists:get_value(tc_status, EndConf) of
  +			     undefined -> {failed,{Mod,end_per_testcase,Why}};
  +			     Result -> Result
  +			 end,
  +		FailLoc = proplists:get_value(tc_fail_loc, EndConf),
  +		Comment1 = if Comment == "" -> "";
  +			      true -> Comment ++ "<br>"
  +			   end,
  +		%% finished, report back
  +		SendTo ! {self(),fw_notify_done,
  +			  {TVal/1000,RetVal,FailLoc,[],
  +			   [Comment1,"<font color=\"red\">"
  +			    "WARNING: end_per_testcase timed out!"
  +			    "</font>"]}}
   	end,
       spawn_link(FwCall);
   
  -spawn_fw_call(FwMod,FwFunc,_Pid,{framework_error,FwError},_,SendTo,_Comment) ->
  +spawn_fw_call(FwMod,FwFunc,_,_Pid,{framework_error,FwError},_,SendTo,_Comment) ->
       FwCall =
   	fun() ->
   		test_server_sup:framework_call(report, [framework_error,
  
positive.code: 		    case mod_loc(AbortLoc) of
  			{FwMod,FwFunc,framework} ->
  			    %% abort during framework call
  			    spawn_fw_call(FwMod,FwFunc,Pid,
  					  {framework_error,ErrorMsg},
  					  unknown,self(),Comment),
  			    run_test_case_msgloop(Ref,Pid,CaptureStdout,Terminate,
  
negative.code: 	    case CurrConf of
  		{EndConfPid,{Mod,Func},_Conf} ->
  		    {_Mod,_Func,TCPid,TCExitReason,Loc} = Data,
  		    spawn_fw_call(Mod,Func,CurrConf,TCPid,TCExitReason,Loc,self(),Comment),
  		    run_test_case_msgloop(Ref,Pid,CaptureStdout,Terminate,Comment,undefined);
  		_ ->
  		    run_test_case_msgloop(Ref,Pid,CaptureStdout,Terminate,Comment,CurrConf)
  