diff options
Diffstat (limited to 'lib/test_server')
-rw-r--r-- | lib/test_server/doc/src/notes.xml | 41 | ||||
-rw-r--r-- | lib/test_server/src/test_server_io.erl | 6 | ||||
-rw-r--r-- | lib/test_server/src/ts.erl | 52 | ||||
-rw-r--r-- | lib/test_server/vsn.mk | 2 |
4 files changed, 83 insertions, 18 deletions
diff --git a/lib/test_server/doc/src/notes.xml b/lib/test_server/doc/src/notes.xml index 3b109193a0..6a9add044a 100644 --- a/lib/test_server/doc/src/notes.xml +++ b/lib/test_server/doc/src/notes.xml @@ -32,6 +32,47 @@ <file>notes.xml</file> </header> +<section><title>Test_Server 3.5.3</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + test_server_h will now recognize info_reports written by + ct connection handlers (according to the description in + cth_conn_log) and ignore them as they will be completely + handled by by ct_conn_log_h.</p> + <p> + Earlier test_server_h would print a tag (testcase name) + before forwarding the report to error_logger_tty_h. This + would cause lots of tags in the log with no info report + following (since error_logger_tty_h did not handle them).</p> + <p> + Own Id: OTP-10571</p> + </item> + </list> + </section> + + + <section><title>Known Bugs and Problems</title> + <list> + <item> + <p> + Restore Config data if lost when test case fails.</p> + <p> + Own Id: OTP-10070 Aux Id: kunagi-175 [86] </p> + </item> + <item> + <p> + IO server error in test_server.</p> + <p> + Own Id: OTP-10125 Aux Id: OTP-10101, kunagi-177 [88] </p> + </item> + </list> + </section> + +</section> + <section><title>Test_Server 3.5.2</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/test_server/src/test_server_io.erl b/lib/test_server/src/test_server_io.erl index e960b3087a..777b377201 100644 --- a/lib/test_server/src/test_server_io.erl +++ b/lib/test_server/src/test_server_io.erl @@ -307,8 +307,10 @@ do_print_buffered(Q0, St) -> gc(#st{gls=Gls0}) -> InUse0 = [begin - {group_leader,GL} = process_info(P, group_leader), - GL + case process_info(P, group_leader) of + {group_leader,GL} -> GL; + undefined -> undefined + end end || P <- processes()], InUse = ordsets:from_list(InUse0), Gls = gb_sets:to_list(Gls0), diff --git a/lib/test_server/src/ts.erl b/lib/test_server/src/ts.erl index 3ddc58fdbc..115e783070 100644 --- a/lib/test_server/src/ts.erl +++ b/lib/test_server/src/ts.erl @@ -259,21 +259,43 @@ run(List, Opts) when is_list(List), is_list(Opts) -> run(Testspec, Config) when is_atom(Testspec), is_list(Config) -> Options=check_test_get_opts(Testspec, Config), File=atom_to_list(Testspec), - Spec = case code:lib_dir(Testspec) of - _ when Testspec == emulator; - Testspec == system; - Testspec == epmd -> - File++".spec"; - {error, bad_name} -> - create_skip_spec(Testspec, tests(Testspec)); - Path -> - case file:read_file_info(filename:join(Path,"ebin")) of - {ok,_} -> - File++".spec"; - _ -> - create_skip_spec(Testspec, tests(Testspec)) - end - end, + WhatToDo = + case Testspec of + %% Known to exist but fails generic tests below + emulator -> test; + system -> test; + erl_interface -> test; + epmd -> test; + _ -> + case code:lib_dir(Testspec) of + {error,bad_name} -> + %% Application does not exist + skip; + Path -> + case file:read_file_info(filename:join(Path,"ebin")) of + {ok,#file_info{type=directory}} -> + %% Erlang application is built + test; + _ -> + case filelib:wildcard( + filename:join([Path,"priv","*.jar"])) of + [] -> + %% The application is not built + skip; + [_|_] -> + %% Java application is built + test + end + end + end + end, + Spec = + case WhatToDo of + skip -> + create_skip_spec(Testspec, tests(Testspec)); + test -> + File++".spec" + end, run_test(File, [{spec,[Spec]}], Options); %% Runs one module in a spec (interactive) run(Testspec, Mod) when is_atom(Testspec), is_atom(Mod) -> diff --git a/lib/test_server/vsn.mk b/lib/test_server/vsn.mk index aecf595f3f..b956ebb2b3 100644 --- a/lib/test_server/vsn.mk +++ b/lib/test_server/vsn.mk @@ -1 +1 @@ -TEST_SERVER_VSN = 3.5.2 +TEST_SERVER_VSN = 3.5.3 |