~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to erts/emulator/test/obsolete_SUITE.erl

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
%%
2
 
%% %CopyrightBegin%
3
 
%% 
4
 
%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
5
 
%% 
6
 
%% The contents of this file are subject to the Erlang Public License,
7
 
%% Version 1.1, (the "License"); you may not use this file except in
8
 
%% compliance with the License. You should have received a copy of the
9
 
%% Erlang Public License along with this software. If not, it can be
10
 
%% retrieved online at http://www.erlang.org/.
11
 
%% 
12
 
%% Software distributed under the License is distributed on an "AS IS"
13
 
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
 
%% the License for the specific language governing rights and limitations
15
 
%% under the License.
16
 
%% 
17
 
%% %CopyrightEnd%
18
 
%%
19
 
 
20
 
 
21
 
-module(obsolete_SUITE).
22
 
-author('rickard.s.green@ericsson.com').
23
 
-compile(nowarn_obsolete_guard).
24
 
 
25
 
-export([all/1]).
26
 
 
27
 
-export([erl_threads/1]).
28
 
 
29
 
-include("test_server.hrl").
30
 
 
31
 
-define(DEFAULT_TIMETRAP_SECS, 240).
32
 
 
33
 
all(doc) -> [];
34
 
all(suite) ->
35
 
    case catch erlang:system_info(wordsize) of
36
 
        4 -> [erl_threads];
37
 
        _ -> {skip, "Only expected to work on 32-bit architectures"}
38
 
    end.
39
 
 
40
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41
 
%%                                                                        %%
42
 
%% Testcases                                                              %%
43
 
%%                                                                        %%
44
 
 
45
 
erl_threads(suite) -> [];
46
 
erl_threads(doc) ->   [];
47
 
erl_threads(Cfg) ->
48
 
    ?line case erlang:system_info(threads) of
49
 
              true ->
50
 
                  ?line drv_case(Cfg, erl_threads);
51
 
              false ->
52
 
                  ?line {skip, "Emulator not compiled with threads support"}
53
 
          end.
54
 
 
55
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56
 
%%                                                                        %%
57
 
%% Internal functions                                                     %%
58
 
%%                                                                        %%
59
 
 
60
 
drv_case(Config, CaseName) ->
61
 
    drv_case(Config, CaseName, "").
62
 
 
63
 
drv_case(Config, CaseName, TimeTrap) when integer(TimeTrap) ->
64
 
    drv_case(Config, CaseName, "", TimeTrap);
65
 
drv_case(Config, CaseName, Command) when list(Command) ->
66
 
    drv_case(Config, CaseName, Command, ?DEFAULT_TIMETRAP_SECS).
67
 
 
68
 
drv_case(Config, CaseName, TimeTrap, Command) when list(Command),
69
 
                                                   integer(TimeTrap) ->
70
 
    drv_case(Config, CaseName, Command, TimeTrap);
71
 
drv_case(Config, CaseName, Command, TimeTrap) when list(Config),
72
 
                                                   atom(CaseName),
73
 
                                                   list(Command),
74
 
                                                   integer(TimeTrap) ->
75
 
    case ?t:os_type() of
76
 
        {Family, _} when Family == unix; Family == win32 ->
77
 
            ?line run_drv_case(Config, CaseName, Command, TimeTrap);
78
 
        SkipOs ->
79
 
            ?line {skipped,
80
 
                   lists:flatten(["Not run on "
81
 
                                  | io_lib:format("~p",[SkipOs])])}
82
 
    end.
83
 
 
84
 
run_drv_case(Config, CaseName, Command, TimeTrap) ->
85
 
    ?line Dog = test_server:timetrap(test_server:seconds(TimeTrap)),
86
 
    ?line DataDir = ?config(data_dir,Config),
87
 
    case erl_ddll:load_driver(DataDir, CaseName) of
88
 
        ok -> ok;
89
 
        {error, Error} ->
90
 
            io:format("~s\n", [erl_ddll:format_error(Error)]),
91
 
            ?line ?t:fail()
92
 
    end,
93
 
    ?line Port = open_port({spawn, atom_to_list(CaseName)}, []),
94
 
    ?line true = is_port(Port),
95
 
    ?line Port ! {self(), {command, Command}},
96
 
    ?line Result = receive_drv_result(Port, CaseName),
97
 
    ?line Port ! {self(), close},
98
 
    ?line receive 
99
 
              {Port, closed} ->
100
 
                  ok
101
 
          end,
102
 
    ?line ok = erl_ddll:unload_driver(CaseName),
103
 
    ?line test_server:timetrap_cancel(Dog),
104
 
    ?line Result.
105
 
 
106
 
receive_drv_result(Port, CaseName) ->
107
 
    ?line receive
108
 
              {print, Port, CaseName, Str} ->
109
 
                  ?line ?t:format("~s", [Str]),
110
 
                  ?line receive_drv_result(Port, CaseName);
111
 
              {'EXIT', Port, Error} ->
112
 
                  ?line ?t:fail(Error);
113
 
              {'EXIT', error, Error} ->
114
 
                  ?line ?t:fail(Error);
115
 
              {failed, Port, CaseName, Comment} ->
116
 
                  ?line ?t:fail(Comment);
117
 
              {skipped, Port, CaseName, Comment} ->
118
 
                  ?line {skipped, Comment};
119
 
              {succeeded, Port, CaseName, ""} ->
120
 
                  ?line succeeded;
121
 
              {succeeded, Port, CaseName, Comment} ->
122
 
                  ?line {comment, Comment}
123
 
          end.