diff options
author | Björn Gustavsson <[email protected]> | 2012-11-08 14:49:36 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-11-08 14:49:36 +0100 |
commit | a1ba0ade00a08968d289912c8a8b709417ba80c5 (patch) | |
tree | c41db49405fe6b9d905abbe059d4ecf286d0072d /lib/test_server | |
parent | 27cadfdfb196d29cc237a7938fe97671d40264a6 (diff) | |
parent | f816de97c1fdbb96ca09a8980dab32ad2e1785e7 (diff) | |
download | otp-a1ba0ade00a08968d289912c8a8b709417ba80c5.tar.gz otp-a1ba0ade00a08968d289912c8a8b709417ba80c5.tar.bz2 otp-a1ba0ade00a08968d289912c8a8b709417ba80c5.zip |
Merge branch 'bjorn/ct/minor-corrections'
* bjorn/ct/minor-corrections:
test_server_io: Correct a few comments
Handle ct:abort_current_testcase/1 when executing parallel groups
Make sure that "Cover analysing..." is written to stdout
Make sure that "Testing..." is not written if testing has finished
Diffstat (limited to 'lib/test_server')
-rw-r--r-- | lib/test_server/src/test_server.erl | 2 | ||||
-rw-r--r-- | lib/test_server/src/test_server_ctrl.erl | 9 | ||||
-rw-r--r-- | lib/test_server/src/test_server_io.erl | 8 |
3 files changed, 13 insertions, 6 deletions
diff --git a/lib/test_server/src/test_server.erl b/lib/test_server/src/test_server.erl index 2a45ace8c0..1d3394e0ca 100644 --- a/lib/test_server/src/test_server.erl +++ b/lib/test_server/src/test_server.erl @@ -240,7 +240,7 @@ do_cover_compile1([]) -> %% this is only recommended if the erlang node is being terminated %% after the test is completed. cover_analyse(Analyse,Modules,Stop) -> - io:fwrite("Cover analysing...\n",[]), + print(stdout, "Cover analysing...\n", []), DetailsFun = case Analyse of {details,Dir} -> diff --git a/lib/test_server/src/test_server_ctrl.erl b/lib/test_server/src/test_server_ctrl.erl index e90586b7d4..7b2ebcefc0 100644 --- a/lib/test_server/src/test_server_ctrl.erl +++ b/lib/test_server/src/test_server_ctrl.erl @@ -350,8 +350,7 @@ wait_finish() -> ok. abort_current_testcase(Reason) -> - controller_call({abort_current_testcase,Reason}), - ok. + controller_call({abort_current_testcase,Reason}). abort() -> OldTrap = process_flag(trap_exit, true), @@ -1185,6 +1184,7 @@ init_tester(Mod, Func, Args, Dir, Name, {_,_,MinLev}=Levels, group_leader(test_server_io:get_gl(true), self()), {TimeMy,Result} = ts_tc(Mod, Func, Args), set_io_buffering(undefined), + test_server_io:set_job_name(undefined), catch stop_extra_tools(StartedExtraTools), case Result of {'EXIT',test_suites_done} -> @@ -3434,6 +3434,11 @@ handle_io_and_exit_loop(_, [], Ok,Skip,Fail) -> handle_io_and_exits(Main, CurrPid, CaseNum, Mod, Func, Cases) -> receive + {abort_current_testcase=Tag,_Reason,From} -> + %% If a parallel group is executing, there is no unique + %% current test case, so we must generate an error. + From ! {self(),Tag,{error,parallel_group}}, + handle_io_and_exits(Main, CurrPid, CaseNum, Mod, Func, Cases); %% end of io session from test case executed by main process {finished,_,Main,CaseNum,Mod,Func,Result,_RetVal} -> test_server_io:print_buffered(CurrPid), diff --git a/lib/test_server/src/test_server_io.erl b/lib/test_server/src/test_server_io.erl index abdfb71241..e960b3087a 100644 --- a/lib/test_server/src/test_server_io.erl +++ b/lib/test_server/src/test_server_io.erl @@ -68,8 +68,8 @@ stop() -> %% Return a group leader (a process using the test_server_gl module). %% If Shared is true, the shared group leader is returned (suitable for %% running sequential test cases), otherwise a new group leader process -%% is spawned. Group leader processes will live until they are garbaged -%% collected by a call to gc/0. +%% is spawned. Group leader processes will live until the +%% 'test_server_io' process is stopped. get_gl(Shared) when is_boolean(Shared) -> req({get_gl,Shared}). @@ -95,7 +95,7 @@ start_transaction() -> %% end_transaction() %% %% End the transaction started by start_transaction/0. Subsequent calls to -%% print/3 will cause the message to be printed directory. +%% print/3 will cause the message to be printed directly. end_transaction() -> req({end_transaction,self()}). @@ -253,6 +253,8 @@ output(From, Tag, Str, #st{io_buffering=Buffered,buffered=Buf0}=St) -> St#st{buffered=Buf} end. +do_output(stdout, Str, #st{job_name=undefined}) -> + io:put_chars(Str); do_output(stdout, Str0, #st{job_name=Name}) -> Str = io_lib:format("Testing ~s: ~s\n", [Name,Str0]), io:put_chars(Str); |