Changeset 37


Ignore:
Timestamp:
08/26/08 18:47:29 (3 years ago)
Author:
dom
Message:

Changed tester to receive list of modules to test, not individual modules.

Location:
trunk/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shells.erl

    r34 r37  
    99        receive {Self, done} -> ok; 
    1010                M -> io:fwrite ("tests_crash: ~p~n", [M]) 
     11        after 20000 -> throw ("tests timed out~n") 
    1112        end 
    1213 
     
    2728    ok = tester_test: runs_a_test (Test_node), 
    2829    ok = tester_test: reruns_a_test_when_given_module (Test_node), 
     30    ok = tester_test: runs_given_test_sequence (Test_node), 
    2931    ok = tester_test: runs_given_tests (Test_node), 
    3032    Caller ! {Caller, done}. 
  • trunk/src/tester.erl

    r34 r37  
    1515loop (State) -> 
    1616    receive 
    17         {_, _} = Module -> 
    18             loop (test (load (Module, State))); 
    19         _ -> 
    20             loop (State) 
     17        Modules -> 
     18            loop (test (load (Modules, State))) 
    2119    end. 
    2220 
    23 load ({File_name, Binary}, State) -> 
     21load (Modules, State) -> 
     22    lists: foldl (fun load_aux/2, State, Modules). 
     23 
     24load_aux ({File_name, Binary}, State) -> 
    2425    {Module, Tests} = tests: filter_by_attribute (Binary), 
    2526    Node = dict: fetch (node, State), 
  • trunk/src/tester_test.erl

    r34 r37  
    55-module (tester_test). 
    66-export ([runs_a_test/1, reruns_a_test_when_given_module/1]). 
    7 -export ([runs_given_tests/1]). 
     7-export ([runs_given_tests/1, runs_given_test_sequence/1]). 
    88 
    99start_tester (Node) -> 
     
    1212    spawn_link (tester, init, [Notify, Node]). 
    1313 
    14 send (Module, Tester) -> 
     14fixture_path (Module) -> 
    1515    File_name = atom_to_list (Module) ++ ".erl", 
    16     Path = filename: join ("../fix", File_name), 
    17     Binary = modules: to_binary (Path), 
    18     false = code: is_loaded (Module), 
    19     Tester ! {Path, Binary}, 
     16    filename: join ("../fix", File_name). 
     17     
     18send (Modules, Tester) -> 
     19    Paths = [fixture_path (M) || M <- Modules], 
     20    Binaries = [modules: to_binary (P) || P <- Paths], 
     21    false = lists: any (fun (M) -> code: is_loaded (M) end, Modules), 
     22    Tester ! lists: zip (Paths, Binaries), 
    2023    Results = receive_all ([]), 
    21     false = code: is_loaded (Module), 
     24    false = lists: any (fun (M) -> code: is_loaded (M) end, Modules), 
    2225    Results. 
    2326     
    2427runs_a_test (Node) -> 
    2528    Tester = start_tester (Node), 
    26     [{2, 0, 0}, {2, 1, 1}, Error, {2, 2, 1}] = send (eg_test, Tester), 
     29    [{2, 0, 0}, {2, 1, 1}, Error, {2, 2, 1}] = send ([eg_test], Tester), 
    2730    {{badmatch, nok}, [{eg_test, nok, 0} | _]} = Error,  
    2831    ok. 
     
    3033reruns_a_test_when_given_module (Node) -> 
    3134    Tester = start_tester (Node), 
    32     [{1, 0, 0}, Error, {1, 1, 0}] = send (eg_test_of_code, Tester), 
     35    [{1, 0, 0}, Error, {1, 1, 0}] = send ([eg_test_of_code], Tester), 
    3336    {undef, [{eg_code, ok, []}, {eg_test_of_code, ok, 0} | _]} = Error, 
    34     [{1, 0, 0}, {1, 1, 1}] = send (eg_code, Tester), 
     37    [{1, 0, 0}, {1, 1, 1}] = send ([eg_code], Tester), 
     38    ok. 
     39 
     40runs_given_test_sequence (Node) -> 
     41    Tester = start_tester (Node), 
     42    [{2, 0, 0}, {2, 1, 1}, _, {2, 2, 1}] = send ([eg_test], Tester), 
     43    [{2, 0, 0}, {2, 1, 1}, _, {2, 2, 1}] = send ([eg_code], Tester), 
     44    Result = send ([eg_test_of_code], Tester), 
     45    [{3, 0, 0}, {3, 1, 1}, _, {3, 2, 1}, {3, 3, 2}] = Result, 
    3546    ok. 
    3647 
    3748runs_given_tests (Node) -> 
    3849    Tester = start_tester (Node), 
    39     [{2, 0, 0}, {2, 1, 1}, _, {2, 2, 1}] = send (eg_test, Tester), 
    40     [{2, 0, 0}, {2, 1, 1}, _, {2, 2, 1}] = send (eg_code, Tester), 
    41     Result = send (eg_test_of_code, Tester), 
     50    Modules = [eg_test, eg_code, eg_test_of_code], 
     51    Result = send (Modules, Tester), 
    4252    [{3, 0, 0}, {3, 1, 1}, _, {3, 2, 1}, {3, 3, 2}] = Result, 
    4353    ok. 
Note: See TracChangeset for help on using the changeset viewer.