Changeset 85


Ignore:
Timestamp:
08/04/09 06:06:37 (3 years ago)
Author:
dom
Message:

Replace fix/eg_... files by fixtures:use_tree/2 files

Location:
trunk/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/directory_tester.erl

    r78 r85  
    55-module(directory_tester). 
    66-export ([init/2]). 
     7-export ([init/1]). 
    78 
     9init ([Directory, Node]) when is_list (Node) -> 
     10    init (Directory, list_to_atom (Node)). 
     11     
    812init (Directory, Node) -> 
    913    Compiler = spawn_link (compiler, init, [notify_me (compiler), Directory]), 
  • trunk/src/fixtures.erl

    r47 r85  
    99-export ([use_tree/3]). 
    1010-export ([use_tree/2]). 
     11-export ([unique_string/0]). 
    1112-include_lib ("kernel/include/file.hrl"). 
    1213 
     
    2829unique_string () -> 
    2930    Node = atom_to_list (node ()), 
     31    [Name, Host] = string: tokens (Node, "@"), 
    3032    [Mega, Sec, Micro] = [integer_to_list (X) || X <- tuple_to_list (now ())], 
    31     Node ++ "_" ++ Mega ++ "_" ++ Sec ++ "_" ++ Micro. 
     33    Name ++ "_at_" ++ Host ++ "_" ++ Mega ++ "_" ++ Sec ++ "_" ++ Micro. 
    3234 
    3335populate (Directory, [{file, Name, Content} | Tail]) -> 
  • trunk/src/tester_test.erl

    r73 r85  
    44 
    55-module (tester_test). 
    6 -export ([run_all/1]). 
     6-export ([run_all/1, run_all/0]). 
     7-test (run_all). 
     8 
     9run_all () -> 
     10    Name = list_to_atom (fixtures: unique_string ()), 
     11    {ok, Node} = slave: start_link (localhost, Name), 
     12    ok = run_all (Node), 
     13    ok = slave: stop (Node). 
    714 
    815run_all (Node) -> 
    9     runs_a_test (Node), 
    10     reruns_a_test_when_given_module (Node), 
    11     runs_given_tests (Node), 
    12     runs_given_test_sequence (Node), 
    13     reloads_corrected_module (Node), 
    14     deletes_a_module  (Node), 
    15     deletes_a_test_module  (Node), 
    16     notifies_a_message  (Node), 
    17     runs_new_tests_failed_then_successful  (Node), 
    18     ok. 
    19  
    20 send (Modules, Tester) -> 
    21     Paths = [modules: to_file_name (M, "../fix") || M <- Modules], 
     16     
     17    Fun = run_fun (Node), 
     18    ok = fixtures: use_tree (tree (), Fun). 
     19 
     20run_fun (Node) -> 
     21    fun (Root, _) -> 
     22            runs_a_test (Node, Root), 
     23            reruns_a_test_when_given_module (Node, Root), 
     24            runs_given_tests (Node, Root), 
     25            runs_given_test_sequence (Node, Root), 
     26            reloads_corrected_module (Node, Root), 
     27            deletes_a_module  (Node, Root), 
     28            deletes_a_test_module  (Node, Root), 
     29            notifies_a_message  (Node, Root), 
     30            runs_new_tests_failed_then_successful  (Node, Root), 
     31            ok 
     32    end. 
     33 
     34send (Root, Modules, Tester) -> 
     35    Paths = [modules: to_file_name (M, Root) || M <- Modules], 
    2236    Binaries = [modules: to_binary (P) || P <- Paths], 
    2337    false = lists: any (fun (M) -> code: is_loaded (M) end, Modules), 
     
    3145    fun (M) -> Self ! M end. 
    3246 
    33 runs_a_test (Node) -> 
    34     Tester = spawn_link (tester, init, [notify_me (), Node]), 
    35     [{2, 0, 0}, {2, 1, 1}, Error, {2, 2, 1}] = send ([eg_test], Tester), 
     47runs_a_test (Node, Root) -> 
     48    Tester = spawn_link (tester, init, [notify_me (), Node]), 
     49    [{2, 0, 0}, {2, 1, 1}, Error, {2, 2, 1}] = send (Root, [eg_test], Tester), 
    3650    {{badmatch, nok}, [{eg_test, nok, 0} | _]} = Error,  
    3751    ok. 
    3852 
    39 reruns_a_test_when_given_module (Node) -> 
    40     Tester = spawn_link (tester, init, [notify_me (), Node]), 
    41     [{1, 0, 0}, Error, {1, 1, 0}] = send ([eg_test_of_code], Tester), 
     53reruns_a_test_when_given_module (Node, Root) -> 
     54    Tester = spawn_link (tester, init, [notify_me (), Node]), 
     55    [{1, 0, 0}, Error, {1, 1, 0}] = send (Root, [eg_test_of_code], Tester), 
    4256    {undef, [{eg_code, ok, []}, {eg_test_of_code, ok, 0} | _]} = Error, 
    43     [{1, 0, 0}, {1, 1, 1}] = send ([eg_code], Tester), 
    44     ok. 
    45  
    46 runs_given_test_sequence (Node) -> 
    47     Tester = spawn_link (tester, init, [notify_me (), Node]), 
    48     [{2, 0, 0}, {2, 1, 1}, _, {2, 2, 1}] = send ([eg_test], Tester), 
    49     [{2, 0, 0}, _, {2, 1, 0}, {2, 2, 1}] = send ([eg_code], Tester), 
    50     Result = send ([eg_test_of_code], Tester), 
     57    [{1, 0, 0}, {1, 1, 1}] = send (Root, [eg_code], Tester), 
     58    ok. 
     59 
     60runs_given_test_sequence (Node, Root) -> 
     61    Tester = spawn_link (tester, init, [notify_me (), Node]), 
     62    [{2, 0, 0}, {2, 1, 1}, _, {2, 2, 1}] = send (Root, [eg_test], Tester), 
     63    [{2, 0, 0}, _, {2, 1, 0}, {2, 2, 1}] = send (Root, [eg_code], Tester), 
     64    Result = send (Root, [eg_test_of_code], Tester), 
    5165    [{3, 0, 0}, {3, 1, 1}, _, {3, 2, 1}, {3, 3, 2}] = Result, 
    5266    ok. 
    5367 
    54 runs_given_tests (Node) -> 
     68runs_given_tests (Node, Root) -> 
    5569    Tester = spawn_link (tester, init, [notify_me (), Node]), 
    5670    Modules = [eg_test, eg_code, eg_test_of_code], 
    57     Result = send (Modules, Tester), 
     71    Result = send (Root, Modules, Tester), 
    5872    [{3, 0, 0}, {3, 1, 1}, _, {3, 2, 1}, {3, 3, 2}] = Result, 
    5973    ok. 
    6074 
    61 reloads_corrected_module (Node) -> 
     75reloads_corrected_module (Node, _) -> 
    6276    Tester = spawn_link (tester, init, [notify_me (), Node]), 
    6377    Binary = modules: forms_to_binary (eg_test_form ("nok")), 
     
    7286    ok. 
    7387 
    74 deletes_a_module (Node) -> 
    75     Tester = spawn_link (tester, init, [notify_me (), Node]), 
    76     [{1, 0, 0}, {1, 1, 1}] = send ([eg_test_of_code], Tester), 
     88deletes_a_module (Node, Root) -> 
     89    Tester = spawn_link (tester, init, [notify_me (), Node]), 
     90    [{1, 0, 0}, {1, 1, 1}] = send (Root, [eg_test_of_code], Tester), 
    7791    Tester ! {delete,[eg_code]}, 
    7892    [{1, 0, 0}, Error, {1, 1, 0}] = receive_all ([]), 
    7993    {undef, [{eg_code, ok, []}, {eg_test_of_code, ok, 0} | _]} = Error, 
    80     [{1, 0, 0}, {1, 1, 1}] = send ([eg_code], Tester), 
    81     ok. 
    82  
    83 deletes_a_test_module (Node) -> 
    84     Tester = spawn_link (tester, init, [notify_me (), Node]), 
    85     [{1, 0, 0}, {1, 1, 1}] = send ([eg_test_of_code], Tester), 
     94    [{1, 0, 0}, {1, 1, 1}] = send (Root, [eg_code], Tester), 
     95    ok. 
     96 
     97deletes_a_test_module (Node, Root) -> 
     98    Tester = spawn_link (tester, init, [notify_me (), Node]), 
     99    [{1, 0, 0}, {1, 1, 1}] = send (Root, [eg_test_of_code], Tester), 
    86100    Tester ! {delete,[eg_test_of_code]}, 
    87101    [{0, 0, 0}] = receive_all ([]), 
    88     [{1, 0, 0}, {1, 1, 1}] = send ([eg_test_of_code], Tester), 
    89     ok. 
    90  
    91 notifies_a_message (Node) -> 
     102    [{1, 0, 0}, {1, 1, 1}] = send (Root, [eg_test_of_code], Tester), 
     103    ok. 
     104 
     105notifies_a_message (Node, _) -> 
    92106    Tester = spawn_link (tester, init, [notify_me (), Node]), 
    93107    Test_message = "this is a message", 
     
    96110    ok. 
    97111 
    98 runs_new_tests_failed_then_successful (Node) -> 
     112runs_new_tests_failed_then_successful (Node, Root) -> 
    99113    Tester = spawn_link (tester, init, [notify_me (), Node]), 
    100114    Modules = [eg_code, eg_test_of_code_failed], 
    101     Result = send (Modules, Tester), 
     115    Result = send (Root, Modules, Tester), 
    102116    [{1, 0, 0}, Error, {1, 1, 0}] = Result, 
    103117    {{badmatch, bad_eg_code}, _} = Error, 
    104118     
    105     Result_after_new_test = send ([eg_test_not_exports], Tester), 
     119    Result_after_new_test = send (Root, [eg_test_not_exports], Tester), 
    106120    [{2, 0, 0}, {2, 1, 1}, Error, {2, 2, 1}] = Result_after_new_test, 
    107121 
    108     New_run = send ([eg_test_of_code], Tester), 
     122    New_run = send (Root, [eg_test_of_code], Tester), 
    109123    [{3, 0, 0}, {3, 1, 1}, Error, {3, 2, 1}, {3, 3, 2}] = New_run, 
    110124    ok. 
     
    144158     {eof,7}]. 
    145159 
     160tree () -> 
     161    [{file, "eg_test.erl", 
     162      ["-module (eg_test).", 
     163       "-test (exports).", 
     164       "-export ([ok/0, nok/0]).", 
     165       "ok () ->", 
     166       "    ok = list_to_existing_atom (\"ok\").", 
     167       "nok () ->", 
     168       "    ok = list_to_existing_atom (\"nok\")."]}, 
     169     {file, "eg_test_of_code.erl", 
     170      ["-module (eg_test_of_code).", 
     171       "-test (exports).", 
     172       "-export ([ok/0]).", 
     173       "ok () ->", 
     174       "    ok = eg_code: ok ()."]}, 
     175     {file, "eg_code.erl", 
     176      ["-module (eg_code).", 
     177       "-export ([ok/0]).", 
     178       "ok () ->", 
     179       "    ok."]}, 
     180     {file, "eg_test_of_code_failed.erl", 
     181      ["-module (eg_test_of_code_failed).", 
     182       "-test (exports).", 
     183       "-export ([ok/0]).", 
     184       "", 
     185       "ok () ->", 
     186       "    Result = eg_code: ok (),", 
     187       "    Result = bad_eg_code."]}, 
     188     {file, "eg_test_not_exports.erl", 
     189      ["-module (eg_test_not_exports).", 
     190       "-test (ok).", 
     191       "-export ([ok/0, nok/0]).", 
     192       "ok () ->", 
     193       "    ok = list_to_existing_atom (\"ok\").", 
     194       "nok () ->", 
     195       "    ok = list_to_existing_atom (\"nok\")."]} 
     196    ]. 
     197 
     198 
     199 
     200 
    146201%%% Test to be added: 
    147202%%% tests that never end (e.g. infinite loop) 
Note: See TracChangeset for help on using the changeset viewer.