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

« back to all changes in this revision

Viewing changes to lib/et/test/et_wx_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 2009-2011. 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
-module(et_wx_SUITE).
 
20
 
 
21
-export([all/0, suite/0,groups/0,init_per_group/2,end_per_group/2, 
 
22
         init_per_suite/1, end_per_suite/1, 
 
23
         init_per_testcase/2, end_per_testcase/2]).
 
24
 
 
25
-compile(export_all).
 
26
 
 
27
-include("et_test_lib.hrl").
 
28
 
 
29
%% Initialization functions.
 
30
init_per_suite(Config) ->
 
31
    et_test_lib:wx_init_per_suite(Config).
 
32
 
 
33
end_per_suite(Config) ->
 
34
    et_test_lib:wx_end_per_suite(Config).
 
35
 
 
36
init_per_testcase(Func,Config) ->
 
37
    et_test_lib:init_per_testcase(Func,Config).
 
38
end_per_testcase(Func,Config) -> 
 
39
    et_test_lib:end_per_testcase(Func,Config).
 
40
 
 
41
%% SUITE specification
 
42
suite() -> [{ct_hooks,[ts_install_cth]}].
 
43
 
 
44
all() -> 
 
45
    [start_all_windows].
 
46
 
 
47
groups() -> 
 
48
    [].
 
49
 
 
50
init_per_group(_GroupName, Config) ->
 
51
    Config.
 
52
 
 
53
end_per_group(_GroupName, Config) ->
 
54
    Config.
 
55
 
 
56
 
 
57
%% The test cases
 
58
 
 
59
%% Display all windows and see if something crashes
 
60
start_all_windows(TestInfo) when is_atom(TestInfo) ->
 
61
    et_test_lib:tc_info(TestInfo);
 
62
start_all_windows(_Config) ->
 
63
    process_flag(trap_exit, true),
 
64
    {ok, ViewerPid} = ?msym({ok, _}, et_viewer:start_link([])),
 
65
    CollectorPid = et_viewer:get_collector_pid(ViewerPid),      
 
66
    ?msym({ok, _}, et_collector:report_event(CollectorPid,
 
67
                                             60,
 
68
                                             some_from_actor,
 
69
                                             some_to_actor,
 
70
                                             some_label, 
 
71
                                             "Some details")),
 
72
    timer:sleep(timer:seconds(1)),
 
73
 
 
74
    {ok, EventPid1} = ?msym({ok, _}, et_viewer:open_event(ViewerPid, 1)),
 
75
    {ok, EventPid2} = ?msym({ok, _}, et_viewer:open_event(ViewerPid, 1)),
 
76
    timer:sleep(timer:seconds(10)),
 
77
 
 
78
    ?msym(alive, process_state(ViewerPid)),
 
79
    ?msym(alive, process_state(CollectorPid)),
 
80
    ?msym(alive, process_state(EventPid1)),
 
81
    ?msym(alive, process_state(EventPid2)),
 
82
 
 
83
    ?m(ok, et_wx_contents_viewer:stop(EventPid1)),
 
84
    timer:sleep(timer:seconds(1)),
 
85
 
 
86
    ?msym(alive, process_state(ViewerPid)),
 
87
    ?msym(alive, process_state(CollectorPid)),
 
88
    ?msym(dead,  process_state(EventPid1)),
 
89
    ?msym(alive, process_state(EventPid2)),
 
90
 
 
91
    ?m(ok, et_viewer:stop(ViewerPid)),
 
92
    timer:sleep(timer:seconds(1)),
 
93
 
 
94
    ?msym(dead, process_state(ViewerPid)),
 
95
    ?msym(dead, process_state(CollectorPid)),
 
96
    ?msym(dead, process_state(EventPid1)),
 
97
    ?msym(dead, process_state(EventPid2)),
 
98
 
 
99
    ?m([], et_test_lib:flush()),
 
100
 
 
101
    ok.
 
102
 
 
103
process_state(Pid) ->
 
104
    case process_info(Pid, group_leader) of
 
105
        {group_leader, _} -> alive;
 
106
        undefined         -> dead
 
107
    end.