diff options
Diffstat (limited to 'lib/common_test')
| -rw-r--r-- | lib/common_test/doc/src/Makefile | 4 | ||||
| -rw-r--r-- | lib/common_test/src/ct_logs.erl | 16 | ||||
| -rw-r--r-- | lib/common_test/src/test_server_ctrl.erl | 35 | 
3 files changed, 45 insertions, 10 deletions
diff --git a/lib/common_test/doc/src/Makefile b/lib/common_test/doc/src/Makefile index b60b04c4ae..293ef591cb 100644 --- a/lib/common_test/doc/src/Makefile +++ b/lib/common_test/doc/src/Makefile @@ -60,6 +60,7 @@ XML_REF6_FILES = common_test_app.xml  XML_PART_FILES = part.xml  XML_CHAPTER_FILES = \ +	introduction.xml \  	basics_chapter.xml \  	getting_started_chapter.xml \  	install_chapter.xml \ @@ -74,8 +75,7 @@ XML_CHAPTER_FILES = \  	event_handler_chapter.xml \  	ct_hooks_chapter.xml \  	dependencies_chapter.xml \ -	notes.xml \ -	notes_history.xml +	notes.xml  BOOK_FILES = book.xml diff --git a/lib/common_test/src/ct_logs.erl b/lib/common_test/src/ct_logs.erl index f1f8065599..fb6a095b57 100644 --- a/lib/common_test/src/ct_logs.erl +++ b/lib/common_test/src/ct_logs.erl @@ -3148,8 +3148,8 @@ locate_priv_file(FileName) ->  			filename:join(get(ct_run_dir), FileName);  		    _ ->			  			%% executed on other process than ct_logs -			{ok,RunDir} = get_log_dir(true), -			filename:join(RunDir, FileName) +			{ok,LogDir} = get_log_dir(true), +			filename:join(LogDir, FileName)  		end,  	    case filelib:is_file(PrivResultFile) of  		true -> @@ -3231,6 +3231,10 @@ get_ts_html_wrapper(TestName, Logdir, PrintLabel, Cwd, TableCols, Encoding) ->  					  ?all_runs_name), Cwd),      TestIndex = make_relative(filename:join(filename:dirname(CtLogdir),  					    ?index_name), Cwd), +    LatestTest = make_relative(filename:join(filename:dirname(CtLogdir), +                                           ?suitelog_name++".latest.html"), +                             Cwd), +      case Basic of  	true ->  	    TileFile = filename:join(filename:join(CTPath,"priv"),"tile1.jpg"), @@ -3257,7 +3261,9 @@ get_ts_html_wrapper(TestName, Logdir, PrintLabel, Cwd, TableCols, Encoding) ->  	      "<a href=\"", uri(AllRuns),  	      "\">Test run history\n</a>  |  ",  	      "<a href=\"", uri(TestIndex), -	      "\">Top level test index\n</a>\n</p>\n", +	      "\">Top level test index\n</a>  |  ", +	      "<a href=\"", uri(LatestTest), +              "\">Latest test result</a>\n</p>\n",  	      Copyright,"</center>\n</body>\n</html>\n"]};  	_ ->  	    Copyright =  @@ -3304,7 +3310,9 @@ get_ts_html_wrapper(TestName, Logdir, PrintLabel, Cwd, TableCols, Encoding) ->  	      "<a href=\"", uri(AllRuns),  	      "\">Test run history\n</a>  |  ",  	      "<a href=\"", uri(TestIndex), -	      "\">Top level test index\n</a>\n</p>\n", +	      "\">Top level test index\n</a>  |  ", +	      "<a href=\"", uri(LatestTest), +              "\">Latest test result</a>\n</p>\n",  	      Copyright,"</center>\n</body>\n</html>\n"]}      end. diff --git a/lib/common_test/src/test_server_ctrl.erl b/lib/common_test/src/test_server_ctrl.erl index 701a45a517..8ef28b3343 100644 --- a/lib/common_test/src/test_server_ctrl.erl +++ b/lib/common_test/src/test_server_ctrl.erl @@ -89,6 +89,7 @@  -define(logdir_ext, ".logs").  -define(data_dir_suffix, "_data/").  -define(suitelog_name, "suite.log"). +-define(suitelog_latest_name, "suite.log.latest").  -define(coverlog_name, "cover.html").  -define(raw_coverlog_name, "cover.log").  -define(cross_coverlog_name, "cross_cover.html"). @@ -1151,6 +1152,12 @@ init_tester(Mod, Func, Args, Dir, Name, {_,_,MinLev}=Levels,      end,      %% before first print, read and set logging options +    FWLogDir = +        case test_server_sup:framework_call(get_log_dir, [], []) of +            {ok,FwDir} -> FwDir; +            _          -> filename:dirname(Dir) +        end, +    put(test_server_framework_logdir, FWLogDir),      LogOpts = test_server_sup:framework_call(get_logopts, [], []),      put(test_server_logopts, LogOpts), @@ -1712,6 +1719,12 @@ start_log_file() ->      test_server_io:set_fd(html, Html),      test_server_io:set_fd(unexpected_io, Unexpected), +    %% we must assume the redirection file (to the latest suite index) can +    %% be stored on the level above the log directory of the current test +    TopDir = filename:dirname(get(test_server_framework_logdir)), +    RedirectLink = filename:join(TopDir, ?suitelog_latest_name ++ ?html_ext), +    make_html_link(RedirectLink, HtmlName, redirect), +      make_html_link(filename:absname(?last_test ++ ?html_ext),  		   HtmlName, filename:basename(Dir)),      LinkName = filename:join(Dir, ?last_link), @@ -1740,11 +1753,18 @@ make_html_link(LinkName, Target, Explanation) ->  	       false ->  		   "file:" ++ uri_encode(Target)  	   end, -    H = [html_header(Explanation), -	 "<h1>Last test</h1>\n" -	 "<a href=\"",Href,"\">",Explanation,"</a>\n" -	 "</body>\n</html>\n"], +    H = if Explanation == redirect -> +                Meta = ["<meta http-equiv=\"refresh\" " +                        "content=\"0; url=", Href, "\" />\n"], +                [html_header("redirect", Meta), "</html>\n"]; +           true -> +                [html_header(Explanation), +                 "<h1>Last test</h1>\n" +                 "<a href=\"",Href,"\">",Explanation,"</a>\n" +                 "</body>\n</html>\n"] +        end,      ok = write_html_file(LinkName, H). +      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% start_minor_log_file(Mod, Func, ParallelTC) -> AbsName @@ -5657,6 +5677,13 @@ html_header(Title) ->       "<body bgcolor=\"white\" text=\"black\" "       "link=\"blue\" vlink=\"purple\" alink=\"red\">\n"]. +html_header(Title, Meta) -> +    ["<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n" +     "<!-- autogenerated by '", atom_to_list(?MODULE), "'. -->\n" +     "<html>\n" +     "<head>\n" +     "<title>", Title, "</title>\n"] ++ Meta ++ ["</head>\n"]. +  open_html_file(File) ->      open_utf8_file(File).  | 
