diff options
Diffstat (limited to 'lib/common_test/test_server')
| -rw-r--r-- | lib/common_test/test_server/ts_install.erl | 4 | ||||
| -rw-r--r-- | lib/common_test/test_server/ts_lib.erl | 24 | ||||
| -rw-r--r-- | lib/common_test/test_server/ts_make.erl | 4 | ||||
| -rw-r--r-- | lib/common_test/test_server/ts_run.erl | 7 | 
4 files changed, 33 insertions, 6 deletions
| diff --git a/lib/common_test/test_server/ts_install.erl b/lib/common_test/test_server/ts_install.erl index 5734bd0787..c4e0223ac7 100644 --- a/lib/common_test/test_server/ts_install.erl +++ b/lib/common_test/test_server/ts_install.erl @@ -1,7 +1,7 @@  %%  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 1997-2016. All Rights Reserved. +%% Copyright Ericsson AB 1997-2017. All Rights Reserved.  %%  %% Licensed under the Apache License, Version 2.0 (the "License");  %% you may not use this file except in compliance with the License. @@ -136,7 +136,7 @@ unix_autoconf(XConf) ->  	true ->  	    OSXEnv = macosx_cflags(),  	    UnQuotedEnv = assign_vars(unquote(Env++OSXEnv)), -	    io:format("Running ~s~nEnv: ~p~n", +	    io:format("Running ~ts~nEnv: ~p~n",  		      [lists:flatten(Configure ++ Args),UnQuotedEnv]),  	    Port = open_port({spawn, lists:flatten(["\"",Configure,"\"",Args])},  			     [stream, eof, {env,UnQuotedEnv}]), diff --git a/lib/common_test/test_server/ts_lib.erl b/lib/common_test/test_server/ts_lib.erl index a7be740c5c..ea039a2c2b 100644 --- a/lib/common_test/test_server/ts_lib.erl +++ b/lib/common_test/test_server/ts_lib.erl @@ -120,7 +120,8 @@ specs(Dir) ->  				      []  			      end  		      end, Specs), -    sort_tests(MainSpecs). + +    sort_tests(filter_tests(MainSpecs)).  test_categories(Dir, App) ->      Specs = filelib:wildcard(filename:join([filename:dirname(Dir), @@ -141,10 +142,29 @@ suites(Dir, App) ->  			"*_SUITE.erl"]),      Suites=filelib:wildcard(Glob),      [filename_to_atom(Name) || Name <- Suites]. -     +  filename_to_atom(Name) ->      list_to_atom(filename:rootname(filename:basename(Name))). +%% Filter out tests of applications that are not accessible + +filter_tests(Tests) -> +    lists:filter( +      fun(Special) when Special == epmd; +                        Special == emulator; +                        Special == system -> +              true; +         (Test) -> +              case application:load(filename_to_atom(Test)) of +                  {error, {already_loaded, _}} -> +                      true; +                  {error,_NoSuchApplication} -> +                      false; +                  _ -> +                      true +              end +      end, Tests). +  %% Sorts a list of either log files directories or spec files.  sort_tests(Tests) -> diff --git a/lib/common_test/test_server/ts_make.erl b/lib/common_test/test_server/ts_make.erl index 456e913c39..ad5b75b529 100644 --- a/lib/common_test/test_server/ts_make.erl +++ b/lib/common_test/test_server/ts_make.erl @@ -1,7 +1,7 @@  %%  %% %CopyrightBegin%  %%  -%% Copyright Ericsson AB 1997-2016. All Rights Reserved. +%% Copyright Ericsson AB 1997-2017. All Rights Reserved.  %%   %% Licensed under the Apache License, Version 2.0 (the "License");  %% you may not use this file except in compliance with the License. @@ -42,7 +42,7 @@ unmake(Config) when is_list(Config) ->  make(Make, Dir, Makefile) ->      {RunFile, RunCmd, Script} = run_make_script(os:type(), Make, Dir, Makefile), -    case file:write_file(RunFile, Script) of +    case file:write_file(RunFile, unicode:characters_to_binary(Script)) of  	ok ->  	    Log = filename:join(Dir, "make.log"),  	    file:delete(Log), diff --git a/lib/common_test/test_server/ts_run.erl b/lib/common_test/test_server/ts_run.erl index 82ae44ec06..e22fa8d196 100644 --- a/lib/common_test/test_server/ts_run.erl +++ b/lib/common_test/test_server/ts_run.erl @@ -96,6 +96,9 @@ ct_run_test(Dir, CommonTestArgs) ->  	case ct:run_test(CommonTestArgs) of  	    {_,_,_} ->  		ok; +            {error,{make_failed, _Modules} = Error} -> +		io:format("ERROR: ~P\n", [Error,20]), +                erlang:halt(123, [{flush,false}]);  	    {error,Error} ->  		io:format("ERROR: ~P\n", [Error,20]);  	    Other -> @@ -288,6 +291,10 @@ tricky_print_data(Port, Timeout) ->              receive                  {Port, {exit_status, 0}} ->                      ok; +                {Port, {exit_status, 123 = N}} -> +                    io:format(user, "Test run exited with status ~p," +                              "aborting rest of test~n", [N]), +                    erlang:halt(123, [{flush,false}]);                  {Port, {exit_status, N}} ->                      io:format(user, "Test run exited with status ~p~n", [N])              after 1 -> | 
