Changeset 10 for trunk


Ignore:
Timestamp:
11/06/07 17:22:06 (5 years ago)
Author:
dom
Message:

Refactoring tests of compile events before adding new ones

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/test_files_acceptance.erl

    r4 r10  
    142142      [foo(), bad_bar(), baz()], 
    143143      fun (Server, _, _) -> 
    144               Messages = 
    145                   lists:reverse ( 
    146                     lists:foldl ( 
    147                       fun (_, Acc) -> 
    148                               Received = 
    149                                   receive {Server, Msg} -> Msg 
    150                                   after 30000 -> timeout end, 
    151                               [Received | Acc] 
    152                       end, 
    153                       [], 
    154                       lists:seq (1, 12))), 
    155               check_multi_module_messages (Messages) 
     144              Pairs = receive_event_dashboard_pairs (6, Server), 
     145              {Module_events, Compile_events} = lists:split (3, Pairs), 
     146              check_module_events (Module_events, ["bar", "baz", "foo"]), 
     147              check_compile_events (Compile_events, [baz, foo], ["bar"]) 
    156148      end). 
    157149 
     
    547539              {dashboard, {{modules, 1, 0, 1}, {unit, 0, 0, 0}, {acceptance, 0, 0, 0}}} = receive_one_from (Server) 
    548540      end). 
     541 
     542receive_event_dashboard_pairs (N, Server) -> 
     543              Messages = 
     544                  lists:reverse ( 
     545                    lists:foldl ( 
     546                      fun (_, Acc) -> 
     547                              Received = 
     548                                  receive {Server, Msg} -> Msg 
     549                                  after 30000 -> timeout end, 
     550                              [Received | Acc] 
     551                      end, 
     552                      [], 
     553                      lists:seq (1, N * 2))), 
     554    Make_pairs = 
     555        fun (Event, {[], Pairs}) -> 
     556                {[Event], Pairs}; 
     557            (Dashboard, {[Event], Pairs}) -> 
     558                {[], [{Event, Dashboard} | Pairs]} 
     559        end, 
     560    {[], Pairs} = lists:foldl (Make_pairs, {[], []}, Messages), 
     561    lists:reverse (Pairs). 
     562 
     563check_module_events (Pairs, Expected) -> 
     564    {_, Modules} = 
     565        lists:foldl ( 
     566          fun ({{event, {Module, {module, uncompiled}, _}}, 
     567                {dashboard, {{modules, 0, 0, Count}, {unit, 0, 0, 0}, {acceptance, 0, 0, 0}}}}, 
     568               {Count, Modules}) -> 
     569                  {Count + 1, [Module | Modules]} 
     570          end, 
     571          {1, []}, 
     572          Pairs), 
     573    Expected = lists:sort (Modules). 
     574 
     575check_compile_events (Pairs, Expected_compiled, Expected_errors) -> 
     576    Simplified = 
     577        [{Mod, Result, Yes, No, Total} 
     578         || {{event, {Mod, {module, Result}, _}}, {dashboard, {{modules, Yes, No, Total}, {unit, 0, 0, 0}, {acceptance, 0, 0, 0}}}} 
     579                <- Pairs], 
     580    Expected_compiled = 
     581        lists:sort ( [Mod || {Mod, compiled, _, _, _} <- Simplified]), 
     582    Expected_errors = 
     583        lists:sort ([Mod || {Mod, errors, _, _, _} <- Simplified]), 
     584    Total = length (Expected_errors) + length (Expected_compiled), 
     585    lists:foldl ( 
     586      fun ({_, Result, Yes, No, T}, {Old_yes, Old_no}) when T == Total -> 
     587              case Result of 
     588                  compiled -> 
     589                      Yes = Old_yes + 1, 
     590                      No = Old_no; 
     591                  errors -> 
     592                      Yes = Old_yes, 
     593                      No = Old_no + 1 
     594              end, 
     595              {Yes, No} 
     596      end, 
     597      {0, 0}, 
     598      Simplified). 
Note: See TracChangeset for help on using the changeset viewer.